Как удалить не используемые ядра Ubuntu/Linux Mint

ядро

После обновления нашей системы, или самостоятельной установки ядра в Ubuntu/Linux Mint, со временем у нас накапливаются старые ядра. Что же делать? – спросите Вы, а все очень просто.

У меня тоже после установки новой версии ядра, осталось старое ядро, давайте для начала посмотрим версию, открываем терминал(без него мы не справимся), и набираем, или копируем строчку

uname -r

linux-image

У меня установлена версия 4.6.3(у Вас может отличатся, но это не важно).

Самый простой способ удаления не нужных ядер, это набрать в терминале вот такую строку

sudo apt-get purge $(dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1)
sudo apt autoremove

Но существуют еще несколько способов которые я сейчас вам покажу.

Второй способ удаления ядра

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

sudo apt install synaptic

И запускаем

sudo synaptic

После того как мы запустим в сроке “Поиск” набираем

linux-image-4

и вот что нам нашло

synaptic

Если показывает желтая шестеренка, то это значит что пакет установлен, иначе если синяя, то наоборот не установлен.

Кликаем правой кнопкой мышки на пакет с желтой шестеренкой, и выбираем “Пометить для удаления”, после отметки нажимаем “Применить”, и у нас удалятся старые версии ядра 4.4, если у вас есть другие, то повторяем процедуру и с ними точно также.

synaptic

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

Третий способ удаления ядра

Третий способ это удаления ядер из терминала, откроем терминал и введем команду

dpkg -l | grep linux-image

ядро

Для удаления воспользуемся простой строчкой

sudo apt remove linux-image-4.4.0--

ядра

Тоже самое делаем и с linux-headers

dpkg -l | grep linux-headers

kernel

sudo apt remove linux-headers-4.4.0--

Снимок экрана от 2016-08-18 19-51-18

После всех действий запускаем автоматическую очистку системы

sudo apt autoremove

autoremove

И последнее что нам следует сделать, так это обновить загрузчик grub, чтобы наша система нормально загрузилась, и кроме этого удалятся старые записи.

sudo update-grub

 

grub

Ну и если мы наберем в терминале

ls /boot/

то увидим что у нас теперь нету лишнего мусора.

После всех наших удалений, при загрузке системы, на вкладке “Дополнительные параметры”, мы увидим

grub

Вот так просто удалять ядра в Ubuntu/Linux Mint и произвольных.

Поділіться своєю любов'ю

Залишити відповідь

7 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
petrov

Ошибки в статье.

1. Команда “dpkg -l | linux-image” написана с ошибкой. Должно быть dpkg -l | grep linux-image
2. Команда “sudo apt remove linux-header-4.4.0–” также содержит ошибку. Должно быть sudo apt remove linux-headers-4.4.0–

UALinux

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

Denisjuk

месри! запишем как вариант для памяти! вот ещё способ: Удаление старых ядер ( 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; удалить из списка все строки, которые начинаются с чего-то отличного… Читати далі »

UALinux

Я очень признателен за разбор команды, но в первом варианте я так и написал.

M15

вывод текушей версии ядра

root@EP35:/# uname -r 4.13.0-43-generic

вывод списка пакетов командой dpkg -l|grep linux-

root@EP35:/# dpkg -l|grep linux- ii linux-base 4.5ubuntu1~16.04.1 all ii linux-generic-hwe-16.04 4.13.0.43.62 amd64 ii linux-headers-4.13.0-36 4.13.0-36.40~16.04.1 all ii linux-headers-4.13.0-36-generic 4.13.0-36.40~16.04.1 amd64 ii linux-headers-4.13.0-43 4.13.0-43.48~16.04.1 all ii linux-headers-4.13.0-43-generic 4.13.0-43.48~16.04.1 amd64 ii linux-headers-generic-hwe-16.04 4.13.0.43.62 amd64 ii linux-image-4.13.0-36-generic 4.13.0-36.40~16.04.1 amd64 ii linux-image-4.13.0-43-generic 4.13.0-43.48~16.04.1 amd64 ii linux-image-extra-4.13.0-36-generic 4.13.0-36.40~16.04.1 amd64 ii linux-image-extra-4.13.0-43-generic 4.13.0-43.48~16.04.1 amd64 ii linux-image-generic-hwe-16.04 4.13.0.43.62 amd64 ii linux-libc-dev:amd64 4.4.0-127.153 amd64 ii linux-sound-base 1.0.25+dfsg-0ubuntu5 all

вывод списка пакетов по обсуждаемой команде

root@EP35:/# dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' linux-generic-hwe-16.04 linux-headers-4.13.0-36 linux-headers-4.13.0-36-generic linux-headers-generic-hwe-16.04 linux-image-4.13.0-36-generic linux-image-extra-4.13.0-36-generic linux-image-generic-hwe-16.04 linux-libc-dev:amd64

Судя по выводу будут удалены:
linux-generic-hwe-16.04
linux-headers-generic-hwe-16.04
linux-image-generic-hwe-16.04

Как я понимаю (поправьте если что) это общие метапакеты предоставляющие информацию о доступности ядра новой версии из текущего канала обновлений (в данном случае hwe-16.04).
Вопрос: если эти пакеты удалить, то будет ли автоматически обновляться ядро ?

UALinux

Да, у человека ошибка. Поэтому рекомендую использовать метод из первого способа, в котором все нормально

Снимок экрана_2018-06-06_13-35-12.png
M15

разве что в описании (жирное надо удалить): /'”$(uname -r | sed “s/\(.*\)-\([^0-9]\+\)/\1/”)”‘/d удалить все строки за исключением той, в которой содержится текущая версия ядра. а по поводу команд: разница втом что команда из статьи не удалит linux-libc-dev:amd64. (который не критичен) dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | head -n -1 dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]*… Читати далі »

term1.png
7
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x