Форум русскоязычного сообщества Xubuntu

Установка и настройка => How-To и FAQ => Тема начата: butjapka от ноября 02, 2014, 23:49:19

Название: Удаление старых ядер
Отправлено: butjapka от ноября 02, 2014, 23:49:19
Нашел в сети такой вот совет.
Удаление с помощью одной команды:
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 и посмотреть что будет удалено!

Источник (http://meandubuntu.ru/2014/05/%d1%83%d0%b4%d0%b0%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5-%d1%81%d1%82%d0%b0%d1%80%d1%8b%d1%85-%d1%8f%d0%b4%d0%b5%d1%80-linux-kernel-1-%d0%ba%d0%be%d0%bc%d0%b0%d0%bd%d0%b4%d0%be%d0%b9/#more-1889)
Название: Re: Удаление старых ядер
Отправлено: abmx от ноября 04, 2014, 21:31:06
butjapka,  спасибо за интересную "штуковину".  Пользоваться ею страшновато (мне!), но большое спасибо за ссылку на очень детальные пояснения. Они могут пригодиться для других вещей, когда пишешь скрипт "по аналогии".  :smile:
Название: Re: Удаление старых ядер
Отправлено: denkin от ноября 05, 2014, 02:31:55
честно не помню какой именно из них (может даже все трое сразу необходимы), в общем наличие в системе таких пакетов освобождает от необходимочти ручной чистки ядер:
linux-image-generic linux-generic linux-headers-generic

и что касается приведенного в стартпосте способа - по моему проще и быстрее, воспользовавшись поиском в synaptic по тегам "linux-generic", вручную отметить к удалению все ненужные ядра. Затем дочистить командой
sudo apt-get autoremove
Название: Re: Удаление старых ядер
Отправлено: abmx от ноября 05, 2014, 15:40:31
denkin, скорее всего никто и не будет спорить с Вами, что синаптиком (или критикуемым Вами твиком) эту операцию можно сделать проще. Но (!), (а) чем больше вариантов, тем лучше, (б) если графические проги недоступны, то тогда ..., и (в) разминка для мозгов. Кроме того, авторемув -- не самая хорошая прога: все что "авто" -- чревато (мнение не мое, а неких гуру). Забыл точно, но что-то есть аналогичное авторемуву (графическое), но с "галочками".
Название: Re: Удаление старых ядер
Отправлено: denkin от ноября 05, 2014, 16:46:57
Цитата: abmx от ноября 05, 2014, 15:40:31
denkin, скорее всего никто и не будет спорить с Вами...

я внес свое замечание только потому, что однажды (https://forum.xubuntu-ru.net/index.php?topic=805.msg5676#msg5676) эта тема обсуждалась - у меня autoremove удалял ненужные ядра корректно и автоматически, а у пользователя xf∞ не удалял.
Скорее всего проблема была именно в отсутствии вышеуказанных пакетов.