---------- Forwarded message ----------
From: Pablo Sanchez <pablo@blueoakdb.com>
To: OpenSuse-Factory <factory@lists.opensuse.org>
Cc: 
Bcc: 
Date: Tue, 7 Mar 2023 16:24:48 -0500
Subject: Re: TW slow to process zypper dup??
Hi Fritz,

As you know, running *zypper dup* has various steps.  High level this is
my understanding:

 1. Refresh of the local repositories  (Internet)
 2. Pulling down RPMs (Internet)
 3. Applying the RPMs (local)

I find the refreshing to be somewhat static.

The next step of pulling down RPMs is dependent on one's Internet
connection along with the demand on the mirror.  Just in case, here's
more information on the mirrors -
https://en.opensuse.org/openSUSE:Tumbleweed_mirrors

The final step is applying the RPMs.  It is my limited understanding
that applying each RPM is treated as an individual transaction: 
all-or-nothing.  The serialization is great should there be a system
interruption (power failure) but it also has a performance hit.

If you want to have *zypper* create use a single RPM transaction (you
have a UPS or a laptop), you can set the following environment
variable:  ZYPP_SINGLE_RPMTRANS=1.

I also have set ZYPP_MEDIANETWORK=1.

Here are the definitions of each from the mother ship[1]:

  * |ZYPP_MEDIANETWORK=1|Turn on the new multithreaded backend
    (experimental)
  * |ZYPP_SINGLE_RPMTRANS=1|Enable alternative and !!!experimental!!!
    commit strategy where all rpm operations are executed in a single
    rpm transaction, which results in much faster commits.

I hope it helps!

Cheers,

::: References :::

[1] - Zypper environment variables
https://doc.opensuse.org/projects/libzypp/HEAD/zypp-envars.html

---
Pablo Sanchez - Blueoak Database Engineering


@Pablo:

Thanks for the details . . . I run a very basic #zypper ref && zypper dup -l  . . . not digging under the hood very much.  I'm recalling now that one of the forum guys had me set up a script of some type, that would essentially be running upgrades as they came in . . . which I did do.

But, I boot a different system every day and it's about busy-ness, so I don't want to cut some script process off while it's running . . . so I just manually run the zypper . . . as root, in screen -L . . . .

I essentially do the same thing with each of my other systems "update/upgrade" often using sudo . . . .  I'm not digging down into the process and messing around with it.  It is essentially box stock, run by zypper . . . .

F