Hi.
I installed openSUSE Tumbleweed on my laptop and while managing some packages through Myrlyn, I noticed that it marks “alsa” as uneeded package. Is this ok? I was about to uninstall the unneeded packages.
Hi.
I installed openSUSE Tumbleweed on my laptop and while managing some packages through Myrlyn, I noticed that it marks “alsa” as uneeded package. Is this ok? I was about to uninstall the unneeded packages.
“Unneeded” in Myrlyn (and zypper) terms means that “no other package requires xxx”, in other words uninstalling alsa should not “break” the dependencies of any other package.
That does not mean that you do not need alsa to have a properly working system.
You may be installing a file server, where sound is not needed, but that has nothing to do with the dependency tree of packages.
If your system is a desktop it is indeed odd that alsa is marked as “unneeded”, since that means that no Desktop Environment is installed.
I stand corrected, apparently icewm requires alsa, but other desktop environments may not.
I checked a Gnome install with pipewire and without alsa and sound is working.
Of course you miss useful basic tools like alsamixer, so debugging sound problems might not be so easy, but you can definitely have a functional laptop even without alsa (but with pipewire).
Unneeded by what or who?
That “Classification” view in Myrlyn can show “Unneeded” or “Orphaned” packages. This is the same as
zypper pa --unneeded
zypper pa --orhpaned
(see man zypper or zypper pa --help)
This is taken over from YaST sw_single.
You can double-check if any package that you have installed requires or recommends “alsa”:
Of course subpackages like “alsa-utils” or “alsa-plugins” will require “alsa”. But if you decide you want none of them, you can remove them as well.
Hi.
I am back. So. I just took the decision to go ahead and uninstall the packages marked as “unneeded”. Uninstalling those packages then generated other unneeded packages, which I just went ahead and uninstalled too. I use Plasma and still have sound. I thought that uninstalling that package was going to break my sound or something but, apparently, everything seems ok so far.
I think the problem here is not that it does not show the same as YaST > Software or zypper pa --unneeded, but that while “orphaned” is defined in man zypper, “unneeded” is not (to increase confusion there is the somewhere the term “unneeded orphaned packages”).
And because there is no definition, everybody uses his own idea about what it is (or should be). Leading to such questions as in the title of this topic.
The definition is a bit fuzzy. But if you experiment with it a bit, you will find that it’s quite uncanny how correct the result is: It lists packages that are really quite superfluous. Like Alsa on a system that really doesn’t need it. Or xclock. Or icewm.
It doesn’t list any of the patterns pseudo packages, even though this is what one would expect. Probably libzypp has some internal heuristics to exclude e.g. “pattern*” and things like that.
While I was writing my previous post here, experiments showed me “alsa*” packages and “icewm*”; which makes good sense because nobody using a “real” desktop needs icewm these days, and icewm is the last package on my system that needs anything “alsa*”.
My only reason to keep icewm around is that I am paranoid about my Xfce maybe not starting one day, and then I’ll still have old, ugly, but trusty icewm (and xterm) as a fallback.
Of course, the result of those categories should never be taken for holy gospel. But it’s a hint to make your own decision.
I am not sure. There is a lot there:
boven:~ # zypper pa --unneeded | wc -l
360
boven:~ #
so more then 300. A snippet:
i | Main (OSS) | kactivitymanagerd-lang | 5.27.11-bp156.1.2 | x86_64
i | Main (OSS) | kaddressbook | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kcalc | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kcharselect | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kcolorchooser | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kde-oxygen-fonts | 0.4.0-bp156.3.2 | noarch
i | Main (OSS) | kde-print-manager | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kde4-filesystem | 4.14-bp156.3.1 | x86_64
i | Main (OSS) | kdegraphics-thumbnailers | 23.08.5-bp156.1.1 | x86_64
i | Main (OSS) | kdenetwork-filesharing | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kdnssd | 23.08.5-bp156.1.1 | x86_64
i | Main (OSS) | keditbookmarks | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kgamma5 | 5.27.11-bp156.1.1 | x86_64
i | Main (OSS) | kget | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kio_audiocd | 23.08.5-bp156.1.1 | x86_64
i | Main (OSS) | kio_kamera | 23.08.5-bp156.1.1 | x86_64
i | Main (OSS) | kitinerary | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kmag | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kmahjongg | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kmines | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kmousetool | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | knotes | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kompare | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | konqueror | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | kontact | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | konversation | 23.08.5-bp156.1.2 | x86_64
i | Main (OSS) | korganizer | 23.08.5-bp156.1.2 | x86_64
I doubt KDE will function anymore when removing them. Thus whatever the algorithm is, I need them and many more in the list.
I do not post this to start a yes/no discussion, but to show people that are innocent enough to remove all unneeded packages (yes, I have seen this here on the forums), to think twice before they decide that their idea of “unneeded” is the same as the system’s.
I find it strange that they all appear to come from the backports 15.6 repo (“-bp156”); that might be a hint. I checked some of them on my Slowroll with the method above, and they are mostly in one of the KDE patterns (i.e. they are recommended by one of those patterns); e.g. “konversation” in “patterns-kde-kde_internet”.
Isn’t that normal for an up-to-date Leap 15.6?
I don’t remember. It took my last Leap 15.6 out of commission a couple of months ago.
Please emphasize the “so far”. While most current apps use pipewire these days, if you need a few special sound apps you may be forced to reinstall alsa (and pipewire-alsa etc.).
+1
Basically, every desktop app that is not a dependency of something else is “unneeded”, you may uninstall all and the desktop should not crash on you (excluding packaging bugs that may happen), but you will be able to do only very few basic things with it.
As long as I see nowhere a precise defintion what zypper decides is “unneeded” I can deny nor admit what you say here.
A fruitful discussion based on vague terms, where everybody sees something different in her/his mind is impossible IMO.
Not really. I think the technical definition is clear enough, but it is as OrsuBruno describes - a package that when uninstalled “ should not break the dependencies of any other package”. That doesn’t mean such installed packages are not wanted by the user of course.
Well, that should then be in the man page, thus we all know.
Hm… I have a full-fledged Xfce4 desktop installed, and a handful of KDE programs on top, and yet:
[sh @ meteor] ~ 3 % zypper pa --unneeded
Loading repository data...
Reading installed packages...
S | Repository | Name | Version | Arch
---+-------------------+---------------------------+-----------+-------
i | Slowroll OSS Repo | typelib-1_0-Zeitgeist-2_0 | 1.0.4-1.4 | x86_64
[sh @ meteor] ~ 4 % rpm -qa "xfce*" | wc -l
87
[sh @ meteor] ~ 5 % rpm -qa "ko*"
konversation-lang-25.12.0-1.1.noarch
konsole-part-25.12.0-1.1.x86_64
konsole-part-lang-25.12.0-1.1.noarch
konversation-25.12.0-1.1.x86_64
kompare-lang-25.12.0-1.1.noarch
konsole-25.12.0-1.1.x86_64
kompare-25.12.0-1.1.x86_64
I installed Xfce4 by pattern (i.e. via “recommends”), and I selected the KDE programs manually. According to your theory, at least some of them should show up as “unneeded”; but they don’t.
Not a man page, a header file of libzypp:
Only autoinstalled packages can be unneeded.
So AFAICS it’s packages that are not required or recommended by another package (anymore), and that were auto-installed, i.e. because of a dependency.
And Google AI just told me that libzypp stores the information if a package was installed by user request or by dependency in the zypp history (/var/log/zypp/history); so if anybody has log rotation going on with that file, the information might get lost, so more unneeded files might show up.