在 Linux 上使用 rsync 从 HFS+ 复制到 HFS+

在 Linux 上使用 rsync 从 HFS+ 复制到 HFS+

我有一台小型 Linux 服务器。我的数据保存在多个 HFS+ 驱动器上,我想将它们合并到另一个 HFS+ 驱动器上。驱动器将通过 USB HDD 底座连接到服务器。我在服务器上运行的是 Ubuntu 12.10。

如果我通过 Linux 将文件从 HFS+ 复制到 HFS+,资源分支会被保留吗?

PS 我认为最好的工具是 rsync 3,但如果有人有更好的建议,请告诉我。

答案1

除非你从曾经尝试过这个问题的人那里得到答案,否则快速谷歌一下似乎会表明你玩火

尽管SuperUser 上的一个问题表明较新版本的rsync支持资源分叉,但我在任何上游更新日志中都没有看到这样的提及。它可能特定于 OS X 版本的rsync

这里要非常小心:

  • 大多数 Linux 程序都不会意识到资源分支。
  • 内核驱动程序公开的资源分支在操作系统中显示为虚拟“目录”。资源分支绝对不是目录,因此任何将其解释为资源分支以外的任何内容的程序都不会复制您想要的内容。

我似乎无法找到的一件事是,如果目标是相同类型的文件系统,直接复制单个文件的文件系统调用是否会捕获完整传输所有内容的极端情况。这就是我对内核系统调用的理解变得模糊的地方。我想说的是,考虑到实现,这不太可能,因为cp -R,未修补的rsync等会在尝试复制目录结构时完全崩溃。

除非得到比我更好的答案,否则您最好使用某种“容器格式”将一组数据完整地复制为单个文件。这需要您将驱动器重新连接到实现本机 HFS+ 的某个设备,并且您有足够的空间容纳额外的文件。我链接的帖子提供了一些建议。

相关内容