k001
k001
:...
k001 [userpic]
драгоценные крупицы сакральных знаний про самбу

Вчера ночью я совершил геройский подвиг -- научился пользоваться [u]mount.cifs вместо smb[u]mount. Не так уж это и тривиально, хотя, казалось бы...

Во-первых, если сказать mount.cifs //host/share dir -oip=x.x.x.x, то работать это не будет, вернёт ошибку пять. Вероятно, в прошлые попытки я на этом и опускал руки. Но не вчера!

Включаем дебаг cifs в ядре и видим, что ошибка пять вызвана ошибкой NT_УЖЕ_НЕ_ПОМНЮ_ЧТО_DUPLICATE(?) [update: NT_STATUS_DUPLICATE_NAME], которую вернул сервер на той стороне. Оказывается, это значит, что host и x.x.x.x -- разные имена, что серверу не нравится.

Поэтому, если у вас WINS резолвинг не работает, то бишь монтировать по имени не выходит, надо обязательно айпишник, то монтировать надобно так: mount.cifs //x.x.x.x/share dir. Так работает. С опцией ip= -- нет!

Есть и светлая сторона -- с кодировками нет ну совершенно никаких проблем, при этом мне не понадобилось делать никаких приседаний. И шары с русскими буквами, и имена файлов с русскими буквами -- всё работает!

А smbmount -- не работает. Точнее, с именами файлов я умею его нагнуть, а вот с именами шар какие-то феерические непонятки. Требуется в какой-то непонятной кодировке написать имя шары, чтобы в итоге оно в сеть попало в правильном формате (UTF-16 low endian -- как я выяснил, глядя в ethereal, iconv и hexdump). Как перевести человеческие русские буквы в эту кодировку, я так и не смог выяснить. Лох. Но есть и светлая сторона -- научился пользоваться cifs (см. выше).

А началось всё с того, что мы с Егором захотели посмотреть "Тайну третьей планеты".

Comments

Вот-вот, типическая "самба с бубном".

Мне, кстати, так и не удалось решить проблему с замиранием чтения из файла, раздаваемого через самбу на виндовую машину - при просмотре кино с файл-сервера периодически всё останавливается, изредка - до TCP-таймаута.

слуш, а у меня такого не наблюдается дома..

Кинь в меня smb.config-ом, если не сложно ;)

Там есть еще прикол: если опции поставить в начало командной строки mount[.cifs] (не помню точно) - не работает. Если в конец - работает.

Кир, ты пробовал -o x.x.x.x, тоесть пробел после -o ?

не понял? там -o ip=x.x.x.x
и да — я не указал этот пробел в посте

Да, я и имел ввиду -o ip=x.x.x.x разумеется. Там пробел обязателен, я на это уже наступал просто :)

Фильм-то в итоге был посмотрен или нет? :)

Круто. А то всё LinNeighborhood да LinNeighborhood.

WINS resolving

обязательно нужен? Потому как-то пробовал это поюзать (исключительно в познавательных целях из под СЛЕС 10.1), так оно как-то и так прокатило. Благо по DNS все разрешается.. Да, еще вопросец - не в курсе ограничение в 2 гига при закладке файла на шару из под Linux это чей глюк? Потому как под SMB лежало NTFS и у нее такого ограничения нету! (Столкнулся при копированиии виртуальной машинки с VMware ESX Server [based on RHEL 3] на Win2003, обошел заюзав WinSCP, с cifs не пробовал, по дефолту его нету на ESX, а компилять модули на переколбашеном вмварцами ядре мне что-то лениво..)