LINUX.ORG.RU

Freebsd, внешний NTFS винт, русские имена в Gnome automount


0

2

Есть FreeBSD + Gnome. devd настроен на автомонтирование разделов, всё монтируется. Но вот русских имён файлов - нет и записать на ntfs-раздел - нельзя.

Если бы винт не внешний, можно было бы поставить ntfs3g и монтировать в через fstab. Но тут - непонятно как ntfs3g интегрировать с hald (?), да ещё и с русскими буквами.

P.S. В чистой консоли русских пока нет, но в gnome-terminal есть, локаль включена UTF-8, хотя, русский появился только в добавление в .cshrc

setenv MM_CHARSET KOI8-R
setenv LC_CTYPE ru_RU.KOI8-R
setenv LC_COLLATE ru_RU.KOI8-R

непонятно как ntfs3g интегрировать с hald (?), да ещё и с русскими буквами


Что не понятного? Создаёшь конфиг для автомонтирования (гугл в помощь).

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

Рабочего варианта пока так и не получил, надеялся, кто-то поделится конфигом.

А в /usr/local/share/doc/ntfs-3g/README.FreeBSD пишут ужасные вещи:

1. Rename /sbin/mount_ntfs, symlink ntfs-3g as the former, and use just "ntfs"
   as the type in /etc/fstab.
   $ mv /sbin/mount_ntfs /sbin/mount_ntfs-kern
   $ ln -s /usr/sbin/mount_ntfs-3g /usr/sbin/mount_ntfs
2. Apply a patch to src/sbin/mount/mount.c to add "ntfs-3g" as a valid type.
3. Apply a patch to src/sbin/mount/mount.c to make it work like in 6.x (better
   than the previous one as will allow any external type). It can be found at:
   http://people.freebsd.org/~alepulver/current-7.0-mount.diff
maxkit ()
Ответ на: комментарий от maxkit

В качественной системе так и надо. Патчим, не стесняемся

Извините за безполезный пост, но в одном топике iZEN уже так достал своим заученым наизусть «качественная система, с продуманным и надежным софтом, стабильным ABI» на это г-но.

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

Нет, мне снобизм не позволит грубо патчить систему, я лучше вручную буду монтировать.

Так при чём тут качество системы? Linux вот какой-нибудь ufs2 тоже не очень хорошо читает, что ж теперь. Да и потом, это не совсем по делу камень в сторону FreeBSD, потому как в Linux вообще почти каждый создатель дистрибутива патчит всё под себя, вплоть до ядра.

Кстати, меня вот какая мысль посетила: hal при перезагрузке или выключении умеет размонтировать примонтированные автоматически в Gnome NTFS-разделы?

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

Кстати, меня вот какая мысль посетила: hal при перезагрузке или выключении умеет размонтировать примонтированные автоматически в Gnome NTFS-разделы?

Кажись делал всегда, а что?

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

Да просто на FreeBSD-шных форумах прочёл, кто-то писал, мол, без патча mount hal не размонтирует. Ещё вспомнил, как мой внешний NTFS содержал ошибки ФС после пользования им в Ubuntu, обнаружилось, когда в максимальную его подключил.

maxkit ()

>В чистой консоли русских пока нет, но в gnome-terminal есть, локаль включена UTF-8

Давно ли чистая консоль во фре поддерживает UTF? О там как русифицировать консоль есть в хэндбуке, как поиметь UTF в инксах есть в интырнете. Так что дерзайте.

Ygor ★★★★★ ()

Судя по этому как то криво там fuse работает.

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

Что ж Вы спрашиваете, когда всем известно, что консоль во FreeBSD не поддерживает UTF-8, что является своеобразным «а у вас негров линчуют» со стороны линуксистов.

Вопрос не о русификации консоли, а о том, как монтировать внешние накопители, отформатированные в NTFS так, чтобы там были русские буквы. Я пока - не нашёл, как.

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

Ну установи UTF-8 в качестве системной локали в иксах.

Заодно погляди на правила во всех этих hal приблудах.

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

Хотя по идее при добавлении этой опции (точнее опцию можно поглядеть в мане на ntfs-3g) оно всегда будет отображаться в KOI8-R что тебе и надо. Другое дело fat...

Ygor ★★★★★ ()

Ставить fusefs-ntfs 2010.3.6 (порт sysutils/fusefs-ntfs). Читать, как правильно монтировать NTFS через FUSE.

P.S.

Большего сказать не могу — ни разу не понадобилось, не настраивал.

P.P.S.

В Xfce4 монтирование с локализацией настраивается в файле /usr/local/etc/xdg/xfce4/mount.rc:

[vfat]
uid=<auto>
shortname=winnt
# FreeBSD specific option
longnames=true
-L=ru_RU.UTF-8
-D=CP866
-m=0664
-M=0775

[iso9660]
uid=<auto>
longnames=true
-C=UTF-8
-m=0664
-M=0775

[udf]
uid=<auto>
iocharset=<auto>

[ntfs]
uid=<auto>
#тут чё-нить поставь для родного драйвера NTFS

[ntfs-3g]
uid=<auto>
# Make sure the device does not get 0777 permissions
umask=0077
#тут чё-нить поставь для драйвера NTFS-3G

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

Забыл добавить: в /etc/fstab ничего не нужно писать — всё разруливается HALd/PolicyKit.

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

Извините за безполезный пост, но в одном топике iZEN уже так достал своим заученым наизусть «качественная система, с продуманным и надежным софтом, стабильным ABI» на это г-но.

Извиняем.

FUSE придумали в рамках проекта GNU. Потом её слили с Linux. В FreeBSD FUSE представляет собой порт стороннего приложения.

iZEN ★★★★★ ()

devd настроен на автомонтирование разделов, всё монтируется. Но вот русских имён файлов - нет и записать на ntfs-раздел - нельзя.

Драйвер mount_ntfs(8) FreeBSD не предназначен для записи на эту ФС. В devd.conf в команду монтирования нужно добавить опцию переконвертации имён файлов "-C CP866".

-C charset
             Specify local charset to convert Unicode file names.  Currently
             only reading is supported, thus the file system is to be mounted
             read-only.

iZEN ★★★★★ ()

Сорри за UP

Те же лыжи. Нуна автомонтирование нтфс-флешек на запись. С буквеями как нибудь разберусь...

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

насчёт mount

тока тока мурыжил его - ничего не получается («забывает» типы файловых систем). Делал как в /usr/local/share/doc/ntfs-3g/README.FreeBSD. там действительно что-то не то. Пока вернул всё на место. Думаю надо разбираться с fuse-ntfs

drfaust ★★★★★ ()
Ответ на: насчёт mount от drfaust

А я вот сюда ещё гляжу: /usr/ports/sysutils/automounter

Оно даже монтирует, но как-то зацикливается, т.е. циклически монтирует один и тот же раздел, скажем, Data монтирует как Data, потом как Data_, потом Data__, и т.д.

Кроме того, с hald конфликтует, т.к. тот в свою очередь пытается примонтировать.

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

И так. Блудить по И-нету надоело, ничего толкового. Из долбёжки с:

1. Rename /sbin/mount_ntfs, symlink ntfs-3g as the former, and use just «ntfs» as the type in /etc/fstab. $ mv /sbin/mount_ntfs /sbin/mount_ntfs-kern $ ln -s /usr/sbin/mount_ntfs-3g /usr/sbin/mount_ntfs

получал несоответстыие параметров mount_ntfs и mount_ntfs-3g (они не совместимы снизу вверх по передаваемым параметрам, хоть ntfs-3g и вылезла из ntfs) В место mount_ntfs Нарисовал костыль:

#!/bin/sh
/usr/sbin/mount_ntfs-3g $7 $8 -o uid=$4,locale=$6 && exit 0
exit 1
В результате и локальные диски и флехи автомонтируются с русским (у мну UTF-8), но об ентом нихрена не знает KDE 4.4.5 Если я начинаю кликать по «точке входа», то в /media/ создаётся ещё один каталог с примонтированной ntfs`кой. Пока в дельфине скрою эти точки входа и оставлю одну /media.

Возникает вопрос, как быть с размонтирование флешек, если DE о них не знает (в консоль лезть неохота). Может это только в КДЕ, а в Гноме иначе? (хотя я думаю надо hal пилить (настройки в смысле), иначе костыль так и останется костылём).
Посмотреть бы /usr/local/etc/hal/fdi в PC-BSD, где всё пашет из коробки

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

Sorry

У меня FreeBSD 8.1 amd64 в ядро добавлены brtr и u3g, хотя можно и через /boot/loader.conf, но хотелось повыёжываться :-)

drfaust ★★★★★ ()

Нашлось решение. Оказывается, «всё уже украдено до нас», хоть и несколько грязновато.

cd /sbin
mv mount_ntfs mount_ntfs.orig
ln -s /usr/local/share/hal/mount-fuse mount_ntfs

Всё. После этого Gnome монтирует ntfs-разделы, используя драйвер ntfs-3g с правильной кодировкой и возможностью записи. Проверялось и на внутреннем винте с ntfs-разделом, и на внешнем usb-винте, и на flash-накопителе.

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