二进制差异文件

二进制差异文件

bsdiff使用max(17*n,9*n+m)字节的内存(其中 n 是旧文件的大小,m 是新文件的大小)根据http://www.daemonology.net/bsdiff/

在以下情况下,是否有更轻松(就内存而言)的替代方案?

  • 仅当我意识到
  • 我有sudo力量
  • 文件大小在 1 GiB 到 10 GiB 之间

我的用途:

  • 将文件从外部驱动器复制到tmpfs
  • 许多,许多写入操作将发生在文件中tmpfs(我不知道在大型二进制写入将会发生)
  • 使外部驱动器中的文件与tmpfs

目前我有两个解决方案:

  • 运行bsdiff以获取补丁(并将补丁应用到外部驱动器中的文件) - 这对我来说不起作用;我使用的计算机没有足够的内存来运行bsdiff这个大文件。
  • 将整个文件复制到外部驱动器。这可行,但会耗尽闪存擦除空间(记住,我正在处理大文件)并且需要很长时间(冗余复制)。

注意:我能够同时拥有“原始副本”(来自外部驱动器)和“工作副本”(与来自外部驱动器的副本相同,但将对此文件进行许多更改)tmpfs

监控文件更改并据此构建补丁是否可行(并且内存效率更高)?如果可以,怎么做?

相关内容