Skip to content

Instantly share code, notes, and snippets.

@katyukha
Last active January 12, 2016 12:44
Show Gist options
  • Save katyukha/68f96893a2915fadcd3f to your computer and use it in GitHub Desktop.
Save katyukha/68f96893a2915fadcd3f to your computer and use it in GitHub Desktop.
Linux old kernels clean up helper
# function to remove packages related to kernel version
function remove_kernel {
sudo dpkg --purge linux-headers-$1-generic;
sudo dpkg --purge linux-headers-$1;
sudo dpkg --purge linux-image-$1-generic;
}
function list_old_kernels {
for kname in $(dpkg -l "linux-[hi][em]*[0-9]\.[0-9]\.[0-9]-*" | awk '{print $1 " " $2}' | grep -v -e "^un*" | grep -Po "([0-9]+\.[0-9]+\.[0-9]+\-[0-9]+)" | sort -u --version-sort); do
if [ "$kname" == $(uname -r | grep -Po "([0-9]+\.[0-9]+\.[0-9]+\-[0-9]+)") ]; then
# skip currently used kernel and all folowing
break;
fi
echo "$kname";
done
}
function remove_all_old_kernels {
for kversion in $(list_old_kernels); do
remove_kernel "$kversion";
done
}
# remove kernel version
# remove_kernel <version>
# remove_kernel <3.2.0-68>
# or to remove all old kernels, use this command
# remove_all_old_kernels
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment