我有一个运行 FreeNAS 8 的家庭文件服务器。几天前,我使用 rsync 从 Mac 上传我的整个 iTunes 库,这样我就可以通过网络加载我的库,而不是从一个慢速 USB 驱动器上加载。这主要是有效的,iTunes 现在运行得更好,但是我在访问任何包含非 ascii 字符的歌曲时遇到了问题(我在加载 Queensrÿche 曲目时首先注意到了这个问题)。这些文件会显示在 Finder 中,但任何访问它们的尝试都会使它们消失,直到我重新连接到服务器。
经过一些研究,我发现这是因为 OSX 使用与 Linux 不同的 UTF 字符顺序。OSX 文件系统使用 Unicode Normalization Form D (NFD),而 linux 使用 Form C (NFC)。Rsync 在执行从我的 mac 到服务器的复制时不会转换这些形式,现在当 iTunes 尝试通过网络访问具有特殊字符的文件时,服务器上的文件编码错误并且 afpd 报告它们没有不存在。
解决此问题的最佳方法是什么?是否可以让rsync在将基础库上传到服务器的同时进行unicode转换?我可以将 afpd 配置为传输/接收 NFD 格式的文件名吗?有没有简单的解决方案来更改服务器上的文件名?我找到了一些关于名为 convmv 的程序的资料,但我不知道我是否可以在 FreeNAS 上运行它。