LINUX.ORG.RU
ФорумAdmin

Кракозябры на fat32

 , ,


0

1

Я вот тут воспользовался статейкой для русификации Slackware 14.1: изменил переменную LANG в файле /etc/profile.d/lang.sh, задал консольный шрифт в /etc/rc.d/rc.font и раскладку клавиатуры в /etc/rc.d/rc.keymap. Вроде все русифицировалось: буквы печатает, справки программ на русском выводит, кроме одного но: на смонтированном разделе ext4 русские имена каталогов отображаются как надо, а вот на usbflash где естественно vfat (fat32) - кракозябрами.

★★★★★

man mount /codepage ??? profit

anonymous
()
Ответ на: Эти ссылки должны помочь. от aes_ultimum

Там везде советуют указывать опции codepage, iocharset и nls. А нельзя никак сделать, чтобы mount автоматически определяла кодировку и добавляла нужные опции?

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

Кодировка нигде не записана. Угадать её в общем случае невозможно. В разных обёртках (ты же не руками mount делаешь?) можно задать русскую заранее.

x3al ★★★★★
()
Ответ на: Нашёл костыль. от aes_ultimum

hal уже нету нигде давно, но принцип тот же остался — заставить автомонтировалку монтировать с нужными параметрами

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

Кодировка нигде не записана. Угадать её в общем случае невозможно. В разных обёртках (ты же не руками mount делаешь?) можно задать русскую заранее.

Как раз-таки руками. И в чистой консоли, иксы пока ещё не установлены. Просто делаю «mount /dev/sdb1 /media/memory0». Почему когда я работал в Debian mount сама угадывала кодировку? Видимо можно сделать, чтобы угадывала, также как угадывает тип фс.

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

ACTION==«add», ENV{ID_FS_TYPE}!="", ENV{ID_FS_TYPE}!=«ntfs|vfat», RUN+=«/bin/sed -i '$a\/dev/%k /media/$env{ID_FS_TYPE}-%k $env{ID_FS_TYPE} defaults,user 0 0' /etc/fstab»

После этого советовать лоровики не как источник лулзов нельзя. Готовый руткит.

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

ну если человек пишущий правила udev для себя ССЗБ, то вполне и сойдет.

splinter ★★★★★
()

Так, подытожим. Раз советуют автоматизировать свои действия, к тому же тема от меня была http://www.linux.org.ru/forum/admin/9744694 значит будем крутить.

Предусмотреть же всё надо: во первых именами sd[a-z][0-9] могут называться не только флешки, но и разделы несъёмного харда, во вторых - к одному компу могут быть подключены сразу несколько флешек, так сколько тогда записей в fstab делать: одну, две, три?

В /media имеются два каталога: memory0, memory1. Создаю третий - memory2 (больше трёх флешек одновременно вряд ли будет). Делаю файлы устройств /dev/memory0 - /dev/memory2, при помощи udev-правила SYMLINK, чтобы быть точно уверенным, что монтируемые устройства - действительно флешки, даю этим файлам права 666, чтобы размонтировать смог не только root. Потом добавляю в /etc/fstab строки:

/dev/memory0  /media/memory0  vfat  defaults,nls=koi8-r  0  0
/dev/memory1  /media/memory1  vfat  defaults,nls=koi8-r  0  0
/dev/memory2  /media/memory2  vfat  defaults,nls=koi8-r  0  0

Это я пока теоретезирую, на практике пока не проверял, нахожусь не за тем компом.

В /etc/udev/rules.d я создаю файл правил 60-usbinit.rules. Вот тут попрошу мне конкретно помочь, с udev я всё ещё не очень.

KERNEL=="sd[a-z]", SUBSYSTEM=="block", GOTO="do-disk-rules"
KERNEL!="sd[a-z][0-9]", SUBSYSTEM=="block", GOTO="end-of-file"
LABEL="do-disk-rules"
ACTION=="add", ENV{ID_USB_DRIVER}="usb-storage", ATTR{bus}=="usb", SYMLINK+="memory%n"
LABEL="end-of-file"
как им права 666 дать?

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