LinuxOpen.ru > библиотека > Русский при автомонтировании USB винчестеров побеждён!

Русский при автомонтировании USB винчестеров побеждён!


8 февраля 2008. Разместил: root
Поиски в сети на эту тему во многих форумах предлагают полумеру. То есть прописать в 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"?> , я заменил указание кодировки по умолчанию на и диски стали монтироваться с возможностью чтения русских катологов и файлов.