我将 Dropbox 与 encfs 一起使用。问题是我的主机仅支持文件名中的 256 个字符,因此 encfs 仅支持 ~190。有没有办法在不重新安装和增加主机文件系统限制的情况下避免这种情况?
我主要在 Ubuntu 11.10 中使用 ext4 作为文件系统,但在 Mac OSX 10.6 中使用 hfs 作为文件系统,此时 Windows 对我来说并不那么重要。
干杯,布鲁贝尔。
我将 Dropbox 与 encfs 一起使用。问题是我的主机仅支持文件名中的 256 个字符,因此 encfs 仅支持 ~190。有没有办法在不重新安装和增加主机文件系统限制的情况下避免这种情况?
我主要在 Ubuntu 11.10 中使用 ext4 作为文件系统,但在 Mac OSX 10.6 中使用 hfs 作为文件系统,此时 Windows 对我来说并不那么重要。
干杯,布鲁贝尔。
我不认为这项任务一定很容易。在我看来,您需要使用的逻辑是NameIO::recodePath()
,它甚至看起来非常独立。您需要想出一些其他数据库,让您可以像标准 POSIX 文件系统语义一样尽可能接近地创建、重命名和删除条目。
如果您不介意丢失“没有密钥的文件名是未知的”属性,您可以简单地存储一个 SQLite3 数据库,将明文长名称与“密文”短名称映射 - 可能只是基于计数器的名称,或者散列名称, ETC。
我遇到了同样的问题。虽然我认为理想情况下这应该成为 encfs 的一个功能(因为它通过加密文件或目录名称加剧了问题),但我决定我不能屏住呼吸那么久。因此,我编写了一个脚本,该脚本可以临时用较短的名称重命名文件和目录,以便 encfs(和其他程序)可以继续。如果对您有帮助,请告诉我。