I am just curious and that is why I ask this question.
I have noticed that when I run zypper up
, some packages are rpm, some are drpm. Now downloading and installing rpm is several times faster then if the package is drpm - and downloading, applying delta (this one!) and installing is much, much slower.
Simple question: why is that?
drpm is a “delta rpm” and the files included are just those changed from the installed package, not the whole set in the new version of the package. That comes from a time when internet speed (at least in some regions) was much slower, so saving in file size meant a significant saving in download time.
As you see, now that does not apply in most regions and the time spent analyzing installed packages, unpacking and replacing individual files might easily be more than the saving on pure download time, especially on slower, mobile CPUs.
Check in /etc/zypp/zypp.conf
for the parameter:
##
## 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 = false
I have set it to false
because I have fiber to the home (and unraveling the delta RPM takes indeed time).
Edit, I found this in a zypp.conf.rpmnew
:
##
## Whether to consider using a .delta.rpm when downloading a package
##
## Valid values: boolean
## Default value: false
## true on SUSE-15.6 and older
##
## 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 = false
So it seems that the default changed. That could explain why you see it used on some systems and not on others. Which is BTW different from your first post where you think you see it for some packages and not for others on the same system.
It not that I want to change something.
I thought that drpm should work faster.
When you have understood what we tried to explain, then it depends on your situation:
- with slow Internet connection the delta download will be faster, but the local processing will be slower;
- with fast Internet connection the normal download will be fast and the processing will be much less.
You should decide which of the two fits you better. But it is NOT so that, on the same system without changing the parameter, sometimes the delta will be used and another time not. It fully depends on the value of the parameter.
Are you saying that I can force zypper
and/or Yast
to force to use either rpm or drpm?
Is it not on the packager to decide whether it is rpm or drpm?
I am just a simple computer user and I observed that while I do zypper up
, some packages are rpm, some are drpm at the same update. There is not my choosing.
The parameter rules if the one or the other is used. But deltas can only be used if they are available. Maybe they aren’t always, e.g. when the differences are so large that the delta is larger then the original.
I do not know exactly, but what I do know that long ago, by default after system installation, my systems used deltas. That took a lot of processing and disk access. Having fast internet connection, I switched when I found out about it. Since then (years ago), I switch delta usage off direct after any installation.
Deltas don’t get built for every package.
And I would suspect that they’re probably not going to be built at all at some point in the future. They were an attempt to reduce bandwidth needs, when folks were typically on slower connections, and they never really worked to do that, in the grand scheme of things.
Ok. I’d got what I needed.
We can close this topic.
Sorry, it isn’t “we”, it is “you”.