Я имею два изображения раздела (A и B) и хочу использовать их для создания патча, который я могу применить на на другом компьютере для получения нового изображения B, не лавинно рассылая сеть. У меня есть следующие требования:
Чему-то нравится, которые существуют?
Необходимо, вероятно, смотреть на rsync-связанные инструменты: rdiff и rdiff-резервное-копирование. rdiff
команда позволяет Вам произвести файл исправления и применить его к некоторому другому файлу.
rdiff-backup
управляйте использует этот подход для контакта со всеми каталогами, но я предполагаю, что Вы работаете с однофайловыми образами дисков, таким образом, rdiff
будет тот для использования.
xdelta может сделать все, что Вы хотите. Справедливое предупреждение, хотя, если Ваши изображения не очень похожи, можно закончить с очень большим патчем, потому что xdelta использует половину определенного буфера памяти для нахождения различий. Больше информации доступно на уровне страницы TuningMemoryBudget wiki. Увеличение размера буфера может выручить вполне немного.
bsdiff является другой опцией, но это - очень RAM, голодная и абсолютно несоответствующая для чего-либо размер образа диска.
bsdiff является довольно требующим много памяти. Это требует
max(17*n,9*n+m)+O(1)
байты памяти, гдеn
размер старого файла иm
размер нового файла. bspatch требуетn+m+O(1)
байты.