From 720b53b92b4f953242908e8d31fc63d2a88450f3 Mon Sep 17 00:00:00 2001 From: Michele Cereda Date: Sat, 15 Jun 2024 02:16:23 +0200 Subject: [PATCH] chore(zypper): review commands --- knowledge base/zypper.md | 37 +++++++++++++++++++++++++++---------- snippets/zypper.sh | 15 +++++++++++---- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/knowledge base/zypper.md b/knowledge base/zypper.md index b2391bb..05d87b0 100644 --- a/knowledge base/zypper.md +++ b/knowledge base/zypper.md @@ -34,6 +34,11 @@ Default files: Command examples: ```sh +zypper help +zypper help 'command' + +# --- + # Update caches. zypper refresh zypper ref 'updates' @@ -64,11 +69,12 @@ zypper if -t 'pattern' 'lamp_server' # Install resolvables. zypper install 'parallel' zypper in --no-confirm 'https://prerelease.keybase.io/keybase_amd64.rpm' -zypper in --no-recommends 'gv' 'virtualbox-ose=2.0.6' '/root/ansible.rpm' +zypper in --no-recommends 'yast*ftp*' 'virtualbox-ose=2.0.6' '/root/ansible.rpm' # Install from specific repositories. # Requires the repo to be already added. -zypper in -r 'packman' --download-in-heaps 'libavdevice60' +zypper in 'packman:libavdevice60' +zypper in -r 'packman' --download 'in-advance' 'libavdevice60' zypper in -r 'https://repo.vivaldi.com/archive/vivaldi-suse.repo' 'vivaldi' # Reinstall resolvables. @@ -95,7 +101,7 @@ zypper lu --all # Update installed resolvables. zypper update -zypper up --download-in-heaps 'vivaldi-stable' +zypper up --download 'in-heaps' 'vivaldi-stable' # List available patches. # By default, it shows only *applicable* ones. @@ -111,7 +117,7 @@ zypper patch # Perform distribution upgrades. zypper dist-upgrade -zypper dup --details --from 'factory' --from 'packman' --download-in-heaps +zypper dup --details --from 'factory' --from 'packman' --download 'as-needed' --remove-orphaned # List unneded packages. # E.g. older dependencies not used anymore. @@ -138,13 +144,19 @@ zypper nr '5' 'packman' # Modify repositories. # Disable with '-d'. -zypper modifyrepo -er 'updates' +zypper modifyrepo -ef 'updates' +zypper mr -gp '98' '1' 'mozilla' +zypper mr -d 'packman' '4' 'https://repo.vivaldi.com/archive/vivaldi-suse.repo' zypper mr -da # --- # Execute without user confirmation (non-interactively). zypper --non-interactive … +zypper --non-interactive --auto-agree-with-licenses … + +# Mark transactions in log files. +zypper --userdata 'comment-here' … # Clean up installed kernel packages. zypper purge-kernels --dry-run @@ -156,12 +168,15 @@ zypper packages --unneeded \ | sudo xargs zypper rm -u # Upgrade distribution's releases. -sudo zypper refresh \ -&& sudo zypper update \ +# Suggested to do this after: +# - all users logged off; +# - disabling the GUI (`systemctl stop 'display-manager.service'`). +zypper refresh \ +&& zypper update \ && sed -i 's|/15.5/|/${releasever}/|g' '/etc/zypp/repos.d/'*'.repo' \ -&& sudo zypper --releasever '15.6' refresh \ -&& sudo zypper --releasever '15.6' dist-upgrade \ -&& sudo reboot +&& zypper --releasever '15.6' refresh \ +&& zypper --releasever '15.6' dist-upgrade \ +&& reboot ``` ## Concepts @@ -229,6 +244,7 @@ sudo rpm --query --list 'parallel' - [Additional package repositories] - [Command to clean out all unneeded autoinstalled dependencies] - [System upgrade] +- [Zypper cheat sheet] [how can i list all files which have been installed by an zypp/zypper package?]: https://unix.stackexchange.com/questions/162092/how-can-i-list-all-files-which-have-been-installed-by-an-zypp-zypper-package#239944 diff --git a/snippets/zypper.sh b/snippets/zypper.sh index b9a5d8f..2ecd1fd 100644 --- a/snippets/zypper.sh +++ b/snippets/zypper.sh @@ -18,7 +18,7 @@ zypper if -t 'pattern' 'lamp_server' # Install resolvables sudo zypper install 'parallel' -sudo zypper in --no-confirm --download-in-heaps 'https://prerelease.keybase.io/keybase_amd64.rpm' +sudo zypper in --no-confirm --download 'in-advance' 'https://prerelease.keybase.io/keybase_amd64.rpm' sudo zypper in --no-recommends 'gv' 'virtualbox-ose=2.0.6' '/root/ansible.rpm' sudo zypper in -r 'https://repo.vivaldi.com/archive/vivaldi-suse.repo' 'vivaldi' sudo zypper in -f 'amdgpu-dkms' @@ -47,8 +47,8 @@ sudo zypper up 'vivaldi-stable' # Perform distribution upgrades. sudo zypper dist-upgrade -sudo zypper dup --details --from 'factory' --from 'packman' -sudo zypper --releasever '15.6' --download-in-heaps dup +sudo zypper dup --details --remove-orphaned --from 'factory' --from 'packman' +sudo zypper --releasever '15.6' --download 'in-heaps' dup # List repositories zypper repos @@ -57,6 +57,12 @@ zypper lr -d --sort-by-priority # Add repositories sudo zypper addrepo --check --refresh --priority '90' 'https://repo.vivaldi.com/archive/vivaldi-suse.repo' 'vivaldi' +# Modify repositories +# Use this to enable or disable them +zypper modifyrepo -ef 'updates' +zypper mr -gp '98' '1' +zypper mr -da + # Remove repositories sudo zypper removerepo 'mozilla' sudo zypper rr '3' @@ -71,9 +77,10 @@ zypper packages --unneeded \ | sudo xargs -p zypper rm -u # Upgrade distribution's releases +sudo systemctl stop 'display-manager.service' sudo zypper refresh sudo zypper update sed -i 's|/15.5/|/${releasever}/|g' '/etc/zypp/repos.d/'*'.repo' sudo zypper --releasever '15.6' refresh -sudo zypper --releasever '15.6' dist-upgrade +sudo zypper --releasever '15.6' dist-upgrade --allow-vendor-change sudo reboot