BSDiff是一個差量更新演算法,它在伺服器端運行BSDiff演算法產生patch包,在客戶端運行BSPatch演算法,將舊文件和patch包合成新文件 演算法介紹 安裝步驟: 系統:centos wget http://www.daemonology.net/bsdiff/bsdiff-4.3.tar.g ...
BSDiff是一個差量更新演算法,它在伺服器端運行BSDiff演算法產生patch包,在客戶端運行BSPatch演算法,將舊文件和patch包合成新文件
安裝步驟:
系統:centos
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 bsdiff update 704,512 Courgette update 78,848