I’ve been trying Tumbleweed for my gaming needs and so far it seems to be working relatively well. My issue is about removed packages. When I first installed TW, I removed quite a few packages I did not want (KSudoku, LibreOffice, and a few others). It has been a little since I’ve turned on my PC but yesterday I noticed that KSudoku, LibreOffice, and really all other apps I thought I had uninstalled (sudo zypper remove <package-name>) were back on my desktop. I thought “maybe I forgot to uninstalled them in the first place” so I went through and removed all the unwanted stuff again. Since it had been awhile I updated my OS right after uninstalling those packages. After the update (sudo zypper up), I rebooted and immediately noticed that all those packages I had just removed were back (AGAIN). So WTF… am I not removing those unwanted packages “properly”? Why do they keep coming back after updates? How can I prevent this?
Open Yast and mark those packages as taboo. That way they’ll never reinstalled again after an update. Use zypper dup for updating tumbleweed. The zypper up its for updating openSUSE leap.
Thank for the dup vs up tip. I found it odd having to do both.
Took me a bit to see these patterns/packages (mainly because I’ve never used Yast). I can see these patterns and the software that they install, is it better to use Yast to remove the packages and the patterns and mark them as “Don’t install that sh.t again” or through cli?
Should not matter, whether you use zypper (CLI) or YaST. They use the same backend code (ZYpp).
Yast2 Gui GTK just makes it easier because you can click on the games pattern to toggle delete, update, lock, etc
This is the most annoying thing about TW. You gotta do “zypper dup --no-recommends”
Right… does it even make sense that installing all recommended packages is the default zypper behavior? Lyx for example will install a 2GB Tex distribution by default, which will conflict with any existing Tex install. Why on earth is that the default… If you are installing Lyx, you very likely at least understand that you need to choose a Tex distribution.
Always check the package list when updating. Tumbleweed for some reason occasionally wants to install Patterns even if they were not included to begin with. I’ve taken to updating with the command:
sudo zypper dup --no-recommends
to avoid installing packages/patterns I’m trying to avoid. You could probably also mask some packages so they are never installed, but I haven’t looked in to that.
Hope that helps.
You can also change this behavior in libzypp configuration file, if I recall well.
OpenSUSE use patterns. Groups of packages that can be selected during installation. If one of the included pattern packages is removed it will be “fixed” when updating. You can uninstall some patterns, but be careful as some may be more important than others, leaving you without a graphical interface or something like that. If you decide to do a reinstall, you can deselect a lot of patterns (search for “pattern” in the software selection section of the installer).
Okay so I ran sudo zypper search pattern* and found one called patterns-games-games and patterns-office-office. I assume these are the “patterns” responsible for installing stuff like Kmines, KSoduku, LibreOffice, etc which I don’t want. I also assume I can run sudo zypper remove patterns-games-games to remove it all? Or do I need to remove the packages individually and then remove the pattern?
If you taboo a pattern it and the packages it would install will never be installed automatically. I tend to taboo those games patterns.
Removing a pattern doesn’t unfortunately remove the packages it installs. Only the pattern “package” is removed.
Are you perhaps accidentally booting from a system snapshot?
Well when I boot after reboot, I see updated software packages and running uname-a shows the new kernel zipper said it was going to install. Based on that I assume that the answer would be no
Check your install paths when you uninstall them. Do the files from the packages still exist?
I believe OpenSUSE uses something called “meta” packages that contain a bunch of other packages. For example if there’s games-meta package it will fetch a bunch of games and during update it may try to install them again. Search through installed packages and see if you have any meta ones.
Did not find any meta packages installed
They are the “patterns” others mentioned.
Patterns almost made me skip opensuse, until I locked most of them so they won’t annoy me anymore. I start with only selecting some basic patterns in the installer:
apparmor base documentation enhanced_base minimal_base sw_management x86_64_v3
When installed, I run this in my fresh system:
# save the currently installed patterns in a variable installedPatterns=$(zypper se --type pattern --installed-only | grep -E "(.*\|){3}" | cut -d'|' -f2 | tail -n+2) # lock every existing pattern sudo zypper addlock --type pattern $(zypper search --type pattern | grep -E "(.*\|){3}" | cut -d'|' -f2 | tail -n+2) # lock every package starting with "yast" sudo zypper addlock yast* # unlock the patterns you had installed sudo zypper removelock --type pattern $installedPatterns
Pro:
- Only real dependencies get installed when adding packages
- Nothing re-installs because it belongs to an installed pattern
- No need for
--no-recommends
Con:
- You have to find out the packages you need yourself
For a minimal gnome install, use these packages (likely some more depending on you setup):
avahi evince flatpak fwupd gedit gnome-calculator gnome-disk-utility gnome-keyring gnome-session-wayland gnome-system-monitor gnome-terminal gnome-tweaks gnome-user-share gparted gtk2-metatheme-arc gtk3-metatheme-arc gtk4-metatheme-arc libqt5-qtwayland loupe MozillaFirefox MozillaFirefox-translations-common pipewire-pulseaudio qt6-wayland sane-airscan simple-scan tpm2.0-tools wireplumber-audio xdg-user-dirs xdg-user-dirs-gtk
Bonus tip: When removing software, use the -u flag for less bloat being left behind:
-u, --clean-deps Automatically remove dependencies which become unneeded after removal of requested packages.