PC-BSD: Монтирование виндовой шары
Описание проблемы:
Сделал все как написано, подмонтировалась шара, все отлично, но! На шаре папки названы русскими буквами, например “Отдел логистики” и внутри папки “заказы” и т.п. Так вот, если я ломплюсь в эту папку по сети “smb://Documents/Отдел логистики” то все работает как надо, а если же я после монтирования захожу в /mnt/docs , то вижу только папки первого уровня и зайти внутрь не могу.
Методом научного математического тыка выяснилось, что если папки названы латиницей то всё работает как надо, вывод – проблема в кодировке.
Проверял 2-мя способами:
#ls -l /mnt/docs
он все четко показывает, корректно отображает русские буквы, но это первый уровень.
Внутрь уже не заходит, то есть при попытке набрать
#ls -l /mnt/docs/Обмен
получаю: “нет такого файла”
У меня КДЕ, открываю файл-менеджер, Konqueror, который и, начинаю лазит по папкам, показывает пустоту внутри либо дублирует пустые папки с названием оналогичным корневой. “smb://Documents/Обмен/Обмен/Обмен/Обмен/Обмен/”
и все пустые…
Либо вообще повисает наглухо если начинаю экспериментировать с кодировками.
При этом директории названые латиницей открываются нормально и содержимое отображается при условии что внутри нет файлов в названии которых есть кириллица.
((
Второй способ, собсно который мне и нужен особенно, это попытка открыть, либо сохранить файл в OpenOffice – точно такая же фигня – в /mnt/docs ничего не открывается, только видны названия корневых папок, либо виснет.
Решение после долгих поисков нашлось, как всегда на сайте МегаГуру lissyara.
В итоге делать надо так как описано в статье “Локализация FreeBSD на CP1251″, а затем уже монтировать с cp1251:
#mount_smbfs -E cp1251:cp866 //user@server1/Documents /mnt/docs
это если локалью ставишь cp1251, если koi8-r, то koi8-r:cp866 будет работать.
сейчас добиваю вопрос монтирования шары автоматом через /etc/fstab
Update:
Редактируем
#ee /etc/fstab
добавляем строку
//USER@server/sharename /mnt/docs smbfs rw 0 0
Редактируем:
#ee /etc/nsmb.conf
[default]
workgroup=MYDOMAIN
# The ‘FSERVER’ is an NT server.
#[FSERVER]
#addr=192.168.4.4
[SERVERNAME:USER]
# use persistent password cache for user ‘joe’
charsets=cp1251:cp866
password=mypass
пояснения:
дело в том, что должно работать так, как написано у lissara, но у меня то ли из-за PC-BSD хитросделанной. то ли из-за DNS конкретно в моей сетке, не работает с правильно прописаной секцией “Сервер” в /etc/nsmb.conf поэтому пришлось ее закоментить и имя сервера прописать в прямом виде.
Дополнение:
Иногда возникает такой глюк, руками из терминала монтируется шара нормально, а автоматически из /etc/fstab монтируется криво.
В консоли при этом кириллица /mnt может и не отображаться, а скажем видится как “???? ?” или кракозябрами. Это пофигу, главное чтобы папки корректно были видны в окнах Konqueror.
Если после локализации шрифты в примонтированной папке отображаются не правильно,
смотрим при загрузке, если появляется ошибка “не найден файл libiconv.so”
(а она появляется в любом слоучае. даже если правильно отображаются кириллические буквы в Konqueror),
выполняем следующую команду
# cp -lv /usr/local/lib/libiconv.so.3 /usr/lib/libiconv.so
и перегружаемся.