Skip to main content

Raymii.org Logo (IEC resistor symbol)logo

Quis custodiet ipsos custodes?
Home | About | All pages | RSS Feed | Gopher

Remove unused Ubuntu kernels

Published: 28-10-2013 | Author: Remy van Elst | Text only version of this article


Table of Contents


This one liner will help you remove unused Ubuntu kernels. Ubuntu does notremove kernels when they install a new one, however the default /boot partitionis relatively small, about 100MB. So after 10 kernels, you can get No Space LeftOn Device errors with apt-get upgrading. Then you can eitehr remove themmanually, or use this one liner to automatically remove them all.

export KERNEL="$(uname -r | grep -Po '([0-9\.\-]*[0-9])?')"; dpkg --get-selections | grep -E "linux-(header|image).*" | grep -iw install | sort | grep -v "$KERNEL" | grep -v "lts" | sed 's/install//g' | xargs dpkg -P

If you like this article, consider sponsoring me by trying out a Digital OceanVPS. With this link you'll get $100 credit for 60 days). (referral link)

Here's the command by command explanation:

export KERNEL="$(uname -r | grep -Po '([0-9\.\-]*[0-9])?')"

The first portion sets the current kernel number in a variable KERNEL. It onlytakes the number, and greps out any additions like -generic or -server.

dpkg --get-selections 

The second portion first prints out all available packages.

grep -E "linux-(header|image).*"

The third portion greps for all packages with either linux-header or linux-image in the name.

grep -iw install

The fourth portion greps out only installed packages.

sort

The fifth portion sorts the output.

grep -v "$KERNEL" | grep -v "lts"

The sixth portion filters out the current kernel and the lts kernel package.Removing those will cause problems.

sed 's/install//g'

The seventh part strips off the install part.

xargs dpkg -P

The last part actually removes the packages. xargs send all the package namesto dpkg. Then dpkg -P purges the packages. That means, removing them andremoving their configs.

Tags: apt-get, bash, grep, kernel, sed, snippets, ubuntu