Почему файл открытый в linux не открывается на чтение в windows?
Всем доброго времени суток.
Подскажите, имеется файловое хранилище на Windows Server. Оно используется как пользователями с OS Linux(Kubuntu 14.04), так и пользователями с OS Windows 7. На Linux машины хранилище монтируется с помощью pam mount.
Штука вот в чем, если открыть документ (в частности таблицу) на Windows и затем попытаться открыть её на Linux, то будет предложено открыть документ на чтение и он откроется. Но, если провернуть этот трюк в обратную сторону, то документ уже открытый на редактирование на Linux не откроется на Windows, как и на других Linux машинах. Появится ошибка "Невозможно считать файл". Пробовал разные версии LibreOffice (4.4, 5.4, 6.3) ситуация не меняется.
Radjah, т.е. проблема не в опциях монтирования шары? Меня смутило, что открывая с винды все нормально могут читать файл. А открыв на линуксе всё, тушим свет и ждем пока пользователь его закроет.
Roman Ratkin, файл открывается не с сервера?
Если документы MS Office, то обычно создаётся временный файл в том же каталоге, по которому программа на другой машине определяет, что файл открыт другим пользователем. Я точный принцип работы подобного механизма не знаю, но скорее всего версия программы на Win не может корректно определить кто и что в данный момент делате с файлом. Может сам файл как-то изменяется в этот момент. Проверь его размер и попробуй открыть блокнотом, например, чтобы доступ на чтение проверить.
Всякие docx/xlsx/pptx/etc - это обычные zip-архивы. Можешь попробовать открыть их тем же 7zip и проверить целостность.
Radjah, все верно. Создаётся блокирующий файл и если попытаться открыть 7zip, то он сообщает, что файл занят другой программой. Но, файл открытый на Linux машине не может быть открыт на чтение и на других Linux машинах.
При этом, если открывать файл на редактирование на Win, то и на Linux, и на Windows машинах файл открывается на чтение нормально. Блокирующий файл Win так же создаёт.