uzverss: (Default)
uzverss ([personal profile] uzverss) wrote2015-04-27 10:58 pm

Удаление старых ядер ( linux-kernel ) одной командой

Тем, кому нужно срочно, вот, эта команда:

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 полностью удалить эти пакеты.


Предупреждения



  1. Если до выполнения этой команды вы обновили ядро или систему — перезагрузите компьютер!

  2. Лучше в начале выполнить команду без 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


http://meandubuntu.ru/2014/05/удаление-старых-ядер-linux-kernel-1-командой/


Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting