So I’m still pretty new to Tumbleweed, as I have been running it on one of my machines for about 6 weeks. I’m pretty happy with it so far, no major problems, but please help me understand why todays sudo zypper dup
resulted in it installing 165 new packages (see screenshot).
I installed TW with the XFCE Desktop, but I mainly use the dwm window manager, so I don’t understand why all those new packages are installed, especially as most of them seem to be related to KDE/Qt6.
Tumbleweed is a rolling release distribution, which means that packages are regularly updated to the latest versions. Sometimes this also includes additional dependencies that need to be installed to keep the system stable and functional.
Ok, this might be true for some of those packages, but I really doubt that e.g.konsole
(the KDE terminal emulator), which got installed via this latest upgrade, has anything to do with stability.
TBH this looks like some kind of bug to me.
This is a small one update. As a rolling release, openSUSE Tumbleweed usually has hundreds of packages updates. If it’s not what you expect, you should consider something else, maybe openSUSE Leap.
But something annoys me, there are some development packages to be installed like cmake, gcc and ninja. Also, doesn’t make sense all those KDE packages, even Konsole is enrolled to install.
Run this command and attach the file /tmp/zypper-XXXXX here
LANG=C; TMPFILE=$(mktemp /tmp/zypper-XXXXX) && zypper search --installed-only --details | tee ${TMPFILE}
If it were possible to read something on this picture, it could be possible to answer this question.
It is still a mystery to me why anyone would make a picture of pure text instead of just selecting text and pasting it here. Of course, pasting it as preformatted so it remains readable would be a bonus.
If I right-click on the image and open it in a new tab, it is readable for me.
Next time, I will make sure to copy+paste the text, but I don’t want to roll back the system just for this now. I simply took a screenshot because I thought it’s odd that so many new packages are installed.
I’m familiar with rolling releases, I run another rolling distro on my laptop. I have no problem with the amount up packages upgraded, I just found it odd that so many new packages were installed, like e.g. konsole is in there, which makes no sense whatsoever on a non KDE/Plasma Desktop (just to be clear, I never manually installed konsole or any other KDE application).
Anyways, thanks for the help and here is the output of the command (one can only attach image files it seems): https://hastebin.com/share/izexihimed.less
You can roll back, adjust zypper configuration, then dup again and most likely all those KDE packages will remain uninstalled. If again it proposes to install KDE, you may lock specific packages that trigger others.
To prevent unnecessary additions, /etc/zypp/zypp.conf needs an edit so that it includes:
solver.onlyRequires = true
This avoids installation of “recommends”. Try doing this only first, but if it doesn’t do the job as well as you would like, abort and before trying again, add some insurance against unneeded KDE packages, by locking several from the proposal list, e.g.:
zypper al kwin6 kf6-kconfig kf6-kwindowsystem libKF6ConfigWidgets6 libKF6CoreAddons6 libKF6WindowSystem6
If this doesn’t cut the additions down enough to suit, abort, lock several more from the list of proposed new packages, and try dup again.
Likely the reason all those were installed was due to default recommends inclusion (solver.onlyRequires = false), and your having at some point installed either some KDE application or some other application that utilizes either QT or other KDE underpinnings, which drew in some dependencies no longer needed now, but which trigger installation of KDE packages via recommends.
What you could do after rollback is before another dup running:
zypper pa --unneeded
Whatever you see in the list that you know you don’t need you can safely remove, further limiting likelihood of undesired new package additions.
After rolling back and making this edit, zypper dup
does not show all those new packages anymore, so this fixed my problem, thanks!
I still think its a bit of a weird default to just install a bunch of “recommended” software I never asked for, but glad I learned how to disable it.
Gonna look at the other zypper options you mentioned on another day, always good to learn sth new.
@afleck
You can try to find what required those packages with: rpm -q --whatrequires konsole
and so on.
If they were installed by recommendation you will find the recommendation made by one of these packages: zypper packages --userinstalled
However it might be hard to track it down, since it may be a tree of recommendations.
In a fresh installation, those packages are not installed during upgrade.
I’m not sure if this is the best advice, features can be lost by this.
I would rather check what is proposed to be installed and lock what I don’t want.
I had that problem as well. In fact, Libre Office was pulling all those unneeded dependencies in. So I performed a zypper al libreoffice*
, went with a regular zypper dup
, removed the locks (unfortunately, you cannot use a wildcard like "libreoffice"* for that) and finally performed a zypper dup --no-recommends
to update just Libre Office without those dependencies. Seems like the cleanest approach to me.
I’d also not recommend that as default, because usually you’ll gonna miss out on some functionality. Maybe that’s only me, but if I really need that option, I will always use the --no-recommends
option manually.
I guess there are different approaches to look at that topic. If you want a system with minimum packages installed and a low memory footprint on your harddisk you can go without those recommended packages. On the other side, there often is functionality relying on those dependencies that won’t work if you didn’t install those packages. And let’s get real here… harddisk space - or better to say solid state disk space - of that kind of categories we’re talking about, maybe a few megabytes here and there, is cheap. Personally, I don’t like chasing “bugs”, because I missed a dependency I would have needed.
The reality is not just space saved, but it’s generally just brown behavior, wasting what seems to be free but isn’t. It’s not just overabundant and unneeded space wasted, on both installed system and backup media, but also bandwidth wasted, every time there’s an update, and time wasted in every full backup and full restore. It’s more little things that add up to hurt the already hurting environment. Best if not necessary, don’t, with everything, not just “free” software.
I do agree in keeping the system as lighter as possible. After installing openSUSE Slowroll I removed something like this:
333 packages to remove. After the operation, 612.9 MiB will be freed.
But it’s a completely different thing telling to lay people to change a behaviour of something that may raise in the future problems like:
- non installed codecs after installing a player; or
- non installed translations.
Why doesn’t openSUSE just do what Mint does, install everything in the entire repo system, just to cover what might inconvenience someone somewhere someday between now and the end of time if some optional software has not already been installed? Needs are handled through dependencies, not recommends. At least, that’s how package management is supposed to be functioning. People who don’t want their openSUSE to behave just like Mint have that option, a choice. Some of us like choices. Some of us have a lot of fun with choices.
No need to dramatically exaggerating on this.
I’ve never said that those who want to use --no-recommends or even change /etc/zypp/zypp.conf should be prohibited of doing it. I just only said that this is not a wise advise to be widespread among lay users.
If every additional package are marked as required, where the so called choices will be when one is unable to remove an unnecessary codec, translation or anything else that is meant to be OPTIONAL.
Required packages, those for which dependency exists, in theory at least, are those whose absence breaks a package to the extent that either it is completely unusable, or some function it’s supposed to provide for every installation is absent or breaks. Recommends are for extra functionality that does not break basic functionality. e.g., zypper requires libzypp, but for it zypper-log is only recommended, and thus optional, as its absence breaks no functionality that the package zypper includes.
I wrote “in theory” because in openSUSE, a number of font packages are required that break nothing more than possibly the ego of the packager, as no actual evidence of functionality lost by their absence ensues. For more than a decade I’ve been force removing and locking several “required” font packages, and have no evident font problems resulting from their absence, though I would by their inclusion.
Every package can be removed. The sense in doing so, or even considering to do so, varies.
As a packager, If we don’t put Recommends:
into our packages, 50% of the users complain about missing functionality.
If We do put Recommends:
in our packages, 50% of the users complain about unwanted functionality, or a nonsense claim of bloat.
There’s no winning.
I wasn’t really prepared for the discussion about the environmental consequences of installing recommended packages, sorry. As long as those recommends add functionality to the software I‘m using, I‘m willing to accept the trade off. Don’t get me wrong, I also remove unneeded packages from my systems, but all in all, my approach is to value functionality over a few megabytes saved.
But let’s not talk about personal preferences here. Should users know that there is a choice to go only with the needed dependencies? Yes, for sure. Would I recommend it as default for a user whose working behaviors I don’t know? Probably not. That’s my point.