Delta RPM packages contain the difference between an old and a new version of an RPM package. Applying a delta RPM on an old RPM results in the complete new RPM. It is not necessary to have a copy of the old RPM, because a delta RPM can also work with an installed RPM. The delta RPM packages are even smaller in size than patch RPMs, which is an advantage when transferring update packages over the Internet. The drawback is that update operations with delta RPMs involved consume considerably more CPU cycles than plain or patch RPMs.
The prepdeltarpm, writedeltarpm, and
applydeltarpm binaries are part of the delta RPM suite
(package deltarpm
) and help you create and apply
delta RPM packages. With the following commands, create a delta RPM called
new.delta.rpm
. The following command assumes that
old.rpm
and new.rpm
are
present:
prepdeltarpm -s seq -i info old.rpm > old.cpio prepdeltarpm -f new.rpm > new.cpio xdelta delta -0 old.cpio new.cpio delta writedeltarpm new.rpm delta info new.delta.rpm
Finally, remove the temporary working files
old.cpio
, new.cpio
, and
delta
.
Using applydeltarpm, you can reconstruct the new RPM from the file system if the old package is already installed:
applydeltarpm new.delta.rpm new.rpm
To derive it from the old RPM without accessing the file system, use
the -r
option:
applydeltarpm -r old.rpm new.delta.rpm new.rpm
See /usr/share/doc/packages/deltarpm/README"
for
technical details.