You may always consider a dry run such as:
erlangen:~ # zypper --non-interactive remove --dry-run --clean-deps ruby
Reading installed packages...
Resolving package dependencies...
The following 102 packages are going to be REMOVED:
augeas autoyast2-installation checkmedia google-poppins-fonts iptables libip6tc2 libldapcpp0 libmediacheck6 libruby3_2-3_2 libstorage-ng-ruby libyui-ncurses-pkg16 openslp oxygen5-icon-theme oxygen5-icon-theme-large patterns-kde-kde_yast patterns-yast-yast2_basis patterns-yast-yast2_desktop perl-Crypt-SmbHash perl-Digest-MD4 perl-Digest-SHA1 perl-Parse-RecDescent perl-X500-DN perl-XML-LibXML perl-XML-NamespaceSupport perl-XML-SAX perl-XML-SAX-Base ruby ruby-common ruby-solv ruby3.2 ruby3.2-rubygem-abstract_method ruby3.2-rubygem-cfa ruby3.2-rubygem-cfa_grub2 ruby3.2-rubygem-cheetah ruby3.2-rubygem-fast_gettext ruby3.2-rubygem-gem2rpm ruby3.2-rubygem-nokogiri ruby3.2-rubygem-ruby-augeas ruby3.2-rubygem-ruby-dbus ruby3.2-rubygem-simpleidn ruby3.2-rubygem-unf ruby3.2-rubygem-unf_ext syslinux unzip unzip-doc xtables-plugins yast2 yast2-add-on yast2-alternatives yast2-apparmor yast2-bootloader yast2-control-center yast2-control-center-qt yast2-core yast2-country yast2-country-data yast2-firewall yast2-ftp-server yast2-hardware-detection yast2-installation yast2-journal yast2-ldap yast2-logs yast2-mail yast2-metapackage-handler yast2-network yast2-nfs-common yast2-nfs-server yast2-ntp-client yast2-online-update yast2-online-update-configuration yast2-online-update-frontend yast2-packager yast2-pam yast2-perl-bindings yast2-pkg-bindings yast2-printer yast2-proxy yast2-python3-bindings yast2-ruby-bindings yast2-samba-client yast2-samba-serveryast2-scanner yast2-security yast2-services-manager yast2-slp yast2-snapper yast2-storage-ng yast2-sysconfig yast2-tftp-server yast2-theme yast2-theme-oxygen yast2-trans-de yast2-trans-en_GB yast2-trans-stats yast2-transfer yast2-update yast2-users yast2-vm yast2-x11 yast2-xml yast2-ycp-ui-bindings
The following 3 patterns are going to be REMOVED:
kde_yast yast2_basis yast2_desktop
102 packages to remove.
After the operation, 116.5 MiB will be freed.
Continue? [y/n/v/...? shows all options] (y): y
erlangen:~ #
Nope. They rarely occur on systems with standard repositories enabled:
erlangen:~ # type repos
repos is aliased to `zypper repos --alias --uri --refresh --show-enabled-only --priority'
erlangen:~ #
erlangen:~ # repos
# | Alias | Enabled | GPG Check | Refresh | Priority | URI
---+---------------+---------+-----------+---------+----------+---------------------------------------------------------------------------------
7 | Packman | Yes | (r ) Yes | Yes | 90 | https://ftp.fau.de/packman/suse/openSUSE_Tumbleweed/
21 | non-oss | Yes | (r ) Yes | Yes | 99 | https://download.opensuse.org/tumbleweed/repo/non-oss/
23 | oss | Yes | (r ) Yes | Yes | 99 | https://download.opensuse.org/tumbleweed/repo/oss/
30 | update | Yes | (r ) Yes | Yes | 99 | https://download.opensuse.org/update/tumbleweed/
4 | Geo | Yes | (r ) Yes | Yes | 100 | https://download.opensuse.org/repositories/Application:/Geo/openSUSE_Tumbleweed/
11 | google-chrome | Yes | (r ) Yes | Yes | 100 | https://dl.google.com/linux/chrome/rpm/stable/x86_64
18 | jalbum | Yes | ( ) No | Yes | 100 | https://jalbum.net/download/software/yumrepo/
20 | myrepo | Yes | ( ) No | Yes | 100 | dir:/home/karl/Downloads/myrepo
erlangen:~ #
Host erlangenâs current configuration:
erlangen:~ # inxi -SMCmDy132
System: Host: erlangen Kernel: 6.2.12-1-default arch: x86_64 bits: 64 Console: pty pts/1 Distro: openSUSE Tumbleweed 20230424
Machine: Type: Desktop System: Micro-Star product: MS-7C56 v: 2.0 serial: N/A
Mobo: Micro-Star model: B550-A PRO (MS-7C56) v: 2.0 serial: 07C5622_L41E321872 UEFI: American Megatrends LLC. v: A.90
date: 03/17/2022
Memory: RAM: total: 27.28 GiB used: 7.79 GiB (28.5%)
Array-1: capacity: 128 GiB slots: 4 EC: None
Device-1: DIMM 0 type: no module installed
Device-2: DIMM 1 type: DDR4 size: 16 GiB speed: 2133 MT/s
Device-3: DIMM 0 type: no module installed
Device-4: DIMM 1 type: DDR4 size: 16 GiB speed: 2133 MT/s
CPU: Info: 8-core model: AMD Ryzen 7 5700G with Radeon Graphics bits: 64 type: MT MCP cache: L2: 4 MiB
Speed (MHz): avg: 2150 min/max: 1400/4672 cores: 1: 1400 2: 1400 3: 3800 4: 3800 5: 1400 6: 1400 7: 1400 8: 1400
9: 3800 10: 1400 11: 3800 12: 1400 13: 3800 14: 1400 15: 1400 16: 1400
Drives: Local Storage: total: 3.64 TiB used: 1.62 TiB (44.7%)
ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 970 EVO Plus 2TB size: 1.82 TiB
ID-2: /dev/sda vendor: Crucial model: CT2000BX500SSD1 size: 1.82 TiB
erlangen:~ #
download.opensuse.org resolves to a working mirror:
erlangen:~ # curl -I https://download.opensuse.org/tumbleweed/repo/oss/x86_64/a2ps-4.15-1.2.x86_64.rpm
HTTP/2 302
date: Wed, 26 Apr 2023 09:57:32 GMT
server: Apache
location: https://ftp.uni-erlangen.de/opensuse/tumbleweed/repo/oss/x86_64/a2ps-4.15-1.2.x86_64.rpm
vary: Accept,COUNTRY
content-type: application/x-rpm
erlangen:~ #
Always check whether you actually need the package causing zypper to ask for manual action. Remove it if appropriate. If in trouble check for unnneeded packages and remove them too: Cleanup of distribution upgrades
When working as an administrator always sit back and have a cup of coffee or a mug of beer first.