BSDiff是一个差量更新算法,它在服务器端运行BSDiff算法产生patch包,在客户端运行BSPatch算法,将旧文件和patch包合成新文件
安装步骤:
wget http://www.daemonology.net/bsdiff/bsdiff-4.3.tar.gz
tar zxvf bsdiff-4.3.tar.gz
cd bsdiff-4.3
修改Makefile 在倒数第一行 第三行 加TAB
然后执行make
make 会报错,确实zip库
执行下面命令安装(RHEL/CENTOS)
yum install bzip2-devel
编译完成后,会在目录下生成2个二进制文件:
bsdiff
bspatch
这2个二进制文件可以直接使用
也可以拷贝到/usr/local/sbin/下
cp bsdiff /usr/local/sbin/
cp bspatch /usr/local/sbin/
# bsdiff -h
bsdiff: usage: bsdiff oldfile newfile patchfile
# bspatch -h
bspatch: usage: bspatch oldfile newfile patchfile
扩展:
使用bsdiff 进行差分升级,还并不是最优的方式,google在它的Chromium项目中,对这个差分算法进行了优化,优化后的版本叫做小胡瓜
Courgette,据说性能优化了很多不是一个数量级了,官方的一个例子:
Full update 10,385,920
Full update 10,385,920
bsdiff update
704,512
Courgette update
78,848
原文链接:https://www.f2er.com/centos/378662.html