Updating RPMs using binary deltas (demo)
Toshio
toshio at tiki-lounge.com
Mon Jan 26 21:15:31 UTC 2004
On Mon, 2004-01-26 at 10:13, Toshio wrote:
> As a proof of concept this works so far for me. Unless someone else has
> already done this, I think I'll test it against the updates-released
> repository and see if I can generate any errors.
No errors from testing updates-released. All signatures verify and
packages intact. List of space savings at the bottom of this message.
The range is 19.5% - 99.2% savings with an average of 63.9%. I think
more than halving the bandwidth is an achievement.
However, you might notice that the kernel-source package is missing from
this list. I cancelled the xdelta after a couple hours of running. I
think the limiting factor on my machine was memory.
I looked into python as an eventual language for this and found that it
has rpm bindings and zlib bindings but no built in binary diff/xdelta
support. There is an add-on module
http://freshmeat.net/projects/pysync/ for librsync, though, that may fit
the bill.
I've taken a look at SuSE's website and it seems their use case for
their patch RPMs are to distribute as an alternative for full update
RPMS against their base release.
kernel: 43.94% of original: 56.06% savings
lftp: 45.13% of original: 54.87% savings
quagga-devel: 12.10% of original: 87.90% savings
ethereal: 71.32% of original: 28.68% savings
kernel-doc: 0.93% of original: 99.07% savings
redhat-config-printer: 0.80% of original: 99.20% savings
redhat-config-printer-gui: 2.23% of original: 97.77% savings
xboard: 66.87% of original: 33.13% savings
quagga: 36.31% of original: 63.69% savings
ethereal-gnome: 80.54% of original: 19.46% savings
gaim: 40.51% of original: 59.49% savings
mod_ssl: 31.90% of original: 68.10% savings
bash: 8.84% of original: 91.16% savings
rsync: 39.80% of original: 60.20% savings
grep: 12.05% of original: 87.95% savings
net-snmp: 48.08% of original: 51.92% savings
quagga-contrib: 14.49% of original: 85.51% savings
gnucash: 9.24% of original: 90.76% savings
dia: 63.72% of original: 36.28% savings
sed: 10.25% of original: 89.75% savings
gnupg: 43.28% of original: 56.72% savings
gnucash-backend-postgres: 1.40% of original: 98.60% savings
procps: 9.27% of original: 90.73% savings
binutils: 3.64% of original: 96.36% savings
Total RPM Size: 45140838 Total Delta Size: 16309380
Total Savings: 28831458 63.87% savings
--
Toshio <toshio at tiki-lounge.com>
More information about the fedora-devel-list
mailing list