Тем, кому нужно срочно, вот, эта команда:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo apt-get -y purge
Разбор команды
dpkg -l 'linux-*'
выбрать все установленные пакеты, которые начинаются с ‘linux-‘.
sed '/^ii/!d;
удалить из списка все строки, которые начинаются с чего-то отличного от ii.
uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/"
получить текущую версию ядра.
/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d
удалить все строки за исключением той, в которой содержится текущая версия ядра.
s/^[^ ]* [^ ]* \([^ ]*\).*/\1/
в каждой строке оставить только название пакета
/[0-9]/!d
удалить строки, которые не содержат цифры.
xargs sudo apt-get -y purge
полностью удалить эти пакеты.
Предупреждения
- Если до выполнения этой команды вы обновили ядро или систему — перезагрузите компьютер!
- Лучше в начале выполнить команду без xargs sudo apt-get -y purge и посмотреть что будет удалено!
Источники:
Can’t upgrade due to low disk space on /boot
Ubuntu Cleanup: How to Remove All Unused Linux Kernel Headers, Images and Modules