Last active
January 12, 2016 12:44
-
-
Save katyukha/68f96893a2915fadcd3f to your computer and use it in GitHub Desktop.
Linux old kernels clean up helper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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