On Tue, Nov 29, 2005 at 04:36:02PM +0000, David Woodhouse wrote:
On Tue, 2005-11-29 at 16:01 +0000, Nigel Metheringham wrote:
> How well does it work if you pull the rpm header (presumably thats
> always needed for an update), build the payload using existing files on
> the system (ie from the previous install) via cpio/minigzip, glue the 2
> together and rsync that?
Badly. The compressed payload doesn't rsync well -- you have to
decompress it if you want rsync to do anything other than just download
it all again.
There were once some zlib patches which made zlib-compressed stuff
slightly more rsync-friendly by deliberately discarding history and
inserting sync points in the data stream, but they're not a patch on
just rsyncing the _uncompressed_ version.
The problem is the rsync block size. To make rsync reuse data
a complete block has to be found in the new rpm. If you have
a rpm with contains lots of small files (like the kernel) that
all are slightly changed (because they contain the version number),
the rsync delta protocol won't help much.
Cheers,
Michael.
--
Michael Schroeder mls(a)suse.de
main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);}