У меня есть два набора двоичных файлов (до и после определенной операции), и мне нужно выполнить различие между наборами и исправление первого набора, чтобы получить второй набор.
Как я могу выполнить исправление с помощью предустановленных инструментов Ubuntu (или лучше, Debian)?
Меня не волнует, как создать diff, поскольку он находится на моей машине разработчика, но исправление выполняется на машинах, которые базовые машины Ubuntu / Debian.
Мне известно о bspatch
, но он не предустановлен.
diff
/ патч
не могут быть использованы; с использованием предустановленных tools
подразумевает, что никакие пакеты не могут быть установлены. В зависимости от точной интерпретации using standard [...] tools
, допустимое и очень независимое от платформы решение состоит в том, чтобы загрузить и создать bspatch на целевых машинах.
bspatch не имеет никаких зависимостей; это просто требует gcc (который предварительно установлен, по крайней мере, на Ubuntu):
wget https://github.com/mendsley/bsdiff/archive/master.zip -O /tmp/bsdiff-master.zip
unzip /tmp/bsdiff-master.zip -d /tmp
cd /tmp/bsdiff-master
./autogen.sh
./configure
make
и /tmp/bsdiff-master/bspatch
готово к употреблению.