There is a plugin for yum called yum-presto. The idea is that many updates only have a tiny amount of changed update, the rest is redundant with what has already been installed. The heart of the buisness is a speed optimized version of the berkeley binary diff algorithm.
A delta RPM is made as follows:
makedeltarpm oldrpm.rpm newrpm.rpm deltarpm.drpmNote that RPM itself doesn't know anything about these. This is handled entirely by YUM and the new rpm must be reconstituted by YUM before being presented to rpm. The reconstitution is done via:
applydeltarpm delta.drpm new.rpm applydeltarpm -r old.rpm delta.drpm new.rpmThis can be done from a full repository via:
createdeltarpms ./repo ./repo/DRPMSTo create a presto repo (in particular the prestodelta.xml file) and then link the prestodelta.xml file to the repomod.xml file do:
createprestorepo ./repo modifyrepo ./repodata/prestodelta.xml ./repodata/
Adventures in Computing / tom@mmto.org