On my Asus 900.
I just started a yum update fire* libre* that took next ot no time to download from my local repo, but took over 10 min to build the local delta. Seems I am better of NOT having drpms available.
hmmm...
On Thu, 19 Dec 2013 17:30:08 -0500 Robert Moskowitz rgm@htt-consult.com wrote:
On my Asus 900.
I just started a yum update fire* libre* that took next ot no time to download from my local repo, but took over 10 min to build the local delta. Seems I am better of NOT having drpms available.
hmmm...
But don't you have all the updates locally? If you have unlimited bandwidth, or a good monthly allowance 500gb+ disable them /etc/yum.conf deltarpm=0
On 12/19/2013 05:36 PM, Frank Murphy wrote:
On Thu, 19 Dec 2013 17:30:08 -0500 Robert Moskowitz rgm@htt-consult.com wrote:
On my Asus 900.
I just started a yum update fire* libre* that took next ot no time to download from my local repo, but took over 10 min to build the local delta. Seems I am better of NOT having drpms available.
hmmm...
But don't you have all the updates locally? If you have unlimited bandwidth, or a good monthly allowance 500gb+ disable them /etc/yum.conf deltarpm=0
exactly what I am thinking. Just changed it and THAT is the behaviour I use to have.
thanks
On Thu, Dec 19, 2013 at 3:30 PM, Robert Moskowitz rgm@htt-consult.com wrote:
I just started a yum update fire* libre* that took next ot no time to download from my local repo, but took over 10 min to build the local delta. Seems I am better of NOT having drpms available.
Yeah, if you have a local mirror there's no point in using delta RPMs (or mirroring them, you could happily exclude them from your rsync if you wanted). You don't need to save bandwidth over your LAN, do you?
-T.C.
On Dec 19, 2013, at 3:42 PM, T.C. Hollingsworth tchollingsworth@gmail.com wrote:
On Thu, Dec 19, 2013 at 3:30 PM, Robert Moskowitz rgm@htt-consult.com wrote:
I just started a yum update fire* libre* that took next ot no time to download from my local repo, but took over 10 min to build the local delta. Seems I am better of NOT having drpms available.
Yeah, if you have a local mirror there's no point in using delta RPMs (or mirroring them, you could happily exclude them from your rsync if you wanted). You don't need to save bandwidth over your LAN, do you?
Does anyone know exactly what's happening during the rebuild? I understand from light documentation how deltarpm works, what I'm not sure is if most of the time is spent reconstructing a virtual oldrpm from an installed rpm, or applying the delta, or writing out the new install?
If it's not the former reconstruction aspect, it seems like a Btrfs aware deltarpm could simply write out the delta blocks to disk, which would be rather small, and then obsolete the old ones if the operation is successful. Fully rewriting the files isn't necessary by design with Btrfs.
Chris Murphy
On Thu, Dec 19, 2013 at a4:01 PM, Chris Murphy lists@colorremedies.com wrote:
Does anyone know exactly what's happening during the rebuild? I understand from light documentation how deltarpm works, what I'm not sure is if most of the time is spent reconstructing a virtual oldrpm from an installed rpm, or applying the delta, or writing out the new install?
It reconstructs a real honest-to-God RPM file that must match the shasum/GPG sig of the old one exactly, lest it be thrown out. (Those of us who've been around awhile might remember that in the past it couldn't handle changed config files properly, so deltas used to fail on various daemons all the time, greatly reducing their utility.) Said RPM is then passed on to rpm to update normally. rpm itself has no knowledge of this wizardry, it all happens in yum.
See `man applydeltarpm` and /usr/share/doc/deltarpm/README for more detailed information about the underpinnings. Yum just shells out to it.
If it's not the former reconstruction aspect, it seems like a Btrfs aware deltarpm could simply write out the delta blocks to disk, which would be rather small, and then obsolete the old ones if the operation is successful. Fully rewriting the files isn't necessary by design with Btrfs.
That would be awesome, but yeah, rpm would have to get a lot smarter than it is currently. ;-)
-T.C.
On Dec 19, 2013, at 4:14 PM, T.C. Hollingsworth tchollingsworth@gmail.com wrote:
On Thu, Dec 19, 2013 at a4:01 PM, Chris Murphy lists@colorremedies.com wrote:
Does anyone know exactly what's happening during the rebuild? I understand from light documentation how deltarpm works, what I'm not sure is if most of the time is spent reconstructing a virtual oldrpm from an installed rpm, or applying the delta, or writing out the new install?
It reconstructs a real honest-to-God RPM file that must match the shasum/GPG sig of the old one exactly, lest it be thrown out.
That sounds time consuming. I bet that's the big hit.
Chris Murphy
On Thu, 2013-12-19 at 16:43 -0700, Chris Murphy wrote:
On Dec 19, 2013, at 4:14 PM, T.C. Hollingsworth tchollingsworth@gmail.com wrote:
On Thu, Dec 19, 2013 at a4:01 PM, Chris Murphy lists@colorremedies.com wrote:
Does anyone know exactly what's happening during the rebuild? I understand from light documentation how deltarpm works, what I'm not sure is if most of the time is spent reconstructing a virtual oldrpm from an installed rpm, or applying the delta, or writing out the new install?
It reconstructs a real honest-to-God RPM file that must match the shasum/GPG sig of the old one exactly, lest it be thrown out.
That sounds time consuming. I bet that's the big hit.
It is. The worst part is that the rebuilt rpm has to also be compressed using exactly the same compression level as the original. The xz compression format (which is what Fedora's rpms use) is designed to be fast at decompression, but is pretty slow at compression, which slows down the rebuild time.
To answer your original question, applydeltarpm never reconstructs a virtual oldrpm. Rather, it grabs the necessary bytes from the files on disk as it applies the delta. This process is hard on IO, but isn't very CPU-intensive. Building the new rpm, for the reasons listed earlier, is hard on the CPU.
Jonathan
On 12/19/2013 05:42 PM, T.C. Hollingsworth wrote:
On Thu, Dec 19, 2013 at 3:30 PM, Robert Moskowitz rgm@htt-consult.com wrote:
I just started a yum update fire* libre* that took next ot no time to download from my local repo, but took over 10 min to build the local delta. Seems I am better of NOT having drpms available.
Yeah, if you have a local mirror there's no point in using delta RPMs (or mirroring them, you could happily exclude them from your rsync if you wanted). You don't need to save bandwidth over your LAN, do you?
I never pulled them in the past, but I got tired of the error messages, never adding the deltarpm=0. don't know why, so I decided to give it a try. Well it went bust, and I will delete them. Felt it was worth trying at least once. Ouch. :)