LINUX.ORG.RU

/etc/fstab: для раздела vfat прописано iocharcet=koi8-r, codepage=866, но русские имена в виде псевдографики... херь?


0

0

Народ!!! помогите, please!
как-таки увидеть русские имена в FAT32 партиции, если в fstab уже записано iocharcet=koi8-r, codepage=866.
нутром чую, что в iocharcet и/или codepage дело.

anonymous

iocharset, во-первых.

Во-вторых, нужно убедиться, что поддержка нужных кодовых страниц либо вкомпилена в ядро, либо прогружены соответствующие модули (nls*).

Obidos ★★★★★
()

12.3 Кириллические имена файлов в файловой системе MS Windows

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

Здесь указан путь, как получить правильное преобразование:

Убедитесь, что ваше ядро скомпилировано с поддержкой codepage (в частности, с поддержкой кодовых страниц cp866 и KOI8-R -- возможно, в виде модулей ls /lib/modules/`uname -r`/fs/nls_*). Добавьте следующие опции при выполнении mount команды mount: codepage=866,iocharset=koi8-r

или пропишите в /etc/fstab/ примерно такую строчку: /dev/hda5 /mnt/d vfat noexec,dev,suid,rw,umask=002, codepage=866,iocharset=koi8-r, gid=101 0 0

для выяснения подробностей смотрите man mount.

Более подробно смотрите Documentation/filesystems/vfat.txt в исходниках ядра Linux.

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

А codepage точно нужен ? У меня и без него все нормально, прописан только "iocharset=koi8-r". Стоит RH7.2

anonymous
()

записал нечто похожее на рекомендованную
/dev/hda5 /mnt/d vfat noexec,dev,suid,rw,umask=002, codepage=866,iocharset=koi8-r, gid=101 0 0
и диск перестал монтироваться. ;-(

anonymous
()

У, жутики какие! Если это Виндуза, то я делаю iocharset=microsoft-cp1251

la_Mer
()

Наутилус не отображает http

la_Mer (*) (2002-02-06 11:50:55.0)
>У, жутики какие! Если это Виндуза, то я делаю iocharset=microsoft-cp1251
mount -t vfat /dev/hda4 /mnt/win -O iocharset=microsoft-cp1251
mount -t vfat /dev/hda4 /mnt/win -O codepage=866,iocharset=koi8-r
Ни одна команда не дала русских имен файлов.
Файлы сохранялись IE5 (сохранить страницу).

RedHat 7.2.
LANG=ru_RU.koi8r, проблем с "могучим" нет.

Lem_I
()

Начни с малого. Например,

/dev/hda5 /mnt/d vfat codepage=866,iocharset=koi8-r

И пробелы лишние поубирай, да...

anonymous
()

А русский шрифт в консоли настроен, если настроен то правильно ли он настроен?

Alximik
()

добавлял и iocharset=microsoft-cp1251. результат тот же - не монтируется.
кстати, а какой codepage при использовании iocharset=microsoft-cp1251 должен быть? я пробовал codepage=866, codepage=cp1251 - диск не монтирется.

anonymous
()


Команда mount успешно выполняется, но имена файлов - ???
если помещаю тоже самое в fstab то не монтируетсяя том -

mount -t vfat /dev/hda4 /mnt/win -O iocharset=microsoft-cp1251
mount -t vfat /dev/hda4 /mnt/win -O codepage=866,iocharset=koi8-r

> anonymous (*) (2002-02-05 16:19:06.0)
> Убедитесь, что ваше ядро скомпилировано с поддержкой codepage (в частности,
> с поддержкой кодовых страниц cp866 и KOI8-R -- возможно, в виде модулей ls
> /lib/modules/`uname -r`/fs/nls_*).
Можно про это подробней, - ls /lib/modules/`uname -r`/fs/nls_*
что должно быть? Т.е. как проверить что ядро нормально поддерживаеет русский?
Установлен redhat7.2, русский поддерживается нормально, и в консоли и в
гноме. Этого недостаточно чтобы сказать что ядро нормально настроено?
Только в KDE'шной консоли абракадабра.
Насчет fstab - был бы благодарен, вместо мудрых советов по удалению
пробелов, за строчку из fstab в котором успешно монтируется том
с поддержкой руских имен файлов, или за команду mount(монтируется но
????), потому как проблема не у меня одного.

Lem_I
()

> команду mount

mount -t vfat /dev/hda5 /mnt/mustdie -o noexec,codepage=866,iocharset=koi8-r

> строчку из fstab в котором успешно монтируется том с поддержкой руских имен файлов,

Предварительно нужно посмотреть (fdisk /dev/hda), какой раздел соответствует виндопартиции и поменять /dev/hda5 на нужное.

/dev/hda5 /mnt/mustdie vfat noexec,codepage=866,iocharset=koi8-r 0 0

После запятых пробелы недопустимы. Теперь по поводу codepage и iocharset. Первый параметр говорит, в какой кодировке на самом деле хранится информация в fat. Должен быть 866. Второй же говорит, в какой кодировке отображать эту информацию при выводе. Должна совпадать с тем, что говорит locale по поводу LANG.

Если никак не получается добиться русского, значит, не прогружается поддержка nls_*. Прогрузить вручную или пересобрать ядро, попутно проматерив redhat.

> проблема не у меня одного

Отучаемся говорить за других.

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

Ну допустим редхат материть не надо просто надо объяснить где в ядре находиться поддержка кодовых страниц . кстати ее лучше не в виде модуле а сразу вкручивать в ядро :)) вкручиват надо все кде есть подпись о кирилице

l-xoid ★★★★★
()

А для самбы?

Кстати, для mount -t smbfs ...... все параметры для кодировок остаются те же самые, или как?

la_Mer
()

Ты сначала одно настрой, а потом к следующему переходи. Поспешишь -- людей насмешишь.

Obidos ★★★★★
()

/dev/hda8 /win vfat iocharset=koi8-r,codepage=866,rw,user 0 0

у меня в редхате 7.2 так прописано и все показывает что надо

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