I noticed that the update repo has both delta.rpm and *.rpm suppose I download the delta.rpm how do I install that? I also noticed that the software installer does not always download the delta.rpm is there a reason for that? Do I need to configure something?
man applydeltarpm
You should be able to disable it through /etc/zypp/zypp.conf
Whether to consider using a .delta.rpm when downloading a package
Valid values: boolean
Default value: true
Using a delta rpm will decrease the download size for package updates
since it does not contain all files of the package but only the binary
diff of changed ones. Recreating the rpm package on the local machine
is an expensive operation (memory,CPU). If your network connection is
not too slow, you benefit from disabling .delta.rpm.
download.use_deltarpm = true
But by default it should always use delta rpm if they are available (only official updates repo has them).
Thank you for the answer but I did get stuck after reading :
man applydeltarpm
I am not sure how to use applydeltarpm with the delta.rpm I downloaded from the update repo. Please can you write out the command so that I can update certain files using the delta.rpm
I checked on the /etc/zypp/zypp.conf and the default value is true but still the system downloads the plain rpm file instead of the delta.rpm and apply the update. Certainly some more configuration!!
$ applydeltarpm source.delta.rpm target.rpm
To find the name of the target RPM use
$ applydeltarpm -i source.delta.rpm
I have copies of delta RPMs for the openSUSE online update in a local directory. For some reason YaST Online Update will insist on using RPMs instead of delta RPM, when updating from this local directory. So I have to use the following script to convert the delta RPMs manually:
ATIME=3 # access time less than 3 days ago
find -type f -atime -$ATIME | grep ‘delta.rpm$’ | while read DELTARPM; do
TARGET=$(applydeltarpm -i $DELTARPM | grep '^target rpm: ’ | sed ‘s/^target rpm: //’)
SUFFIX=$(echo $DELTARPM | sed ‘s/^.(…).delta.rpm/\1.rpm/’)
if ! -e $TARGET$SUFFIX ]; then
applydeltarpm $DELTARPM $TARGET$SUFFIX
fi
done