【问题标题】:Rsync with .dd.xz filesRsync 与 .dd.xz 文件
【发布时间】:2017-10-14 20:58:03
【问题描述】:

我正在尝试不同的方法来更新/写入 linux 设备上的图像并为此使用 rsync。

对于文件系统同步,rsync 检查并仅传输丢失/更改的文件,从而减少带宽。

以类似的方式,我创建了一个 10MB 的二进制文件(original.bin)并通过添加一些更改(modified.bin)来修改此文件并尝试同步 original.bin 文件。第一次传输整个文件设备上没有副本。下一个 modified.bin 文件重命名为 original.bin 并进行了 rsync。它只传输了 modified.bin 中的更改我想知道这是否与 .dd.xz 文件相同。我有 2 个 .dd.xz 文件(image1.dd.xz 和 image2.dd.xz,其中添加了很少的 dll 和单声道包),当这些文件被提取到 .dd 文件并且 rsync 传输仅更改时。

但是当我将文件同步为 .dd.xz 时,它会再次传输整个文件。有人可以帮助我了解这是预期行为还是 rsync 在 .dd 文件上的行为与任何其他文本文件相同?

【问题讨论】:

    标签: linux rsync dd xz


    【解决方案1】:

    xz 是 xz 压缩工具使用的扩展名。由于显而易见的原因,压缩文件不能与 rsync 一起使用。

    考虑是否最好使用 dd 图像而不压缩它们。您可以使用 pixz 命令更快地(解)压缩它们,该命令使用所有可用的处理器并行完成其工作。

    【讨论】:

    • 感谢 Ricardo 的回复。是的 xz 用于压缩。但是我创建了两个示例文件并尝试了 rsync。它仅在二进制文件和压缩文件(.7z)两种情况下传输文件的更改。 (original.bin 是 1MB 文件,modified.bin 在开始时添加了 15KB 数据,在文件中间添加了 15KB 数据到原始文件)。
    • Rsync original.bin "发送的总字节数:43 接收的总字节数:1,049,265"。 Rsync modified.bin -“发送的总字节数:43 接收的总字节数:1,080,112”。将 modified.bin 重命名为 original.bin 以便它基于已存在的文件进行 rsync 发送:6,187 接收:31,900(仅传输更改)。我使用 7zip 压缩这两个文件并尝试了 rsync。 Rsync original.7z -“发送的总字节数:43 接收的总字节数:1,049,454”,Rsync modified.7z “发送的总字节数:43 接收的总字节数:1,080,306”将 modified.7z 重命名为 original.7z 并再次 rsync -“发送的总字节数: 6,193 收到的总字节数: 74,561"
    • 对于压缩文件,由于压缩的性质,应用增量算法更加困难。压缩必须在 delta 算法之后应用。因此,rsync 会传输整个压缩文件,而不会尝试检测任何更改。
    猜你喜欢
    • 2022-10-02
    • 1970-01-01
    • 2015-06-11
    • 1970-01-01
    • 2011-07-28
    • 2014-05-05
    • 2012-02-21
    • 2013-01-31
    • 1970-01-01
    相关资源
    最近更新 更多