8 нояб. 2008 г.

Монтирование NTFS USB-HDD средствами HAL через ntfs-3g

Объемы переносимых в кармане данных растут, однако все равно не поспевают за ростом вместимости USB-HDD (если только не таскать порево в HDTV =). Однако основная идея переносных хардов остается та же - скачать с одной машины, закачать на другую. И чтобы "фсе само". Поэтому форматирование таких девайсов в подавляющем большинстве случаев - NTFS. И это логично, ибо FAT32 с такими объемами - не резон, банально DVD iso не записать, а ext2/3/reiser - неудобно при общении с win-хостами, которых большинство. Посему, втыкая переноску в свою suse-машинку, мне приходится перемонтировать ее вручную, ибо HAL ее монтирует с обычным ntfs-драйвером, который позволяет только читать... Отсюда задача - подружить HAL с ntfs-3g, который уже сто лет как стабилен и пишет на ntfs-разделы без "всяких-яких".
Умолчально считаем, что пакет, собранный для вашего дистрибутива у вас уже стоит (скачать можно отсюда, пакетов куча под кучу дистров), или собрать самому из сорцев. К примеру, для Debian Etch пакетика не нашлось, пришлось компилить =).
Вдохновение по сабжу пришло отсюда, за что "музам" спасибочки. Итак, действия следующие. Создаем файлик /usr/share/hal/fdi/policy/10osvendor/10-ntfs-policy.fdi вот с такими внутренностями:

После этого вставленная переноска смонтируется как обычно и куда обычно, однако в качестве монтировщика будет выступать уже ntfs-3g, со всеми вытекающими. Опция force вынужденная - очень часто ntfs-3g ругается на некорректное размонтирование харда в win-системе и необходимости виндового же chkdsk'a, который хде ему возьму =). В итоге, все работает, пока нареканий или проблем с чтением файла на win-машинах я не встречал.
PS: не от хорошей жизни вместо кода висит скриншот - сцуко гугел понимает xml-теги как теги ;) и не хочет корректно отображать их на странице. И я хз как это все экранировать.