Is downloading only the .delta.rpm files enough for updates to work?

I currently mirror the updates repository to my computer using rsync. I was wondering if I could save space and bandwidth by only rsyncing the .delta.rpm files? Are there any disadvantages to this or does zypper/YAST handle updates just fine with it?

No, mirroring just *.delta.rpm won’t work as for some patches there is no delta but only a full *.rpm. For example in Index of /update/11.4/rpm/x86_64 there is gjs-0.7.11-1.3.1.x86_64.rpm but no delta.

Moreover, the delta files contain just the changes (therefore “delta”) between two package versions, for example MozillaFirefox-4.0b12_4.0.0-1.2.1_0.3.1.x86_64.delta.rpm contains the difference between 4.0b12 and 4.0.0. If the system contains a different version (e.g. installed manually) the delta cannot be used.

And the delta can be used only when the original package was not modified locally (patching could provide wrong results in such case).

In these cases libzypp (for both zypper and YaST) will download full RPM packages instead.

But it should work the other way round - if a delta cannot be downloaded/applied libzypp will try the full RPM. So you can save some space/bandwidth by mirroring only the full RPMs (and ignore the deltas).

Thanks for the detailed answer. I just did some quick checks with du -sch on my opensuse11.4 updates repo mirror. It looks like the delta RPMs take up less than 3% of the space, so there’s little point in excluding them.

Anyway it doesn’t matter so much, I have enough space and bandwidth, was just seeing if an optimisation was possible.

Look at 11.3 updates to see how it can possibly change in the future, 11.4 is too young, there are few patches now.