Zypper / Yast2 difference in performing update?

OK… so when performing an update because a new snapshot has been issued, what actually is the difference between using:

from the command line whilst not logged in to a desktop session: “zypper up” and

from within a desktop GUI: “yast2 (sw_single) -> Package -> All Packages -> Update if newer version available”

I thought the latter was functionally equivalent to “zypper up”, (“zypper --help” indicates “up - Update installed packages with newer versions”).

Is there perhaps something that yast2 (because it is running within a desktop session) is unable to do…

On 2015-09-17 14:06, tannington wrote:

> I thought the latter was functionally equivalent to “zypper up”,
> (“zypper --help” indicates “up - Update installed packages with newer
> versions”).

Why do you think it is not so?


Cheers / Saludos,

Carlos E. R.

(from 13.1 x86_64 “Bottle” (Minas Tirith))

There is a difference. An example from last week on my sandbox TW install:

The *-lang packages in the Frameworks5 repo for plasma 5.4.1 already finished building and were published, where the matching * packages hadn’t, so were still 5.4.0. This shows the difference:

  • zypper ref && zypper up
    resulted in “Nothing to do”

  • Yast2’s Software Manager -> Packages -> All Packages -> Update if a newer version is available
    resulted in a long list of failed dependencies for the 5.4.1 *-lang packages reporting the 5.4.1 * packages were’nt available.

That’s not new, it has always been like that. AFAIK

Personal experience (3rd paragraph after the quote):
https://forums.opensuse.org/showthread.php/509590-updated-to-openSUSE-20150903-(Tumbleweed)?p=2727303#post2727303

Another user:
https://forums.opensuse.org/showthread.php/509590-updated-to-openSUSE-20150903-(Tumbleweed)?p=2727358#post2727358

And another:
http://lists.opensuse.org/opensuse-factory/2015-09/msg00491.html

On 2015-09-17 15:46, tannington wrote:

>> Why do you think it is not so?
>
> Personal experience (3rd paragraph after the quote):

Well, my recommendation for Tumbleweed has always been “zypper dup”.


Cheers / Saludos,

Carlos E. R.

(from 13.1 x86_64 “Bottle” (Minas Tirith))

Not if you have additional repos active. In that case zypper looks for the highest available version in all repos ( if you “switched packages” or zypper dup --from thatrepo ). To keep the repo structure intact I use zypper up.
Just tested this on my TW. Despite of a zypper dup --from Packman a zypper dup is going to switch amarok from Packman to the stock version, simply because that one currently has a higher version number. A zypper up shows nothing to do.

I think what you mean is: Not if you want to keep packages that have been sourced from additional repos. Those packages may have been previously installed either using the YaST “switch” or a "zypper dup --from a_specific_repo", for example.

In that case you can use use “zypper up” to keep Amarok installed from Packman. OK, but you had better know what you are doing, because it can miss some changes that the TW snapshot included to be made. It will also avoid conflicts, which again you won’t be aware of.

I prefer to do a plain “zypper dup”, and afterwards manually re-install the odd one out. I haven’t seen the Amarok example, probably because I have Packman repo at a higher priority (lower number). Strangely here Audacity keeps switching to the version from TW’s oss repo, in spite of Packman’s priority.

On 2015-09-17 16:56, Knurpht wrote:
>
> robin_listas;2728643 Wrote:

>> Well, my recommendation for Tumbleweed has always been “zypper dup”.

> Not if you have additional repos active. In that case zypper looks for
> the highest available version in all repos ( if you “switched packages”
> or zypper dup --from thatrepo ). To keep the repo structure intact I use
> zypper up.

But not if you do “export SOLVER_FLAG_DUP_ALLOW_VENDORCHANGE=0” :slight_smile:


Cheers / Saludos,

Carlos E. R.

(from 13.1 x86_64 “Bottle” (Minas Tirith))

I do check what “zypper dup” gives.

Carlos’ suggestion is another option one could use.

Conclusion: there are quite some ways that lead to Rome :smiley:

That’s a good idea when using zypper up for a snapshot upgrade. If it’s just one of those interim Packman only updates I just use P’Kit notifier/updater or zypper up.

Carlos’ suggestion is another option one could use.

It’s particularly good for users hooked on typing longer arcane and experimental commands, and who don’t really use Tumbleweed very often.

Conclusion: there are quite some ways that lead to Rome :smiley:

Reminder: Look what happened to Rome - the ancient one. :wink:

Interesting discussion guys… I’ll probably move to using zypper dup/up for future updates.

The original question of why there is a difference (sometimes) in action between “zypper up” and “yast2 (sw_single) -> Package -> All Packages -> Update if newer version available” still remains; however, that was more out of curiosity.

My impression:
YaST -> Package -> All Packages -> Update if newer version available does what the name suggests: it updates all packages that have a newer version available (in the same repo), i.e. it is the same as clicking on all packages in the list manually and selecting “Update”.

“zypper up” (or dup) has a more complete picture though. It takes all available packages into account, and therefore also notices when a package gets replaced by another one with a different name (e.g. libKF5Server/Client -> kwayland).

Yes…

I had assumed that yast sw_single was simply a graphical front-end for zypper; that assumption I guess is wrong, hence the difference in actions. So whilst not perhaps a bug per se, yast needs to be a little more intelligent … hmm, a little like me :\

No, YaST is no graphical frontend for zypper.

YaST and zypper are different, independent, frontends to libzypp, which provides the actual package management functions.