LINUX.ORG.RU

Автомонтирование NTFS раздела с USB HDD (Debian Linux, без KDE, без Gnome)


0

0

Есть у меня парочка USB HDD, которые надо использовать и под Windows, и под Linux. Поэтому на обоих винтах NTFS разделы, благо ntfs-3g появился. На одном винте раздел имеет метку USBHDD-1, на другом USBHDD-2.

На компе стоит Debian Linux (Etch), совершенно без Иксов, KDE и Gnome естесственно. Вообще глобальная задача такая: чтобы при подключении usb hdd автоматически с него игралась музыка (mp3, ogg, flac, etc). Но это будет не трудно - запускать плеер.

А вот проблема с автомонтированием. Знаю про ivman. Скачал, установил, но он почему-то пытается примонтировать ntfs как fat, только потом узнает его как ntfs и подвисает наглухо, что ни убить.

Хочется чтобы при подключении винта он монтировался в /media/USBHDD-1 или /media/USBHDD-2 соответственно.

Помогите, скажите может кто разбирался с такой задачкой.

anonymous

В Мандрейке был патч для ядра supermount, вроде он таким занимался.

Могу ошибаться.

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

Еще раз обрисую ситуацию.

Надо чтобы при втыкании usb hdd или флэшки происходило автоматическое:
- определение файловой системы
- определение метки раздела (label)
- монтирование в /media/{label}

А при жестком (без предварительного umount) выдирании происходил umount.

anonymous
()

Я думаю, тут надо всего-лишь подкрутить под себя правила udev'а. А чтобы ntfs при вытаскивании без отмонтирования не билась - монтировать в ro, т.е. ntfs3g даже не особо нужен, хватит ядерного ntfs.

Deleted
()
Ответ на: комментарий от Deleted

Да, достаточно будет монтировать в read-only, но как указать параметры монтирования для ntfs?

ivman, pmount - документированы ужасно! :(

anonymous
()
Ответ на: комментарий от anonymous

Тебе достаточно только udev'а ИМХО. У него есть возможность запускать команды на появление и удаление устройства. Вот и запускай на появление - mount и проигрыватель, а на удаление - killall -9 проигрыватель и umount -f.

Deleted
()
Ответ на: комментарий от Ej_Pulsar

плюс можно в этих же строках задавать опции монтирования

Ej_Pulsar
()
Ответ на: комментарий от Deleted

Спасибо, действительно udev'а достаточно.

Написал два скрипта: на появление block устройства и удаление его.
Скрипт первый узнаёт от udev метку диска, создает папку в /media и монтирует с опциями в зависимости от файловой системы. Второй скрипт делает umount и удаляет точку монтирования из /media. Кажется, неплохо получилось.

Осталось только Music On Console в эти скрипты прописать, чтобы в поейлист добавлять примонтированные папки.

И еще один конфуз. А что, если диск уже был подключен во время включения или до включения машины? udev уже не обрабатывает такое :(

anonymous
()
Ответ на: комментарий от anonymous

Нашел решение - udevtrigger - заново запускает события для устройств по маске

# udevtrigger --subsystem-match=block
запустит для всех устройств block скрипты

Добавил в скрипт подключения проверку, не подмонтировано ли уже устройство. Также скрипт пропускает устройства, на которых не найдена файловая система.

Скрипт отключения проверяет, было ли вообще устройство подмонтировано.

Теперь надо добавить в стартовые скрипты udevtrigger.
Сделал /etc/init.d/udevtrigger-block, на него символическую ссылку в /etc/rc2.d/S92udevtrigger-block. Вроде заработало, только почему-то на самом старте системы, еще до ALSA и шрифтов... Это нормально? Может надо после них?

anonymous
()
Ответ на: комментарий от anonymous

Сейчас подумал и понял что надо обязательно тот скрипт запускать после ALSA, ведь в нем же будет запуск Music On Console.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.