Русские имена файлов в Mandrake 10.1

PCLinuxOS

Модератор: Bizdelnick

Аватара пользователя
Dimon_
Сообщения: 36

Русские имена файлов в Mandrake 10.1

Сообщение Dimon_ »

Просьба помочь разобраться с русскими именами в файлах на cd и на винчестере..

Мне, по-болшему счету, русский вообще не особо нужен в системе, но если оставить уникод, то все имена файлов на разделах, что были созданы в системе, где стояла локаль koi8-r, нужно перекодировать (а их много и они в разных местах).
Не понятен еще вот такой момент. Естесственно, если оставить уникод и в то же самое время оставить английскую локаль, то на CD, файлы с русскими именами отображаются неверно. Кельтский язык, в общем..
Если пользовательскую локаль сделать русской, то все "ok"
Но мне английский больше нравится в X. Виджеты смотрятся очень здорово, да и опыт набирается в изучении английского с привыканием к оному. Фразы коротки и все очень красиво (я не про диснейленд)..
Русские же фразы длинные и все как-то.. Английский более техничен, что-ли.. Отдельная тема, а задача остается..

Строчка, отвечающая за cd в /etc/fstab:

"none /mnt/cdrom supermount dev=/dev/hdc,fs=udf:iso9660,ro,--,iocharset=koi8-u 0 0"

Пробовал менять на "...iocharset=utf-8...", не помогает. CD монтируется, но в нем становится вообще пусто.
Ну и беда с русскими именами файлов на харде..

Помогите разобраться

Mandrake 10.1
xorg-6.7.0
kde-3.2.3
Чем абстактнее истина, которую ты хочешь преподать, тем сильнее ты должен обольстить ею еще и чувства.
Спасибо сказали:
Аватара пользователя
Skull
Модератор
Сообщения: 2089
ОС: ALT Linux

Re: Русские имена файлов в Mandrake 10.1

Сообщение Skull »

(Dimon_ @ Вторник, 15 Марта 2005, 11:45) писал(а):Просьба помочь разобраться с русскими именами в файлах на cd и на винчестере..
...
Строчка, отвечающая за cd в /etc/fstab:
"none /mnt/cdrom supermount dev=/dev/hdc,fs=udf:iso9660,ro,--,iocharset=koi8-u 0 0"

Пробовал менять на "...iocharset=utf-8...", не помогает. CD монтируется, но в нем становится вообще пусто.
Ну и беда с русскими именами файлов на харде..
У меня стоит autofs и указаны вот какие параметры: auto,ro,nosuid,nodev
Рекомендую для cdrom не указывать явно тип fs и кодировки.

По поводу русских имён файлов есть два подхода: использовать cp1251 (koi8-r не содержит №) или Utf-8. Если файлы лежат только на fat32, то указываются необходимые параметры монтирования. Если на линуксовых разделах, то особой проблемы пакетно перекодировать в UTF8 (или любую другую кодировку) нет. Хотя скрипт будет нетривиален. :)
Skull
Спасибо сказали:
Аватара пользователя
Dimon_
Сообщения: 36

Re: Русские имена файлов в Mandrake 10.1

Сообщение Dimon_ »

[quote]У меня стоит autofs и указаны вот какие параметры: auto,ro,nosuid,nodev[quote]

А не подскажете, где Вы прочитали про, то что Вы знает по данной части?

Потому-что autofs стоит и у меня, но вот синтаксиса в fstab по данной части я не знаю:

Код: Выделить всё

/dev/hdc /mnt/cdrom auto,ro,nosuid,nodev 0 0

проверяю так... (иначе и не знаю как это сделать, не дорос :) )
[quote]shutdown -r now
....
cat /var/log/messages | grep mount
#
...

Mar 16 12:04:26 localhost mount: mount: fs type nodev not supported by kernel[code]

[quote]cat /etc/mtab
/dev/hda1 / reiserfs rw,notail 0 0
none /proc proc rw 0 0
none /proc/bus/usb usbfs rw 0 0
none /sys sysfs rw 0 0
/dev/hda9 /home reiserfs rw,notail 0 0
/dev/hda6 /tmp reiserfs rw,notail 0 0
/dev/hda7 /usr reiserfs rw,notail 0 0
/dev/hda8 /var reiserfs rw,notail 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0[quote]

Ну и если диск вставить, то ничего не будет. Реакции никакой..
Чем абстактнее истина, которую ты хочешь преподать, тем сильнее ты должен обольстить ею еще и чувства.
Спасибо сказали:
Аватара пользователя
Skull
Модератор
Сообщения: 2089
ОС: ALT Linux

Re: Русские имена файлов в Mandrake 10.1

Сообщение Skull »

(Dimon_ @ Среда, 16 Марта 2005, 13:02) писал(а):
У меня стоит autofs и указаны вот какие параметры: auto,ro,nosuid,nodev
А не подскажете, где Вы прочитали про, то что Вы знает по данной части?
Потому-что autofs стоит и у меня, но вот синтаксиса в fstab по данной части я не знаю:

Вот кусок из моего /etc/fstab:

Код: Выделить всё

...
/dev/cdrom              /auto/cdrom             autofs  user,ro,noauto,noatime,unhide,map=n,umask=000 0 0
/dev/fd0                /auto/floppy            autofs  user,noauto,owner,kudzu,codepage=866,iocharset=koi8-r,showexec,umask=000 0 0
...

/etc/auto.master

Код: Выделить всё

/auto   /etc/auto.misc  --timeout=10

/etc/auto.misc

Код: Выделить всё

cdrom           -fstype=auto,ro,nosuid,nodev    :/dev/scd0
floppy          -fstype=vfat,iocharset=koi8-r,codepage=866,showexec,umask=000   :/dev/fd0


Смотрел шаблоны этих файлов, man autofs, man auto, man auto.master... ;)
Skull
Спасибо сказали:
Аватара пользователя
Dimon_
Сообщения: 36

Re: Русские имена файлов в Mandrake 10.1

Сообщение Dimon_ »

Да. Все получилось.

Спасибо за помощь.

Смущает только тот факт, что будут ли правильно читаться диски (CD) с именами UTF-8 на windows..
Там уникод, но не UTF-8, а ucs-2, если не ошибаюсь..

Еще вопрос. У меня на CD видны знаки вопросов вместо русских букв.
Я добавил параметры кодировки в misc и в fstab, как у Вас это сделано для флоппидисковода..

Как сделать, что бы изменения вступили в силу?
"kill -HUP 1" не помогает

Также непонятно, каким образом, если вынуть CD и поставить другой CD, даже при обновлении папки /auto/cdrom (F5 в konqueror), файлы в ней остаются, что были в старом CD. И даже копируются. :)
То есть, как я понял, копируются всего лишь те регионы файлов, которые были опознаны на старом CD. Ибо при открытии таких файлов... Например, я открываю документ, а там за место текста, каша..
хотя таймаут не менял. Такой же как к Вас "--timeout=10"

И в чем преимущество autofs над "supermount"?
Чем абстактнее истина, которую ты хочешь преподать, тем сильнее ты должен обольстить ею еще и чувства.
Спасибо сказали:
Аватара пользователя
Skull
Модератор
Сообщения: 2089
ОС: ALT Linux

Re: Русские имена файлов в Mandrake 10.1

Сообщение Skull »

(Dimon_ @ Четверг, 17 Марта 2005, 8:50) писал(а):Смущает только тот факт, что будут ли правильно читаться диски (CD) с именами UTF-8 на windows..
Там уникод, но не UTF-8, а ucs-2, если не ошибаюсь..
В автоматической fs для cdrom должно определяться расширение Joliet со всеми вытекающими...

Еще вопрос. У меня на CD видны знаки вопросов вместо русских букв.
Я добавил параметры кодировки в misc и в fstab, как у Вас это сделано для флоппидисковода..
Интересно, а почему у меня все русские названия файлов видны? Чую я, что зря вы указали кодировки явно.

Как сделать, что бы изменения вступили в силу?
"kill -HUP 1" не помогает

service autofs restart

Также непонятно, каким образом, если вынуть CD и поставить другой CD, даже при обновлении папки /auto/cdrom (F5 в konqueror), файлы в ней остаются, что были в старом CD. И даже копируются. :)
Смотреть нужно в /mnt/cdrom!

То есть, как я понял, копируются всего лишь те регионы файлов, которые были опознаны на старом CD. Ибо при открытии таких файлов... Например, я открываю документ, а там за место текста, каша..
Используется дисковый кэш. Рекомендую смотреть на точку монтирования, а не служебный каталог autofs.

И в чем преимущество autofs над "supermount"?
А хрен его знает. У меня supermount не стоит...
Skull
Спасибо сказали:
Аватара пользователя
Dimon_
Сообщения: 36

Re: Русские имена файлов в Mandrake 10.1

Сообщение Dimon_ »

Интересно, а почему у меня все русские названия файлов видны? Чую я, что зря вы указали кодировки явно.

Извиняюсь.
Допустил грубую ошибку в последнем пописании проблемы..
Уточняю. Сначала я сделал все, как у Вас. То есть, я не вносил данные о кодировке.

То есть, было:

Код: Выделить всё

mkdir -p /auto/cdrom

Хотя, я мог просто переправить Ваши конфиги, в плане путей. Не суть важно. Сделал один в один.
Далее, что у меня:
fstab:

Код: Выделить всё

/dev/cdrom    /auto/cdrom      autofs  user,ro,noauto,noatime, \
unhide,map=n,umask=000 0 0


auto.master такой же.
В общем все один в один. Только не добавлял флоп. Ну о кодировке тоже ни слова не сказал в файлах.

! А уже потом. Когда увидел после перезагруза значки вопросов, всунул кодировку и получил аналог..

Одним словом, Вы мне суть подсказали. Спасибо. Дальше я сам попробую разобраться..

Раз это работает у Вас, Значит это должно заработать и у меня..

Всех регярдов..

Димон.
Чем абстактнее истина, которую ты хочешь преподать, тем сильнее ты должен обольстить ею еще и чувства.
Спасибо сказали:
Аватара пользователя
Skull
Модератор
Сообщения: 2089
ОС: ALT Linux

Re: Русские имена файлов в Mandrake 10.1

Сообщение Skull »

(Dimon_ @ Четверг, 17 Марта 2005, 14:03) писал(а):Раз это работает у Вас, Значит это должно заработать и у меня..
Вот чую я одним местом, что зря вы локаль русскую себе не поставите... :)
Skull
Спасибо сказали:
Аватара пользователя
Dimon_
Сообщения: 36

Re: Русские имена файлов в Mandrake 10.1

Сообщение Dimon_ »

Поставил русский в Уникод.
Была проблема с русским (консольный режим)
Погуляв по этому форуму, нашел хинт :) по автопереключению кодировки:

"#!/bin/bash
/sbin/setsysfont >/dev/null 2>&1"

Своего рода, скрипт, но работающий уже на залогиненном терминале.

Загрузка же, идет с крякозяблами.
Пробовал установить файлы локали под UTF-8:
"/usr/bin/locale_install.sh en ru". Тоже не помогло.
Мой файл /etc/sysconfig/i18n:

LANGUAGE=ru_RU.UTF-8:ru
LC_ADDRESS=ru_RU.UTF-8
LC_COLLATE=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LANG=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_MESSAGES=ru_RU.UTF-8
LC_CTYPE=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MONETARY=ru_RU.UTF-8
LC_PAPER=ru_RU.UTF-8
SYSFONT=UniCyr_8x16

SYSFONTACM я убрал. Зачем он под utf-8...

В голове каша со всеми этими скриптами и кодировками
Плюс, не могу найти по гуглу этот нетривиальный скрипт по перекодировке имен.
Чем абстактнее истина, которую ты хочешь преподать, тем сильнее ты должен обольстить ею еще и чувства.
Спасибо сказали:
Аватара пользователя
Valerius
Бывший модератор
Сообщения: 1469
Статус: Отпетый КДЕ'шник

Re: Русские имена файлов в Mandrake 10.1

Сообщение Valerius »

(Dimon_ @ Воскресенье, 27 Марта 2005, 3:51) писал(а):Плюс, не могу найти по гуглу этот нетривиальный скрипт по перекодировке имен.

Имееш ввиду - перекодировать имена файлов? Тогда ищи convmv.
Свобода есть тонкая полоска между диктатурой и анархией.

---------------------
Mandriva Linux PowerPack 2006 (Cooker-нутая) / KDE-3.5.1
Спасибо сказали: