Skip to content

Instantly share code, notes, and snippets.

@stevehenderson
Created March 25, 2024 03:03
Show Gist options
  • Save stevehenderson/965481308d991c9add735d6b7666315f to your computer and use it in GitHub Desktop.
Save stevehenderson/965481308d991c9add735d6b7666315f to your computer and use it in GitHub Desktop.
Remove Old Kernels
#!/bin/bash
# Run this script without any param for a dry run
# Run the script with root and with exec param for removing old kernels after checking
# the list printed in the dry run
# FROM: https://askubuntu.com/questions/1253347/how-to-easily-remove-old-kernels-in-ubuntu-20-04-lts
uname -a
IN_USE=$(uname -a | awk '{ print $3 }')
echo "Your in use kernel is $IN_USE"
OLD_KERNELS=$(
dpkg --list |
grep -v "$IN_USE" |
grep -Ei 'linux-image|linux-headers|linux-modules' |
awk '{ print $2 }'
)
echo "Old Kernels to be removed:"
echo "$OLD_KERNELS"
if [ "$1" == "exec" ]; then
for PACKAGE in $OLD_KERNELS; do
yes | apt purge "$PACKAGE"
done
else
echo "If all looks good, run it again like this: sudo remove_old_kernels.sh exec"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment