Автомонтирование

Phobos

Пользователь
В общем купил себе USB HDD (120GB SATA), в принципе полезная вещь вот только пользуюсь KDE (авто монтирует диски, так же быстро можно отмонтировать) и монтируется почему плохо ntfs раздел :
если ставлю в свойствах подключения -> подключить используя права пользователя
то получаю ошибку при подключении: TODO: have to rethink extra options
если убираю галочку, то монтирует но не показывает файлы с русскими именами (которые там уже записанны) и не записывает файлы с русскими именами, с английскими все нормально.
если же монтируем из под root'а :mount /dev/sdc1 /media/storejet
то все нормально, все работает как надо (запись/чтение)
можно ли подправить в настройках KDE чтоб он нормально монтировал, как я понимаю проблема в кодировке.
помогите пожалуйста.
 

Mike22

Местный
При автоматическом монтировании много чего происходит -
задействуются udev. HAL, D-BUS и напрямую на KDE автомонтирование не завязано, точно так-же оно и под Gnome`ом и под другим DE происходит.
В принципе проблема решается редактированием правил udev - /etc/udev/rules.d
в правилах udev можно все параметры монтирования описывать,
нужное вам правило скорее всего в 50-udev-default.rules
надо или его подправить (будьте внимательны) или своё написать на конкретное устройство.
Вообще-то тут есть варианты - ntfs раздел можно монтировать и через модуть ядра и через fuse.
Вобщем у вас простор для творчества :D
Вот книжка на ночь - http://www.reactivated.net/writing_udev_rules.html :lol:
Кстати, возможно достаточно будет просто обновить udev.

Расскажите удалось-ли решить проблему.
 

Phobos

Пользователь
в общем бегло просмотрел "книжку на ночь"
добавил строку в 50-udev-default.rules
Код:
KERNEL=="sd*", SUBSYSTEMS="scsi", ATTRS{model}=="USB 2.0 Storage Device", SYMLINK+="usbhd%n"
но не помогло диск все ровно монтируется в /media/disk
может из-за того что в других файлах таких как 60-persistent-storage.rules есть
Код:
KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export %p"
KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted --fallback-to-sysfs -s %p -d $tempnode"
KERNEL=="cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted --ignore-sysfs -s %p -d $tempnode", ENV{ID_BUS}="cciss"
KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
KERNEL=="sd*[0-9]|cciss*p[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"

# libata compat (links like hd*)
KERNEL=="sd*[!0-9]|sr*", ENV{ID_VENDOR}=="ATA", PROGRAM="ata_id $tempnode", RESULT=="?*", ENV{ID_ATA_COMPAT}="$result", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}"
KERNEL=="sd*[0-9]", ENV{ID_ATA_COMPAT}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}-part%n"
может одна из этих строчек влияет на то что устройство так же монтируется?
 

Phobos

Пользователь
в fstab нет ничего лишнего ?
если честно не знаю что там лишнего
Код:
LABEL=/				 /					   ext3	defaults		1 1
LABEL=/boot1			/boot				   ext3	defaults		1 2
tmpfs				   /dev/shm				tmpfs   defaults		0 0
devpts				  /dev/pts				devpts  gid=5,mode=620  0 0
sysfs				   /sys					sysfs   defaults		0 0
proc					/proc				   proc	defaults		0 0
LABEL=SWAP-sda5		 swap					swap	defaults		0 0
/dev/sdb1		/media/best		ext3	defaults		0 0
уверен только насчёт последней строчки (т.к. сам дописывал), а так на форумах почитал, вроде это только глюк КДЕ, т.к. говорят в гноме нормально работает (сам не проверял), в общем жду КДЕ4 может там все будет норм, ну или другой вариант - учится работать под гномом, когда надоест возится с КДЕ :unsure:
 

Mike22

Местный
... монтируется плохо ntfs раздел :
если ставлю в свойствах подключения -> подключить используя права пользователя
то получаю ошибку при подключении: TODO: have to rethink extra options
если убираю галочку, то монтирует но не показывает файлы с русскими именами (которые там уже записанны) и не записывает файлы с русскими именами, с английскими все нормально.
Может это и правда глюк КДЕ?
Что это за приложение/служба/компонент в которой вы эти опции выставляете? Надо бы почитать про неё.
У меня КДЕ нет, помочь не могу с ним.
... на форумах почитал, вроде это только глюк КДЕ, т.к. говорят в гноме нормально работает (сам не проверял),
в общем жду КДЕ4 может там все будет норм, ну или другой вариант - учится работать под гномом, когда надоест возится с КДЕ :)
В Гноме с вашей проблемой никогда не сталкивался, всё действительно работает нормально.

А КДЕ 4.0.0 вышел уже. Правда даже большие его (КДЕ) любители несколько неоднозначно его приняли.
К тому-же нормально работать в КДЕ 4.0.0 невозможно, это ещё очень сырая система.
Версия 4.1 ожидается к лету-осени.
 

Phobos

Пользователь
проблему с 'TODO: have to rethink extra options' решал так как и в последнем посту
1. Right click all your drives choose Properties->Mounting and uncheck "Mount as User".
но второе действие не делал, не знаю для чего оно, но сейчас добавил - вроде нечего и не изменилось.
2. Open /etc/PolicyKit/PolicyKit.conf
...
 

Phobos

Пользователь
вобщем решил вернуться к этой теме, поискал решения вроде нашел
http://linuxopen.ru/2008/02/08/russkijj-pr...ovanii-usb.html
попробывал - работает :huh:
ниже приведен текст ссылки



У многих возникает проблема в KDE при автоматическом монтировании USB винчестеров с NTFS разделом. Файлы, в наименовании которых есть русские буквы не отображаются.


Поиски в сети на эту тему во многих форумах предлагают полумеру. То есть прописать в fstab конкретные опции монтирования. Но это приводит к некоторым затруднениям. А именно: если винчестер не воткнут, то при старте системы - он не монтируется и вызывает запись в логах об ошибке монтирования. Кроме того, при уже запущенной системе в диалоге автомонтирования тоже присходит сбой. Приходится ручками монтировать этот раздел.

Попытки править autofstab тоже не приводят ни к чему. Потому как автомонтирование выполняется не autofs, а HAL. К сожалению попытки прийти к какому-нибудь согласию между разработчиками HAL и ntfs-3g (именно этот драйвер используется при монтировании NTFS разделов) ни к чему не привели. Потому я хочу поделиться способом быстрого решения этой проблемы хотя бы для Linux Fedora.

Идея такова:

При монтировании дисков HAL производит запуск дарайверов файловых систем с параметрами. В частности ntfs. Но для NTFS разделов не может передать правильные параметры для включения нужной локали.

Для HAL мы сначала создаём файл, однозначно указывающий, что для NTFS будет использоваться драйвер ntfs-3g.

/usr/share/hal/fdi/policy/10osvendor/10-ntfs-policy.fdi

Код:
‹?xml version="1.0" encoding="UTF-8"?>
‹deviceinfo version="0.2">
‹!-- mount ntfs volume with the ntfs-3g driver to enable write support -->
‹device>
‹match key="volume.fstype" string="ntfs">
‹match key="@block.storage_device:storage.hotpluggable" bool="true">
‹merge key="volume.fstype" type="string">ntfs-3g
‹merge key="volume.policy.mount_filesystem" type="string">ntfs-3g
‹/match>
‹/match>
‹/device>
‹/deviceinfo>

Потом мы просто можем переписать файл /sbin/mount.ntfs

удалив или переименовав символическую ссылку с таким именем, и на ее место записав файл следующего содержания:

Код:
#!/bin/bash
/bin/ntfs-3g -o locale=ru_RU.UTF-8 $1 $2

Не забудьте установить на этот файл атрибуты запуска root-ом и группой fuse

Эти действия просто в тупую заставляют использовать для драйвера ntfs-3g локаль UTF-8.

После этого при атоматическом монтировании на всех переносных устройствах с NTFS разделами будут отображаться папки и файлы с русскими буквами.

Новость по материалам ntfs-3g форума.

Дополнение от читателя LinuxOpen.ru:
Есть небольшое предложение. В первой строчке приведенного Вами файла есть указание на используемую кодировку, а именно ‹? xml version="1.0" encoding="ru_RU.UTF-8"?> , я заменил указание кодировки по умолчанию на и диски стали монтироваться с возможностью чтения русских катологов и файлов.
 
Сверху