【发布时间】:2021-01-02 19:30:37
【问题描述】:
我正在尝试通过为几乎相似的二进制文件创建补丁来减少数据传输到我的嵌入式 linux 设备。 我的设备有内存限制,因此对于大约 36-60mb 的二进制大小,我的目标无法承受像 bsdiff 和 bspatch 这样的重算法。我想知道具有最佳算法的命令来区分和修补文件,这些文件可以使用最少的内存量。我在这里也附上了 df 和 free 的输出。
【问题讨论】:
-
您需要明确指定您有哪些限制(如内存量),因为大多数人不认为
bsdiff或xdelta是用于此目的的不寻常工具。跨度> -
我无法将 bspatch 用于 35 mb 文件。我猜 bsdiff 会占用更多内存,大约是文件大小的 17 倍。所以我正在寻找一种更便宜的算法,即使它需要很多时间来修补。
-
如何将补丁卸载到具有 512MB RAM 的 10 美元 Raspberry Pi 零 W 上?
-
它是旧设备,无法更改硬件。因此,我正在寻找一种可以在约束范围内工作的算法。
-
@bk2204 问题不在于二进制文件不存在。问题是什么算法在 linux 下可以使用最少的内存。 Rdiff 也可能是一个解决方案,但我不知道它是否也需要太多内存。 Bsdiff 详细信息在此链接上,它消耗大量内存,可能不适合嵌入式世界。 daemonology.net/bsdiff
标签: linux shell memory embedded-linux patch