aggie
July 9, 2023, 1:08am
1
Okay, hopefully an easy question.
Let’s say I want to remove some apps and libraries that I really don’t need.
However, I know that some of those apps and libs will be updated on the pending TW update … because I read the newest post “New Tumbleweed Snapshot available”. And I did a “zypper dup” on another machine, so I know for sure the updates coming.
So, for example, I want to remove some “akonadi” stuff, cause I never use KDE PIM apps and related. However, I see there are some akonadi apps and libs to be updated (for pending TW dup update).
Question … can I FIRST remove the KDE PIM apps and libs FIRST , before I do the “zypper dup”, or should I do the zypper dup first (reboot), then remove the unwanted apps and libs ?
In the interest of efficient resource use, you can remove them first, if they allow removal at all. If something you wish to or must keep depends on them, you can’t remove them at all without removing also packages that require them. It may be simpler to lock those you plan to remove, upgrade, then unlock and remove.
aggie
July 9, 2023, 2:35am
3
Thanks for the swift answer, @mrmazda … I will follow your recommendation !
Yep, it is indeed an obvious question.
There is a not so obvious answer: Don’t bother. Go with defaults.
Users may tweak zypper configuration. Infamous host erlangen uses:
erlangen:~ # grep solver /etc/zypp/zypp.conf | grep -v ^\#
solver.onlyRequires = true
solver.dupAllowVendorChange = true
erlangen:~ #
When upgrading recommended packages are ignored.
erlangen:~ # zypper --non-interactive dist-upgrade
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
Nothing to do.
erlangen:~ #
Including them would result in:
erlangen:~ # zypper --non-interactive dist-upgrade --dry-run --recommends
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...
The following 502 NEW packages are going to be installed:
Mesa-demo-egl Mesa-libva NetworkManager-bluetooth NetworkManager-dns-bind NetworkManager-dns-dnsmasq NetworkManager-tui NetworkManager-wwan PackageKit PackageKit-backend-zypp PackageKit-branding-openSUSE PackageKit-gstreamer-plugin
PackageKit-gtk3-module PackageKit-lang accerciser accerciser-lang accerciser-plugin-IPython aha alsa-oss alsa-plugins alsa-plugins-speexrate alsa-plugins-upmix appmenu-gtk-module-common appmenu-gtk2-module appmenu-gtk3-module
at-spi2-core at-spi2-core-lang blender-demo bluez-cups cpupower-bash-completion cryptsetup-doc debuginfod-profile discover-backend-packagekit dvdauthor dvgrab ethtool-bash-completion filelight filelight-lang flatpak-remote-flathub
fwupd-bash-completion gcr3-ssh-askpass gdal-bash-completion gdk-pixbuf-loader-libheif gimp-plugin-aa git-cvs glassfish-activation-api gnome-themes-accessibility gnome-themes-accessibility-gtk2 google-noto-coloremoji-fonts
gtk2-engine-hcengine gtk4-branding-openSUSE gtk4-metatheme-breeze gtk4-metatheme-greybird-geeko hwloc-devel icewm icewm-config-upstream icewm-default icewm-lang iproute2-bash-completion jackson-annotations jackson-core
jackson-databind jupyter-ipyparallel jupyter-jupyter_core-filesystem jupyter-jupyterlab jupyter-jupyterlab-filesystem jupyter-jupyterlab-pygments jupyter-jupyterlab-widgets jupyter-lsp jupyter-nbclassic jupyter-nbconvert
jupyter-notebook jupyter-notebook-filesystem jupyter-notebook-shim jupyter-server-terminals jupyter-widgetsnbextension kcm_flatpak kcm_flatpak-lang kguiaddons krb5-32bit lastlog2 libFLAC++10-x86-64-v3 libFLAC12-x86-64-v3
libQt5WebView5-imports libacl1-32bit libappmenu-gtk2-parser0 libappmenu-gtk3-parser0 libaudit1-32bit libavahi-client3-32bit libavahi-common3-32bit libavcodec57 libavformat57 libavutil55 libbabl-0_1-0-x86-64-v3
libboost_atomic1_82_0-x86-64-v3 libboost_date_time1_82_0-x86-64-v3 libboost_filesystem1_82_0-x86-64-v3 libboost_iostreams1_82_0-x86-64-v3 libboost_locale1_82_0-x86-64-v3 libboost_program_options1_82_0-x86-64-v3
libboost_regex1_82_0-x86-64-v3 libboost_system1_82_0-x86-64-v3 libboost_thread1_82_0-x86-64-v3 libboost_wave1_82_0-x86-64-v3 libbrotlicommon1-x86-64-v3 libbrotlidec1-x86-64-v3 libbrotlienc1-x86-64-v3 libbz2-1-x86-64-v3 libcap2-32bit
libcdt5 libcgraph6 libcom_err2-32bit libcrack2-32bit libcrypt1-32bit libdb-4_8-x86-64-v3 libdbus-1-3-32bit libeconf0-32bit libevent-devel libexiv2-28-x86-64-v3 libfaac0 libffi8-32bit libgcrypt20-32bit libgcrypt20-x86-64-v3
libgmp10-32bit libgnutls30-32bit libgpg-error0-32bit libgvc6 libheif-rav1e libheif-svtenc libhogweed6-32bit libhogweed6-x86-64-v3 libidn2-0-32bit libiscsi9-x86-64-v3 libjansson4-32bit libjaylink libjitterentropy3-32bit
libjpeg8-x86-64-v3 libjsoncpp25-x86-64-v3 libjxl0_8-x86-64-v3 libkeyutils1-32bit liblastlog2-1 libldap2-32bit libldb2-32bit liblz4-1-32bit liblz4-1-x86-64-v3 liblzma5-32bit liblzma5-x86-64-v3 liblzo2-2-x86-64-v3
libmbedcrypto14-x86-64-v3 libmbedtls19-x86-64-v3 libmbedx509-5-x86-64-v3 libminizip1-x86-64-v3 libmng2-x86-64-v3 libmp3lame0-x86-64-v3 libmpath0 libnettle8-32bit libnettle8-x86-64-v3 libnewt0_52 libnscd1-32bit libopenjp2-7-x86-64-v3
libopenssl3-32bit libopenssl3-x86-64-v3 libp11-kit0-32bit libpackagekit-glib2-18 libpathplan4 libpcre2-8-0-32bit libpng16-16-x86-64-v3 libpopt0-32bit libpostproc54 libproxy1-pacrunner-duktape libpwquality1-32bit
libpython3_11-1_0-x86-64-v3 libqt5-qtspeech-plugin-speechd libsasl2-3-32bit libselinux1-32bit libsqlite3-0-x86-64-v3 libstdc++6-pp-32bit libswresample2 libsystemd0-32bit libtalloc2-32bit libtalloc2-x86-64-v3 libtasn1-6-32bit
libtdb1-32bit libtevent0-32bit libtommath1-x86-64-v3 libturbojpeg0-x86-64-v3 libunistring5-32bit libverto1-32bit libvorbis0-x86-64-v3 libvorbisenc2-x86-64-v3 libvorbisfile3-x86-64-v3 libwnck-3-0 libwnck-lang libxmlb2-x86-64-v3
libyui-qt-graph16 libz1-x86-64-v3 libzopfli1 libzopfli1-x86-64-v3 libzopflipng1 libzopflipng1-x86-64-v3 libzstd1-x86-64-v3 lightdm-bash-completion log4j multipath-tools munge nodejs-common nodejs20 npm20 nss-mdns-32bit
nvme-cli-bash-completion openssh-askpass-gnome pam-32bit pam_kwallet pam_kwallet-32bit pam_kwallet-common pam_pwquality-32bit pcre2-doc perl-DBD-SQLite perl-File-FcntlLock perl-RPM2 perlref phonon4qt5-backend-gstreamer
phonon4qt5-backend-gstreamer-lang php8-ctype php8-dom php8-iconv php8-openssl php8-pdo php8-sqlite php8-tokenizer php8-xmlreader php8-xmlwriter pipewire-alsa plasma5-pk-updates plasma5-pk-updates-lang pmix-devel pmix-headers
pmix-plugin-munge power-profiles-daemon proj-data-mx proj-data-pl proj-data-za python-rpm-generators python-rpm-macros python-tqdm-bash-completion python3-talloc-x86-64-v3 python310-Babel python310-Genshi python310-Jinja2
python310-MarkupSafe python310-PySocks python310-Send2Trash python310-argon2-cffi python310-argon2-cffi-bindings python310-arrow python310-asttokens python310-async-lru python310-backcall python310-bleach python310-click
python310-colorama python310-comm python310-dbm python310-debugpy python310-entrypoints python310-executing python310-fastjsonschema python310-fqdn python310-gevent python310-gmpy2 python310-greenlet python310-h2 python310-hpack
python310-hyperframe python310-ipykernel python310-ipyparallel python310-ipython python310-ipywidgets python310-isoduration python310-jedi python310-json5 python310-jsonpointer python310-jsonschema python310-jsonschema-format-nongpl
python310-jsonschema-specifications python310-jupyter-client7 python310-jupyter-core python310-jupyter-events python310-jupyter-lsp python310-jupyter-server python310-jupyter-server-terminals python310-jupyterlab
python310-jupyterlab-pygments python310-jupyterlab-server python310-jupyterlab-widgets python310-markdown-it-py python310-matplotlib-inline python310-mdurl python310-mistune python310-mpmath python310-munkres python310-nbclient
python310-nbconvert python310-nbformat python310-nest-asyncio python310-notebook-shim python310-overrides python310-pandocfilters python310-parso python310-pexpect python310-pickleshare python310-pip python310-platformdirs
python310-prometheus-client python310-prompt_toolkit python310-ptyprocess python310-pure-eval python310-pycares python310-pyftpdlib python310-pyrsistent python310-pysendfile python310-python-json-logger python310-pyzmq
python310-referencing python310-reportlab python310-rfc3339-validator python310-rfc3986-validator python310-rich python310-rpds-py python310-simplejson python310-stack-data python310-sympy python310-terminado python310-tinycss2
python310-tomli python310-tornado6 python310-tqdm python310-traitlets python310-unicodedata2 python310-uri-template python310-webcolors python310-websocket-client python310-widgetsnbextension python310-zope.event python310-zopfli
python311-Automat python311-Babel python311-Genshi python311-Jinja2 python311-MarkupSafe python311-PySocks python311-QtPy python311-Send2Trash python311-Twisted python311-Twisted-tls python311-argon2-cffi
python311-argon2-cffi-bindings python311-arrow python311-asttokens python311-atspi python311-attrs python311-backcall python311-base-x86-64-v3 python311-bleach python311-click python311-comm python311-constantly python311-dbm
python311-debugpy python311-entrypoints python311-exceptiongroup python311-executing python311-fastjsonschema python311-fqdn python311-gevent python311-gmpy2 python311-greenlet python311-h2 python311-hpack python311-hyperframe
python311-hyperlink python311-importlib-metadata python311-incremental python311-ipykernel python311-ipyparallel python311-ipython python311-ipython_genutils python311-ipywidgets python311-isoduration python311-jedi
python311-jsonpointer python311-jsonschema python311-jsonschema-format-nongpl python311-jsonschema-specifications python311-jupyter python311-jupyter-client7 python311-jupyter-core python311-jupyter-events python311-jupyter-server
python311-jupyter-server-terminals python311-jupyter_console python311-jupyterlab-pygments python311-jupyterlab-widgets python311-markdown-it-py python311-matplotlib-inline python311-mdurl python311-mistune python311-mpmath
python311-munkres python311-nbclassic python311-nbclient python311-nbconvert python311-nbformat python311-nest-asyncio python311-notebook python311-notebook-shim python311-numpy python311-overrides python311-packaging
python311-pandocfilters python311-parso python311-pexpect python311-pickleshare python311-pip python311-platformdirs python311-pluggy python311-prometheus-client python311-prompt_toolkit python311-ptyprocess python311-pure-eval
python311-pyasn1 python311-pyasn1-modules python311-pycares python311-pyftpdlib python311-pyrsistent python311-pysendfile python311-pytest python311-python-json-logger python311-python-xlib python311-pyzmq python311-qtconsole
python311-referencing python311-reportlab python311-rfc3339-validator python311-rfc3986-validator python311-rich python311-rpds-py python311-service_identity python311-simplejson python311-stack-data python311-sympy
python311-terminado python311-tinycss2 python311-tomli python311-tornado6 python311-tqdm python311-traitlets python311-typing_extensions python311-unicodedata2 python311-uri-template python311-wcwidth python311-webcolors
python311-websocket-client python311-widgetsnbextension python311-x86-64-v3 python311-zipp python311-zope.event python311-zope.interface python311-zopfli qt6-imageformats qt6-platformtheme-gtk3 qt6-printsupport-cups qt6-translations
rclone-bash-completion samba-ad-dc-libs-32bit samba-client-32bit samba-client-libs-32bit samba-libs-32bit samba-winbind-libs-32bit slurm-munge socat sox sqlite3-devel superlu_6_0_0-gnu-hpc-doc systemd-32bit systemd-coredump transcode
typelib-1_0-Atspi-2_0 typelib-1_0-Rsvg-2_0 typelib-1_0-Wnck-3_0 udiskie-lang usbmuxd vlc-codec-gstreamer vlc-codecs whois-bash-completion wtmpdb xclock xdg-menu xscreensaver xscreensaver-data xscreensaver-lang yast2-theme-breeze
yt-dlp-bash-completion
502 new packages to install.
Overall download size: 198.3 MiB. Already cached: 6.9 MiB. After the operation, additional 809.9 MiB will be used.
Continue? [y/n/v/...? shows all options] (y): y
Checking for file conflicts: (1 skipped) .............................................................................................................................................................................................[done]
Warning: 473 packages had to be excluded from file conflicts check because they are not yet downloaded.
Note: Checking for file conflicts requires not installed packages to be downloaded in advance in
order to access their file lists. See option '--download-in-advance / --dry-run --download-only'
in the zypper manual page for details.
erlangen:~ #