Есть ли обходной путь для ограничения длины имени файла в encfs?
Я использую Dropbox с Encfs. Проблема в том, что мой хост поддерживает только 256 символов в имени файла, следовательно, encfs поддерживает только ~190. Есть ли способ обойти это без переустановки и увеличения лимита для файловой системы хоста?
Я в основном использую ext4 в качестве файловой системы в Ubuntu 11.10, но также Mac OSX 10.6 с hfs в качестве файловой системы и Windows не так важны для меня в настоящее время.
Ура, Брубель.
2 ответа
Я не думаю, что задача обязательно будет легкой; это выглядит как логика, с которой нужно работать NameIO::recodePath()
и это даже выглядит довольно хорошо автономно. Вам потребуется создать другую базу данных, которая позволит вам создавать, переименовывать и удалять записи настолько близко, насколько это возможно, к стандартной семантике файловой системы POSIX.
Если вы не возражаете против потери свойства "имена файлов неизвестны без ключа", вы можете просто сохранить базу данных SQLite3, отображающую длинные имена в незашифрованном виде с более короткими именами "зашифрованного текста" - возможно, это просто имена на основе счетчиков или хэширование имен, так далее.
Я столкнулся с той же проблемой. Хотя я думаю, что в идеале это должно стать особенностью encfs (поскольку это приводит к ухудшению проблемы с помощью шифрования имен файлов или каталогов), я решил, что не могу долго задерживать дыхание. Итак, я собрал воедино скрипт, который может временно переименовывать файлы и каталоги с более короткими именами, чтобы могли продолжаться encfs (и другие программы). Пожалуйста, дайте мне знать, если это полезно для вас.