Удаление старых ядер из системы [Решено]

По случаю решил почистить систему от «старья»:
~$ sudo apt-get remove linux-image-3.2.0-31-generic linux-image-3.2.0-32-generic linux-image-3.2.0-33-generic linux-image-3.2.0-34-generic linux-image-3.2.0-35-generic
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be REMOVED:
  linux-image-3.2.0-31-generic linux-image-3.2.0-32-generic linux-image-3.2.0-33-generic linux-image-3.2.0-34-generic linux-image-3.2.0-35-generic
0 upgraded, 0 newly installed, 5 to remove and 62 not upgraded.
After this operation, 747 MB disk space will be freed.
Do you want to continue [Y/n]?

Продолжаем.
~$ sudo apt-get remove linux-headers-3.2.0-30 linux-headers-3.2.0-31 linux-headers-3.2.0-32 linux-headers-3.2.0-33 linux-headers-3.2.0-34 linux-headers-3.2.0-35
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-3.2.0-30 linux-headers-3.2.0-30-generic linux-headers-3.2.0-31 linux-headers-3.2.0-31-generic
  linux-headers-3.2.0-32 linux-headers-3.2.0-32-generic linux-headers-3.2.0-33 linux-headers-3.2.0-33-generic
  linux-headers-3.2.0-34 linux-headers-3.2.0-34-generic linux-headers-3.2.0-35 linux-headers-3.2.0-35-generic
0 upgraded, 0 newly installed, 12 to remove and 62 not upgraded.
After this operation, 405 MB disk space will be freed.
Do you want to continue [Y/n]?

В итоге больше Гига свободного места! Всем советую )))

0
dm - 18 Февраль, 2013 - 18:48
Изображение пользователя dm.

Иногда еще sudo apt-get autoremove помогает

0
dyug - 18 Февраль, 2013 - 20:16

не на ядрах.
ибо:
cat /etc/apt/apt.conf.d/01autoremove
APT
{
  NeverAutoRemove
  {
        "^firmware-linux.*";
        "^linux-firmware$";
        "^kfreebsd-image.*";
        "^gnumach$";
        "^gnumach-image.*";
  };

  Never-MarkAuto-Sections
  {
        "metapackages";
        "restricted/metapackages";
        "universe/metapackages";
        "multiverse/metapackages";
        "oldlibs";
        "restricted/oldlibs";
        "universe/oldlibs";
        "multiverse/oldlibs";
  };
};

+2
dm - 18 Февраль, 2013 - 20:58
Изображение пользователя dm.

Только сегодня autoremove снес старое ядро на 12.04. Может я что-то и путаю, но на сколько я помню, много раз видел, как среди прочего autoremove так же предлагал удалять старые ядра. То, что это не панацея для удаления всех старых ядер я знаю, чаще всего так же в ручную удалять приходиться.

Кстати нашел на просторах интернета строчку для удаления всех старых ядер кроме текущего. Опробовал на себе, работает :)

dpkg -l linux-* | awk '/^ii/{ print $2}' | grep -v -e `uname -r | cut -f1,2 -d"-"` | grep -e [0-9] | xargs sudo apt-get -y purge

Еще одно решение, оставляет два ядра, текущее и предыдущее:

OLD=$(ls -tr /boot/vmlinuz-* | head -n -2 | cut -d- -f2- | \
    awk '"'"'{print "linux-image-" $0}'"'"' )
if [ -n "$OLD" ]; then
    sudo apt-get -qy remove --purge $OLD
fi
sudo apt-get -qy autoremove --purge

Взято с askubuntu.com

0
DarkneSS - 18 Февраль, 2013 - 21:06
Изображение пользователя DarkneSS.

Насколько я помню, мне не предлагал. Всегда выносил руками по мере заполнения рута :)

+1
dm - 18 Февраль, 2013 - 21:14
Изображение пользователя dm.

Я тоже руками выношу, тем более у меня boot отдельным разделом и заполняется быстро. И сегодня autoremove на одной из машин после обновления снес только одно ядро которое кажется до обновления было, а кучу других старых ядер оставил. Потому я и написал что иногда помогает.

0
dyug - 18 Февраль, 2013 - 21:41

он сносит linux-headers а не linux-images :-)
Во всяком случае, сегодня, после обновления был вынесен именно хедерс. Он он вроде всегда сам выносит после обновления метапакета.

0
dm - 18 Февраль, 2013 - 21:44
Изображение пользователя dm.

Вероятно так оно и есть, я тоже уже об этом подумал. В следующий раз повнимательней посмотрю.

0
dm - 7 Апрель, 2013 - 10:37
Изображение пользователя dm.

Подниму ка я тему...

он сносит linux-headers а не linux-images :-)

dm@Samsung:~$ sudo apt-get autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Пакеты, которые будут УДАЛЕНЫ:
  linux-headers-3.2.0-37 linux-headers-3.2.0-37-generic linux-headers-3.5.0-25 linux-image-3.2.0-37-generic
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 4 пакетов, и 0 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 276 MB.
Хотите продолжить [Д/н]?

0
dyug - 7 Апрель, 2013 - 12:00

Гмм, ну счас проверю... :-)
Не, не берет. хотя стоит пару ядер...

0
dm - 7 Апрель, 2013 - 16:14
Изображение пользователя dm.

Я уже говорил, что это далеко не панацея и я сам старые ядра руками вычищаю и что autoremove не удаляет все старые ядра. Написал в продолжении нашего разговора, что autoremove все же тоже ядра вычищает а не только headers.

0
dyug - 7 Апрель, 2013 - 16:18

ну нет, я понял, решил проверить, ни дома ни на работе, не цепляет.
При этом на работе еще и хидеры висят в установленных.
Причину я не выяснял, могу убрать и ручками.

0
dm - 7 Апрель, 2013 - 16:20
Изображение пользователя dm.

Я честно говоря сам не понял чем autoremove руководствуется считая какие то ядра старыми а какие нет, так как у меня так же может снести одно-два из десяти. Просто когда в очередной раз предложил снести ядро я вспомнил про эту тему и потому написал.

0
dyug - 7 Апрель, 2013 - 16:53

ага... я тоже. Не понимаю логики.
Счас рылся на работе нашел 6 ядер установленых и 4 которые снесены, но остались конфиги.
хидеров тоже с 10 нашлось... разной степени...
Заодно и почистил обе системе ... :-)

0
vovan--vovan - 19 Февраль, 2013 - 19:52
Изображение пользователя vovan--vovan.

Вот не знал, что старые ядра хранятся, только что вычистил. А вот вопрос, когда приходят обновления ядра, нужно ли новое ставить если вроде все работает? Что там в них нужного?

0
pasha1112 - 19 Февраль, 2013 - 20:12
Изображение пользователя pasha1112.

в рамках одной версии исправления безопасности, с переходом на новую версию добавляются и улучшаются драйвера

+1
DarkneSS - 19 Февраль, 2013 - 20:40
Изображение пользователя DarkneSS.

Или удаляются и ломаются. Всякое бывает :) Плюс всякие глобальные оптимизации или опять же наоборот.

+2
Buy - 19 Февраль, 2013 - 21:29

За лет пять пользования линуксом как основной системой с приходом новых ядер никогда ничего не изменялось, вообще ) ни в лучшую, ни в худшую сторону. Причем пару дюжин собрал руками проводя "оптимизации". Но я консервативен в плане апгрейда железа. Главный объем там это конечно новые драйвера, если железо постоянно обновляется или что-то не работает, то надо пробовать свежие ядра. Те минорные обновления, что в рамках одной версии приходят надо ставить имхо ОБЯЗАТЕЛЬНО - там включены, среди прочего, патчи для устранения уязвимостей.

ps: не, один раз было улучшение, когда в районе ~2.6.20 стали поддерживаться искаропки USB 3G модемы, оценил удобство. Но было и ухудшение, после ~2.6.24 стал потрескивать звук в скайпе, что-то напортачили в alsa в драйвере (очень редко попадается, но мне "повезло").

0
Лерыч - 19 Февраль, 2013 - 20:58
Изображение пользователя Лерыч.

Что там в них нужного?

Ну например...

0
Гость - 27 Февраль, 2013 - 18:22

а что ubuntu tweak не подходит ,у меня стоит и все сносит лишнее

0
AlexBKost - 18 Февраль, 2013 - 20:04

По случаю решил почистить систему от «старья»
В итоге больше Гига свободного места!
Какой моральный человек (C) будет держать гигами старые ядра? Но главное другое, неужели Вы, за 5 лет 24 недели стажа регистрации на сайте никогда ранее не чистили «систему от «старья»»? Я не могу в это поверить.

А как чистить, можно еще и не один способ предложить, но на счет sudo apt-get autoremove для старых ядер, позволю себе не согласиться.

0
DarkneSS - 18 Февраль, 2013 - 20:37
Изображение пользователя DarkneSS.

Судя по списку ядра только из одного релиза.

0
Buy - 19 Февраль, 2013 - 01:48

Да, почти за год в 12.04 накопилось )

0
Buy - 19 Февраль, 2013 - 01:49

Я не могу в это поверить.
Именно так, никогда ничего не чистил. Не видел необходимости. Да, autoremove иногда запускал, не помню почему ) , наверное "по мере заполнения рута" как удачно выразился DarkneSS. Поэтому и запостил, чтоб не пренебрегали из-за лени по крайней мере чисткой старых ядер и сопутствующего барахла ))) , действительно много места даром пропадает.

+1
Лерыч - 19 Февраль, 2013 - 03:42
Изображение пользователя Лерыч.

А я как-то привык старые ядра через Synaptic удалять... :) Нахожу по запросу linux-image и linux-headers пакеты от старых ядер и отмечаю их для полного удаления. Понимаю, что не Linux-way, и что минуты на две дольше, но мне и торопиться-то, по сути, некуда. Да и люблю, чтоб все наглядно было... :)))

0
PanterA - 19 Февраль, 2013 - 08:20

я проще как-то удалял, но дело было давно, не припомню точно, вечером надо будет глянуть

+5
novocat - 19 Февраль, 2013 - 17:08
Изображение пользователя novocat.

Чего уж проще:
sudo aptitude search linux-headers-*
sudo apt-get purge linux-headers-ненужное_ядро
Аналогично с linux-image-*

Фигню написал - не считается.
Сам чищу скриптом, проблем ни разу не было.
Можно еще sudo apt-get install kde-config-grub2 и ткнуть Remove Old Entries

0
PanterA - 19 Февраль, 2013 - 21:20

именно так и чищу, просто когда впервый раз чистил не знал сколько у меня старых ядер.
не знаю как остальным, а мне так проще

+1
Лерыч - 20 Февраль, 2013 - 00:16
Изображение пользователя Лерыч.

Можно еще sudo apt-get install kde-config-grub2 и ткнуть Remove Old Entries

novocat, +1, годная фича! Не знал, что в кедах есть такая... :)

0
itrch - 21 Февраль, 2013 - 21:59
Изображение пользователя itrch.

хедеры остаются (

0
Лерыч - 24 Февраль, 2013 - 06:22
Изображение пользователя Лерыч.

хедеры остаются (
Мда... и файлы настроек старых linux-image-* тоже... :(
Рано радовались...

0
Fogma - 21 Февраль, 2013 - 23:56
Изображение пользователя Fogma.

а я пользуюсь скриптом отсюда
очень радует. ниразу проблем не вызывал и очищает всё ненужное вместе со старыми ядрами.

0
novocat - 23 Февраль, 2013 - 07:08
Изображение пользователя novocat.

Вычищает скрипт хорошо, сам им пользовался.
Но, теперь он и i386-библиотеки Steam вычищает. Еще их apt-get autoremove выносит на ура. :)

0
surok - 8 Апрель, 2013 - 10:17
Изображение пользователя surok.

Ребята, извините, пожалуйста, что не очень то разбираюсь в терминах, поэтому не совсем понятны бывают иногда комментарии и советы. (По мере возможности пытаюсь вникнуть). Комп три года, сын сразу поставил Линукс, предложил на выбор Убунту и Кубунту. Выбрали с дочкой Кубунту и ни на какую другую систему не променяю! Сын азам научил (два года как уехал), поэтому теперь сама. Вот насчет удаления старых ядер - сфоткала Мион. Я думала, что при обновлениях системы старое автоматом удаляется. Нужно ли из этого что то удалить?

0
dm - 8 Апрель, 2013 - 10:27
Изображение пользователя dm.

Самое простое решение для это скопировать следующий текст (выделить мышкой и нажать Ctrl-C )
OLD=$(ls -tr /boot/vmlinuz-* | head -n -2 | cut -d- -f2- | \
    awk '"'"'{print "linux-image-" $0}'"'"' )
if [ -n "$OLD" ]; then
    sudo apt-get -qy remove --purge $OLD
fi
sudo apt-get -qy autoremove --purge

открыть консоль, вставить этот текст (Shift-Ctrl-V) и запустить. Скрипт сам удалит все устаревшие ядра из системы оставив два последних.

+2
Flameflower - 10 Октябрь, 2013 - 08:20
Изображение пользователя Flameflower.

На медне озадачился аналогичным вопросом на маршрутизаторе, который работает на 10.04.
У меня данный скрипт не завелся.
Точнее не работала конструкция awk '"'"'{print "linux-image-" $0}'"'"' )
Немного подправив получил это:
#!/bin/sh
#set -x
OLD=$(ls -tr /boot/vmlinuz-* | head -n -2 | cut -d- -f2- | awk '{ print "linux-image-"$0}')

if [ -n "$OLD" ]; then
sudo apt-get -qy remove --purge $OLD
fi

apt-get -qy autoremove --purge

0
rlepish - 8 Апрель, 2013 - 10:28

все что начинается с linux и имеет в названии меньше 3.5.0-24 (т.е. 3.5.0-17 - 3.5.0.23) можна удалять

0
surok - 8 Апрель, 2013 - 10:38
Изображение пользователя surok.

Спасибо!)))))А можно удалить в мионе, а не через консоль?

0
rlepish - 8 Апрель, 2013 - 11:06

можно, позначив необходимое для удаления.
но лучше так так предложил Dm

0
Лерыч - 8 Апрель, 2013 - 13:35
Изображение пользователя Лерыч.

все что начинается с linux и имеет в названии меньше 3.5.0-24 (т.е. 3.5.0-17 - 3.5.0.23) можна удалять
Зачем ей 3.5.0-24 и 3.5.0-25, ежели рабочим ядром у нее является 3.5.0-26? Удалять можно смело и их тоже!

А можно удалить в мионе, а не через консоль?
Запросто. Отмечаете для удаления пакеты linux-image-3.5.0-Х-generic, linux-image-extra-3.5.0-Х-generic, linux-headers-3.5.0-Х и linux-headers-3.5.0-Х-generic для каждой версии удаляемого ядра (где Х — номер версии удаляемого ядра) и применяете. Вот только, как Вы сами понимаете, долго это и нудно, столько мышью елозить! Гораздо проще применить скрипт, предложенный выше dm, либо, как вариант, скопировать отсюда, вставить в Терминал и выполнить:
sudo apt-get purge linux-{image,image-extra,headers}-3.5.0-{17,17-generic}
для каждого ненужного ядра, заменяя только "17" в команде на нужные цифры (в Вашем случае это 17, 18, 19, 21, 22, 23, 24, 25).

0
rlepish - 8 Апрель, 2013 - 13:55

Зачем ей 3.5.0-24 и 3.5.0-25, ежели рабочим ядром у нее является 3.5.0-26? Удалять можно смело и их тоже!
да, да, да.
правильно должен был написать "меньше или равно"
)))

+1
surok - 8 Апрель, 2013 - 14:53
Изображение пользователя surok.

Всем спасибо!!!)))Все сделала, как советовали (через консоль). Все старые ядра удалились.)))

0
mihalych - 28 Май, 2014 - 21:01

В 14.04 нашёл скрипт по адресу:
/etc/kernel/postinst.d/apt-auto-removal
Он генерит файл:
root@n148:~# less /etc/apt/apt.conf.d/01autoremove-kernels
В итоге, после перезагрузки с новым ядром, выполняем в консоли выше указаный скрипт:
root@n148:~# /etc/kernel/postinst.d/apt-auto-removal    
root@n148:~# apt-get autoremove                           
Чтение списков пакетов… Готово
Построение дерева зависимостей      
Чтение информации о состоянии… Готово
Пакеты, которые будут УДАЛЕНЫ:
  linux-headers-3.13.0-24 linux-headers-3.13.0-24-generic linux-image-3.13.0-24-generic linux-image-extra-3.13.0-24-generic
обновлено 0, установлено 0 новых пакетов, для удаления отмечено 4 пакетов, и 0 пакетов не обновлено.
После данной операции, объём занятого дискового пространства уменьшится на 221 MB.
Хотите продолжить? [Д/н]

и, о чудо, apt-get autoremove удаляет предыдущее ядро, чуть более чем полностью. А ларчик просто открывается, однако :)

0
dm - 28 Май, 2014 - 22:12
Изображение пользователя dm.

sudo apt-get install -f && sudo apt-get autoremove

Даст тот же эффект

0
mihalych - 9 Июнь, 2014 - 23:51

Не дало того же эффекта :/

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры