![]() |
Samba & OpenOffice
Что было:
На сервере (в роли которого выступает WinXP), расшарена в общий доступ папка "Архив файлов" (именно так - с русскими буквами и пробелом). На клиенте (Mandriva 2008.0, KDE 3.4, OpenOffice 2.4.0 ru) эта папка монтируется при помощи samba. Samba вкомпилирована в ядро, а не как отдельный демон. В адресной строке встроенного в KDE обозревателя папок Konqueror вводим smb://ip_servera/Архив файлов и получаем доступ к файлам. Что стало: После автоматического обновления Mandriva до версии 2008.1 и OpenOffice 2.4.1 ru (которое, кстати сказать, прошло не совсем гладко - для восстановления работоспособности OpenOffice его пришлось руками полностью снести и установить заново) при открытии файлов с этой общей папки происходит следующее: OpenOffice копирует открываемый файл во временную папку и из временной папки работает с файлом. В результате, когда в файле сохраняем изменения, они сохраняются не в общей папке, а локально - во временной. И измененный файл приходится вручную копировать назад в общую папку. Со слов пользователя, это начало происходить именно после обновления системы. До обновления файл открывался и сохранялся в общей папке без проблем. Соответствующей настройки - не кешировать во временную папку открываемый по сети файл я не нашел, ни в OpenOffice ни в Konqueror. Что такое может быть: у кого какие идеи будут? |
Собсно, насколько я знаю - KDE всегда так работал, при редактировании удалённых файлов (поверх ssh, smb, и т.п.) копирует их локально, а затем - назад.
В качестве противодействия можно попробовать маунтить сабмовский раздел локально (к примеру, посредством fusesmb или любым другим способом) - в таком случае KDE не будет знать, что он работает с удалёнными файлами, и будет редактировать их сразу на месте, без копирования себе. |
Сразу отмечу несколько нестыковочек:
Цитата:
Далее: Цитата:
Цитата:
Если Вы ее монтируете, то адрес будет локальный, типа /mnt/whatever_share_of_files При этом, как правильно заметил Saruman, все файлы будут открываться где они есть. В случае же работы с удаленным файлом посредством псевдо-протокола Konqueror smb://, вполне естественно что они будут сначала сохраняться во временную папку и дальше работа будет осуществляться с этим файлом. На самом деле это вполне логично: OpenOffice НЕ знает подобного протокола (в самом деле, попробуйте из него открыть файл напрямую с такого пути, будет ошибка), это эмулирует для Вас именно Konqueror на своем уровне обзора файлов, НЕ на системном уровне. Поэтому для OpenOffice он должен сохранить файл куда-то, и предоставить его для редактирования доступным через файловую систему компьютера. Другое дело, проверьте внимательно, после сохранения изменений, и закрытия (файла или целиком Офиса) изменения могут быть залиты обратно на шару с перезаписыванием старого файла, если есть права на запись. Подводя итог, быстрое решение для Вас - монтировать шару локально с помощью CIFS (ну или smbfs, в крайнем случае можно и fusesmb) и работа с ней. |
Цитата:
Цитата:
Цитата:
Поэтому замечание про Цитата:
|
Цитата:
Цитата:
Поэтому, монтировать лучше в другое место. Далее, монтировать конечно же можно и с помощью smbmount и по нему читать ман по параметрам. Но, если Вы потом захотите сделать это на постоянной основе и прописать это монтирование в /etc/fstab, то Вам нужно будет все же монтировать с помощью: mount -t cifs ..... ну или, возможно mount.cifs для Вашего дистрибутива. Выглядеть это должно как-то так: Код:
mount -t cifs -o user=UserName,password=Password //192.168.1.100/share_name /mnt/share_mountpoint Цитата:
|
Попробовал еще раз. Результаты следующие:
при команде Код:
mount -t cifs //192.168.0.1/Архив\ файлов /mnt/archive Код:
mount -t cifs '//192.168.0.1/Архив файлов' /mnt/archive Код:
mount error 6 = No such device or adress Общая папка все таки такая есть, поскольку, как я уже писал, в Konqueror обращение по псевдопротоколу Код:
smb://192.168.0.1/Архив файлов Команды fusesmb среди исполняемых файлов на компе нет. mount.cifs, я так понимаю, это тоже самое, что и mount -t cifs На WinXP, куда пытаюсь подключиться, настроен простой общий доступ к файлам, т.е. только по паролю, без ввода имени пользователя. Возможно это виноваты русские буквы и/или пробел между словами? |
Цитата:
Цитата:
Код:
[root@x-www sbin]# yum provides '*/fusesmb' Цитата:
Код:
# rpm -qf `which mount` Код:
[root@x-www sbin]# rpm -qf `which mount.cifs ` Ну и ключик --verbose конечно не забываем. Цитата:
Чтобы посмотреть какую шару надо монтировать, точнее как ее правильно записать, попробуйте просмотреть какие шары вообще видны, вроде такого: Код:
$ smbclient -L 192.168.1.100 Опять же, smbtree можете посмотреть без параметров. Далее, посмотрите как вывелось, и попробуйте приконнектиться к ней, типа такого: Код:
smbclient '//192.168.0.1/Архив файлов' добавлено через 4 минуты О, и еще на счет пробела гляньте: http://ubuntuforums.org/showthread.php?t=451259 |
Еще одна попытка решить проблему с уветом Ваших последних замечаний принесла следующее:
Команда smbclient '192.168.0.1/Архив файлов' после ввода пароля привела к нормальному подключению ресурса Архив файлов и, соответственно, команда ls вывела список всех имеющихся файлов. Команда smbtree вывела список общих ресурсов. Правда она писала путь по MAC-адресу сетевой карты - //0c56c02bed5744d/Архив файлов Но Архив файлов там был среди других общих ресурсов. Обращу внимание, что попытка выполнить эту команду через некоторое время не привела ни к какому результату - она ничего не выводила, ни после перезагрузки, ни с других компов. --verbose тоже ни дал никакого дополнительного вывода. На этот момент количество подключений на winxp было 6, т.е. меньше 10, значит с той стороны ограничений небыло. Команда smbclient -L 192.168.0.1 опять-таки вывела список общих ресурсов, среди которых Архив файлов присутствовал. Вывод представляет собой таблицу: первый столбец имя общего ресурса (все доступные там были, включая c$, admin$, принтеры). Второй столбец - TYPE. Обращу внимание, может это несущественно, но для дисковых ресурсов везде было указан тип disk и везде по столбцу само слово было выровнено по левому краю табуляцией, а вот напротив Архив файлов слово disk было прижато влево к Архив файлов. Команда rpm -qa |grep samba вывела samba-common-3.0.28a..... samba-client-3.0.28a..... И по прежнему mount -t cifs '//192.168.0.1/Архив файлов' /mnt/archive выводит mount error 6 = No such device or adress. Добавление ключа --verbose добавляет в вывод только уточнение login, password, rw-mode. Пробовал учесть пробел по разному: и %20 и \%20 и \040 и 040 (как было написано http://ubuntuforums.org/showthread.php?t=451259) - результат один и тот же. Всего компов, обращающихся к этому Архив файлов в сети 3. На двух других установлена та же Mandriva2008, но только не обновленная, т.е. 2008.0 И на них в качестве графической оболочки выступает Gnome. Там в качестве обозревателя файлов используется Nautilus. Обращение происходит так smb://0c56c02bed5744d/Архив файлов, т.е. по MAC-адресу, но дело, я думаю не в этом. Просто Наутилус не кеширует файлы с сетевого ресурса, а правит их прям по сети, в результате проблем с OpenOffice на этих компах нет. Судя по каталогам типа .Gnome в домашних папках у рута и пользователей, Гном там был установлен. Может попробовать переключить графическую среду по умолчанию с KDE на Gnome? В надежде, что Nautilus решит проблему. Только подскажите как это сделать - где это прописано? |
Цитата:
Цитата:
Цитата:
Код:
switchdesk GNOME |
Попробуйте поставить smbnetfs. Он отображает сетевое окружение в указанную в его конфиге точку монтирования и дальше можно к сетевым файлам обращатся, указывая просто сетевой путь относительной той точки. скажем если точка монтирования у него будет /mnt/network то путь к вашей шаре будет выглядеть как /mnt/network/wrkgrp|domain/name_servera/Архив файлов.
|
Попробовал использовать smbmount
Код:
$ smbmount '//192.168.0.1/Архив файлов' /mnt/archive Решил попробовать выполнить все эти команды за тем компом, где все нормально работает (т.е. где Gnome и Nautilus). Получилось все тоже самое, что и на неработающем компе с KDE! Код:
$ mount -t cifs '//192.168.0.1/Архив файлов' /mnt/archive Код:
$ smbclient -L 192.168.0.1 Код:
$ smbclient '//192.168.0.1/Архив файлов' Тупик получается. Нигде не было нормально настроено(примонтировано), просто, видимо, nautilus спасал положение. Сейчас попробуйю найти 'smbnetfs'. В стандартной поставке Mandriva2008.0 я его не нашел |
Добавьте к smbount ключик -d с необходимым уровнем отладки (на для начала 2-3 чтоли).
Цитата:
добавлено через 23 минуты Цитата:
|
Часовой пояс GMT +4, время: 18:51. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.