Я читал о ограничения имени файла в Linux но речь идет именно о Samba.
Я столкнулся с проблемой, когда клиенты Windows и Linux моего (Debian Squeeze) Samba-сервера не могли получить доступ к некоторым PDF-файлам, скрытым в глубоком пути к файлу.
Путь к файлу содержащего каталога составляет 250 символов, что заставляет меня подозревать, что существует ограничение на 255 символов. (Возможно, меньше из-за многобайтовых символов UTF8.)
Это будет значительно меньше, чем ограничение имени файла / пути к файлу Linux.
Кто-нибудь знает, есть ли способ обойти этот предел?
В Windows было ограничение в 255 (или 260?) Символов, как обсуждалось в вопросе SO. https://stackoverflow.com/questions/1065993/has-windows-7-fixed-the-255-character-file-path-limit .
Очевидно, в Windows есть способ обойти это, и может быть способ с помощью SAMBA имитировать это, но это может нарушить работу некоторых приложений.
Для простоты управления, если у вас нет веских причин не делать этого, я бы посмотрел, можете ли вы попробовать создать общие ресурсы глубже в файловой иерархии, чтобы путь не был таким длинным, используйте подстановку или эквивалент символической ссылки для сокращения путь к файлу или реорганизуйте структуру общего доступа, чтобы она не была так глубоко встроена. Это сделает его максимально совместимым с множеством приложений; меньше вероятность столкнуться с ошибками программы в будущем.
Существует исправление / изменение в источнике, которое можно применить к SAMBA, которое может исправить перекомпиляция, если вы его найдете в Google. Но опять же, позже это может быть административной проблемой, потому что обновления могут нарушить ваше пользовательское исправление.
Другой вариант - смонтировать общий ресурс как общий ресурс NFS. Я не думаю, что такое же ограничение в ~ 250 символов применимо к NFS, но это будет не совсем как «Windows» решение, если вы сделаете это таким образом.
Лично я бы реструктурировал долю, чтобы в ней было меньше символов; минимум головных болей и случайных проблем в будущем, чтобы запомнить, почему что-то может не работать или перестать работать.