Доброго времени суток!Столкнулся со следующей проблемой. На сервере (amd64) стоит FreeBSD 5.3.
Не удается смонтировать раздел с msdos_fs с русскими именами файлов.Строки из fstab:
/dev/acd0 /cdrom cd9660 ro,noauto,-Ckoi8-r 0 0
/dev/da0 /flash msdosfs rw,noauto,-Wkoi2dos,-Lru_RU.KOI8-R 0 0Монтирование происходит без ошибок, но при просмотре каталога получаем:
%ll /flash/
ls: ?????: Invalid argument
ls: ????????: Invalid argument
ls: ?ЙЖБО?ЯпЭбм.,,1*`k_: Invalid argument
ls: Л?П[?бмбноЬ).*`k_: Invalid argument
ls: `]od])-: Invalid argument
ls: оЬЭздтЬ*o]r: Invalid argument
total 0Аналогичная ситуация и с /cdrom...
Необходимые модули вроде имеются в наличии:
%kldstat
Id Refs Address Size Name
1 18 0xffffffff80100000 522bf0 kernel
2 1 0xffffffff80623000 7c20 if_rl.ko
3 1 0xffffffff8062b000 a728 if_sk.ko
4 1 0xffffffff80636000 6038 snd_via8233.ko
5 2 0xffffffff8063d000 2ca38 sound.ko
6 1 0xffffffff8cd5f000 24e25 pf.ko
7 1 0xffffffff8cea1000 16b67 radeon.ko
8 1 0xffffffff8d025000 222 msdosfs_iconv.ko
9 1 0xffffffff8d026000 1cac libiconv.koКуда копать? Вкомпилировать libiconv в ядро? При монтировании без
-W<...> -L<...> / -C<...> имена отображаются ????? но хоть работать
можно, а с опциями -- никак! Дома на i386 в той же конфигурации всё
работает правильно.
а русский вообще есть на той бзде?
>
>
>а русский вообще есть на той бзде?Конечно есть. Пишу вот по-русски :) Всё по хандбуку сделано.
С русским проблема только в перекодировании имён файлов с фат/сиди.
В самбе никаких проблем нет (с русскими именами файлов).
У меня одно единственное предположение осталось, что это глюк
архитектуры (точнее реалиазации под неё). Но, блин, как побороть-то?
Мне вообще видимо катастрофически "везёт" с amd64! Умудрился купить
плату с интегрированным LAN в котором только спустя месяц после релиза
пофиксили (едва ли не единственный) баг в ядре! Две недели мучился, потом
нашёл патч для ядра и только ещё через пару недель наконец поправили
дерево исходников. А с кодировками ничего поделать не могу!Есть в форуме ещё владельцы amd64 под FreeBSD? Откликнитесь, пожалуйста,
может я действительно что-то не так настроил?
Эхх...
Ну неужели нет в форуме людей с бсд на амд64? Помогите бедному
пользователю. Замучился уже.
>Эхх...
>Ну неужели нет в форуме людей с бсд на амд64? Помогите бедному
>
>пользователю. Замучился уже.боюсь дело не в amd64, а в неправильности прописки опций для msdosfs в
fstab, посмотри внимательно man mount_msdosfs и целиком.
FreeBSD 5.3
У меня при переходе с 5.2.1 на 5.3 сд с русским через fstab не стал отображаться. Вот как есть:%cat /etc/fstab
#skip
dev/acd0 /cdrom cd9660 ro,noauto 0 0
#skip
/dev/da0s1 /flash msdos rw,noauto,-W=koi2dos,-L=ru_RU.KOI8-R 0 0для сд сделал два командных файлика
viking# cat /usr/sbin/cdm
#!/bin/sh
/usr/sbin/cdcontrol -f /dev/acd0 close && /sbin/mount_cd9660 -C koi8-r -o ro /dev/acd0 /cdromviking# cat /usr/sbin/cdu
#!/bin/sh
/sbin/umount /cdrom && /usr/sbin/cdcontrol -f /dev/acd0 eject
>FreeBSD 5.3
>У меня при переходе с 5.2.1 на 5.3 сд с русским через
>fstab не стал отображаться. Вот как есть:На amd64?
>%cat /etc/fstab
>#skip
>dev/acd0 /cdrom cd9660 ro,noauto
> 0 0
>#skip
>/dev/da0s1 /flash msdos rw,noauto,-W=koi2dos,-L=ru_RU.KOI8-R 0
> 0
А знак равенства ставить зачем? Дома и без него работает. Ну, тоже
попробую завтра :) Флэшка-то хоть нормально читается?
>
>для сд сделал два командных файлика
>viking# cat /usr/sbin/cdm
>#!/bin/sh
>/usr/sbin/cdcontrol -f /dev/acd0 close && /sbin/mount_cd9660 -C koi8-r -o ro /dev/acd0 /cdrom
>
Ну, у меня в fstab'е то же самое. Или при монтировании с его помощью
результат другой? У меня никакой разницы нет. И так, и так ошибка. Хотя,
попробую завтра ещё раз.
>
>viking# cat /usr/sbin/cdu
>#!/bin/sh
>/sbin/umount /cdrom && /usr/sbin/cdcontrol -f /dev/acd0 eject
>
>боюсь дело не в amd64, а в неправильности прописки опций для msdosfs
>в
>fstab, посмотри внимательно man mount_msdosfs и целиком.Так ведь в том и дело, что дома при тех же настройках всё ОК (i386), а с
amd64 -- косяк. diff'ом файлы сравнивал :) Вручную монтировал -- та же
беда... Ладно, подожду 5.4.
может поможет
/dev/da0 /mnt/rdev msdos rw,noauto,-L=ru_RU.KOI8-R,-D=CP866,-o=longnames 0 0
>может поможет
>/dev/da0 /mnt/rdev msdos
>rw,noauto,-L=ru_RU.KOI8-R,-D=CP866,-o=longnames 0 0Не помогло :( Странно всё это... Уважаемые гуру,
подскажите куда ещё копать можно! Опции монтирования я, кажется,
перепробовал уже все. Да и не в первый раз я всё это настраиваю.
На домашней же машине работает и с -W (obsolete) и с -D...
Странно, что и с CD и с msdosfs проблемы одни и те же. Видимо,
что-то не так где-то в ядре. Но что и где? Где-то пробегала
информация, что в amd64 не до конца реализована
поддержка модулей ядра. libiconv.ko подгружается, но, может, работает
не так? Можно ли его вкомпилировать в ядро и, если да, то как?
>Так ведь в том и дело, что дома при тех же настройках
>всё ОК (i386), а с
>amd64 -- косяк. diff'ом файлы сравнивал :) Вручную монтировал -- та же
>
>беда... Ладно, подожду 5.4.Я монтирую так:
mount_msdosfs -m 664 -M 775 -L ru_RU.KOI8-R -D CP866 /dev/da0s1 /mnt/usb
>
>>Так ведь в том и дело, что дома при тех же настройках
>>всё ОК (i386), а с
>>amd64 -- косяк. diff'ом файлы сравнивал :) Вручную монтировал -- та же
>>
>>беда... Ладно, подожду 5.4.
>
>Я монтирую так:
>mount_msdosfs -m 664 -M 775 -L ru_RU.KOI8-R -D CP866 /dev/da0s1 /mnt/usbНЕ ПОЛУЧАЕТСЯ!!! :(((
# mount_msdosfs -m 664 -M 775 -L ru_RU.KOI8-R -D CP866 /dev/fd0 /floppy/
# ll /floppy/
ls: ????: Invalid argument
ls: Лбми?П,/: Invalid argument
ls: ^kkg[on_*p^v: Invalid argument
ls: lgc[cn]ld*od: Invalid argument
ls: o_da`: Invalid argument
total 0
>НЕ ПОЛУЧАЕТСЯ!!! :(((а локализация точно нормально сделана?
>>НЕ ПОЛУЧАЕТСЯ!!! :(((
>
>а локализация точно нормально сделана?
Гм... Ну пишу ведь по-русски :)%locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_ALL=... и следом:
%ll /floppy/
ls: ????: Invalid argument
ls: Лбми?П,/: Invalid argument
ls: ^kkg[on_*p^v: Invalid argument
ls: lgc[cn]ld*od: Invalid argument
ls: o_da`: Invalid argument
total 0Или что там еще локализ(ир)овать :)?
Мда... Вкомпилировал LIBICONV в ядро вместе с MSDOSFS_ICONV, а толку всё равно никакого :( Последний раз спрашиваю: есть ли в форуме владельцы/администраторы FreeBSD на amd64? Отзовитесь, пожалуйста. У меня к вам кроме этого ещё пара вопросов.