From 0220cccb29e2dba89b052bd0868d82629f4ec038 Mon Sep 17 00:00:00 2001 From: caem Date: Fri, 3 May 2024 21:10:21 +0200 Subject: [PATCH] add zypper_autoremove.bash --- zypper_autoremove.bash | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100755 zypper_autoremove.bash diff --git a/zypper_autoremove.bash b/zypper_autoremove.bash new file mode 100755 index 0000000..40d4b4d --- /dev/null +++ b/zypper_autoremove.bash @@ -0,0 +1,21 @@ +#!/usr/bin/env bash + +# Script that imitates `apt autoremove` for zypper as there is no native solution. + +package_list=$(sudo zypper packages --unneeded) +table_start=$(echo "$package_list" | grep -n "S | Repository | Name"| gawk '{print $1}' FS=":") + +unneeded_packages=() +while IFS= read -r package; do + package="$(echo "$package"| awk -F '|' '{ print $3 }' | xargs)" + unneeded_packages+=("$package") +done < <(echo "$package_list" | tail -n+$((table_start+2))) + +unneeded_package_list=$(printf '%s ' "${unneeded_packages[@]}") + +if [ "$unneeded_package_list" = " " ]; then + sudo zypper rm -u $unneeded_package_list +else + echo "No unneeded packages." +fi +