Ubuntu удалить старые ядра

Обновлено: 04.07.2024

В Ubuntu ядро можно обновить несколькими способами. Для версии Ubuntu Desktop, менеджер обновлений программного обеспечения позволяет обновить ядро до самой новой версии в любое удобное время. В серверной версии Ubuntu ядро обновляется автоматически, утилитами из пакета unattended-upgrades, как часть важных обновлений безопасности. Также ядро можно обновить вручную, с помощью утилит управления пакетами apt, aptitude или даже собрав из исходников.

Со временем из-за таких обновлений, в системе накапливается много неиспользуемых образов ядер, которые только занимают дисковое пространство. Каждый образ ядра вместе со связанными заголовочными файлами и файлами модулей занимает около 200-400 мегабайт. Таким образом, удаление старых ядер в ubuntu позволит освободить много дискового пространства.

Посмотреть сколько в вашей системе набралось образов ядер можно с помощью файлового менеджера, открыв каталог /boot или просто выполнив команду в терминале:

Кроме того, в меню загрузчика Grub присутствует пункт для каждого ядра, на случай если вы захотите выбрать его для загрузки:


Для очистки диска можно удалить старые ядра в Ubuntu, если вы их не используете и они вам больше не нужны.

Удалить старые ядра в Ubuntu

1. Терминал

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

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

В Ubuntu образы ядра принадлежат к таким пакетам:

  • linux-image- <версия> - образ ядра
  • linux-image-extra- <версия> - внешние модули ядра
  • linux-headers- <версия> - файлы заголовков

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

Смотрим какие версии ядер были установлены:

apt list --installed | egrep "linux-image|linux-headers"


Можно посмотреть список ядер с помощью dpkg:

dpkg --list | egrep "linux-image|linux-headers"

Здесь rc - означает, что пакет был установлен, но уже удален, а ii - что пакет сейчас установлен.

На основе полученного списка вы можете удалить любую версию, например, 4.15.0-91:

sudo apt purge linux-image-4.15.0-66-generic linux-headers-4.15.0-91-generic

Эти команды удалят образ ядра, а также связанные с ним заголовочные файлы и файлы модулей.

Обратите внимание, что при удалении старого ядра, будет автоматически инициирован процесс обновления ядра до последней версии, если вы этого еще не сделали, а также после удаления будет обновлен конфигурационный файл Grub, чтобы убрать лишнюю запись из меню.

Если такое ядро не одно, вы можете удалить старые ядра ubuntu одной командой, используя расширенный синтаксис Bash. Оператор <> будет работать только в Bash и совместимых с ним оболочках:

sudo apt purge linux-image-4.15.0- linux-headers-4.15.0-

После выполнения этих команд будет удаленно три образа ядра 4.15.0-20.21, 4.15.0-50.54, 4.15.0-51.55.

Если конфигурация Grub не обновится по каким-либо причинам, это можно сделать вручную:

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

Скрипт purge-old-kernels, который можно было использовать для удаления старых ядер больше не актуален, потому что он просто ссылается на команду apt. Теперь можно удалить старые ядра с помощью неё:

sudo apt --purge autoremove

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

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

Затем нужно выполнить команду очистки системы и вручную обновить конфигурацию grub.

sudo apt autoremove
sudo update-grub

2. Synaptic

Synaptic - это графический пакетный менеджер для Ubuntu. Он позволяет устанавливать удалять и обновлять все пакеты в системе. Для его установки выполните:

sudo apt install synaptec

Запустите программу, в левой части выберите пункт Разделы затем Ядро и модули:

Найдите в списке пакеты linux-headers и linux-image, которые не используются и выберите в контекстном меню для них пункт Отметить для полного удаления:

Отметьте так все лишние пакеты и нажмите кнопку Применить на верхней панели чтобы применить изменения к системе. Конфигурация Grub должна обновится автоматически.

3. Ubuntu Cleaner

Это небольшая утилита, которая позволяет вам держать систему в чистоте удаляя старые ядра, ненужные пакеты, кэши браузеров и тому подобные вещи. Для её установки надо добавить PPA:

sudo add-apt-repository ppa:gerardpuig/ppa

Затем установите программу:

sudo apt install ubuntu-cleaner

После завершения установки вы найдёте её в главном меню:


Для очистки ядер выберите Old kernels на левой панели, затем отметьте ядра, которые надо удалить или отметьте пункт Old kernels в правой части окна:


После этого нажмите Clean и подтвердите операцию:


Всё, ваши старые ядра будут удалены.

Выводы

Незачем держать в системе очень много ненужных файлов. Теперь вы знаете, как правильно удалить старые версии ядер Ubuntu и сможете поддерживать свою систему в чистоте и порядке, это очень важно, особенно если вы часто обновляете ядра и тестируете новые версии. Если у вас остались вопросы, спрашивайте в комментариях!

Каждый раз, когда я устанавливаю новое ядро ​​Linux, оно остается в grub_config, каждый раз делая меню загрузки длиннее.

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

Предоставляет ли Ubuntu какой-либо более простой способ очистить их или не показывать в списке загрузки?

Эта команда удаляет пакеты, которые были автоматически установлены для разрешения зависимости, но теперь больше не зависят от них. Это включает в себя старые версии linux-headers-* а также linux-image-* , (Это также разумно для этого процесса, оставив одну запасную версию ядра как запасной вариант!)

GRUB2 и его отображение всех ядер

Последние версии Grub2, установленные в Ubuntu, автоматически отображают последнее ядро ​​и скрывают старые версии, которые вы, возможно, установили.

GNU GRUB

Если вы не видите свой grub - не забудьте нажать Shift во время загрузки.

Как видите, отображается только последнее ядро.

Если вы выберете показанную опцию (нажмите Enter ), тогда все старые ядра станут видимыми и доступными для загрузки.

GNU GRUB Предыдущие версии

Как навсегда удалить старые ядра

Первая загрузка с последним доступным ядром.

Есть несколько способов удалить старые ядра. Лично я бы не стал трогать Computer Janitor, потому что это, как признается, сломало ваш компьютер своими советами.

синаптические

Альтернативой является Synaptic ( sudo apt install synaptic )

найдите linux-image, щелкните правой кнопкой мыши ядро, выберите полное удаление и, наконец, нажмите кнопку " Применить", чтобы удалить ядро.

Synaptic Package Manager

Повторите поиск, но на этот раз для linux-header - вы можете удалить связанные заголовки для образа ядра, выбранного ранее.

Synaptic, тем не менее, не будет пытаться проверить, что вы пытаетесь удалить. вы можете непреднамеренно удалить свое новейшее ядро ​​- или даже удалить все ваши ядра с помощью этого инструмента, оставив вам не загружаемую Ubuntu!.

Не забудьте проверить, какое ядро ​​вы используете тип:

Результат будет похож на:


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

Моя рекомендация - оставить как минимум два или предпочтительно три ядра, включая самое последнее. Причиной рекомендации является то, что у вас будет по крайней мере одно / два других ядра для загрузки, если по какой-либо причине последнее ядро ​​вы не можете загрузить или вводите регрессивную возможность, такую ​​как неисправное беспроводное соединение.

Сначала перезагрузите систему, чтобы убедиться, что она использует новейшее ядро. Затем откройте терминал и проверьте ваше текущее ядро:

НЕ УДАЛЯЙТЕ ЭТОГО ЯДРА!

Затем введите команду ниже, чтобы просмотреть / просмотреть все установленные ядра в вашей системе.

Найдите все ядра, которые ниже вашего текущего ядра. Когда вы знаете, какое ядро ​​удалить, продолжайте ниже, чтобы удалить его. Запустите команды ниже, чтобы удалить ядро, которое вы выбрали.

Наконец, выполните команды ниже, чтобы обновить grub2

Перезагрузите вашу систему.

Мой однострочник для удаления старых ядер (это также освобождает место на диске)

Объяснение (помните, | использует выходные данные предыдущей команды в качестве входных данных для следующей)

  • dpkg --list список всех установленных пакетов
  • grep linux-image ищет установленные образы Linux
  • awk '< print $2 >' просто выводит 2-й столбец (который является именем пакета)
  • sort -V упорядочивает элементы по номеру версии
  • sed -n '/'`uname -r`'/q;p' печатает строки перед текущим ядром
  • xargs sudo apt-get -y purge удаляет найденные ядра

Разматывать sed вызов:

  • -n говорит sed быть спокойным
  • `uname -r` выводит текущую установленную версию ядра - мы включаем ее в обратные кавычки, чтобы вывод был включен как часть команды (вы также можете увидеть это как $(uname -r)
  • /something/q говорит остановка, когда вы сопоставляете "что-то" (в этом случае что-то выводится uname -r ) - / окружить регулярное выражение
  • p это печать
  • ; это разделитель команды, так /something/q;p говорит, что выход, когда вы соответствуете что-то, иначе распечатать

в целом, sed -n '/'`uname -r`'/q;p' выводит строки, пока они не совпадут с текущим именем ядра.

Если вы параноик (как я), вы можете сделать последнюю часть xargs echo sudo apt-get -y purge чтобы распечатать команду очистки старых ядер, вы можете проверить, что ничего неожиданного не было добавлено до ее запуска.

Модифицированная версия для удаления заголовков:

Обратите внимание sed вызов изменен. "$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")" извлекает только версию (например, "3.2.0-44"), без "-generic" или подобного из uname -r

Версия "все в одном" для удаления изображений и заголовков (объединяет две версии выше):

Ubuntu 16.04+:

Ubuntu 15.10 и ниже:

Я считаю, что это самый простой и быстрый способ. Он хранит последнее ядро ​​и еще два:

Чтобы изменить количество сохраняемых дополнительных ядер:

Удаление записей из Grub 2 Записи должны быть удалены путем редактирования или удаления файлов в папке /etc/grub.d. Файл /boot/grub/grub.cfg доступен только для чтения и обычно не требует редактирования.

Слишком много ядер?

Если вы не уверены в том, какое ядро ​​вы используете в данный момент, в терминале введите uname -r.

Ядра, удаленные через APT (Synaptic, "apt-get remove" и т. Д.), Автоматически обновят grub.cfg, и никаких действий пользователя не требуется.

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

Установите Ubuntu твик

Ubuntu-Tweak будет доступен в разделе Приложения> Системные инструменты.

Удалить старые записи ядра

Выберите "Очиститель пакетов" слева и "Очистить ядро" на правой панели.

Выберите из отображаемого списка образы ядра и заголовки, которые вы хотите удалить. Используемое ядро ​​отсутствует в списке.

Удалить операционные системы из меню Grub

Другие операционные системы, которые были удалены с компьютера, также будут удалены из меню после запуска "update-grub" от имени пользователя root.

Пункты меню размещаются в меню Grub2 скриптами. Если вы не хотите, чтобы в меню были введены другие операционные системы, отключите /etc/grub.d/30_osprober

Запустите эту команду, чтобы остановить запуск скрипта
sudo chmod -x /etc/grub.d/30_os-prober

DISABLE_30_OS-PROBER='true' в /etc/default/grub

Удалить Memtest86+ из меню Grub
sudo chmod -x /etc/grub.d/20_memtest86+

  • Запустите команду update-grub, чтобы изменения могли быть включены в grub.cfg

Примечание. После обновления ядра в меню GRUB добавляется новая запись. Вы можете удалить более старую, если хотите. Однако большинство опытных пользователей посоветуют вам сохранить хотя бы одну запасную запись на случай, если что-то пойдет не так с обновлением, и вы для устранения неполадок необходимо загрузить более старую версию ядра.

Альтернативный способ удаления записей ядра (до 10.04)

для GRUB не GRUB2

Вы можете найти его в разделе Система >> Администрирование >>

Вы видите на втором скриншоте, вы можете выбрать, сколько ядер показать? Обычно я просто держу его на 1, но когда я получаю обновление ядра, я всегда изменяю его на 2 перед перезапуском, чтобы я мог выбрать старое ядро, если у нового ядра проблемы с моим оборудованием. Как только я знаю, что новое ядро ​​работает хорошо, я изменяю его обратно на 1.

Чисто в командной строке это удалит все, кроме текущего и второго самого текущего (через "-2" в команде head ниже):

Обновить: purge-old-kernels устарела в настоящее время.

Я сделал скрипт для очистки ядер даже в сложных условиях. Это называется linux-purge и вы можете найти это здесь.

Если вы просто хотите очистить ядра (и связанные пакеты), которые старше, чем используемое в настоящее время ядро, когда система не сломана, вы можете использовать этот скрипт.

Здесь также есть страница документации по Ubuntu, в которой я участвовал относительно удаления старых ядер.

Вы можете следовать разделу Использование пакета "unattended-updates" в статье " Автоматические обновления безопасности" в Ubuntu Wiki, чтобы выполнить это.

Вам необходимо изменить следующую строку в файле /etc/apt/apt.conf.d/50unattended-upgrades;

автоматически удалять старые пакеты, в том числе ядра.

Также удалите или прокомментируйте строку

в разделе "NeverAutoRemove" файла /etc/apt/apt.conf.d/01autoremove.

Самый быстрый / простой способ (применим как минимум с 12.04), который уже имеется в Ubuntu: apt-get , Выполните следующие действия, если хотите удалить все старые версии ядра, которые не используются (за исключением предыдущей версии, которую вы не используете. Это делается для того, чтобы убедиться, что если текущая версия ядра каким-либо образом дает сбой, у вас есть возможность пойти вернуться в предыдущее состояние). Сделайте следующее:

Это исключит любые старые файлы (включая версии ядра), которые у вас могут быть. Обратите внимание, что если у вас много старых версий, это займет некоторое время, поскольку необходимо убедиться, что удаление версии ядра не имеет проблем. Для меня удаление последних 12 версий ядра заняло около 2 минут. Вы также можете сделать следующее:

Который устранит все загруженное и хранящееся в папке кеша apt. Наконец у вас есть:

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

Компьютер Janitor может очищать старые ядра, и я считаю, что по умолчанию установлен в Ubuntu (но не Kubuntu).

GRUB 1, если вы используете это, имеет опцию в /boot/grub/menu.lst указать, сколько ядер должно показываться на максимуме. GRUB 2, насколько я могу судить, не делает.

Чтобы выяснить, какие ядра и заголовки установлены, используйте

Затем вы можете удалить их по одному или вместе, просто убедитесь, что самые последние из них.

Есть также несколько удобных команд и скриптов для автоматизации удаления.

Следующие утверждения об удалении всех неиспользуемых ядер и заголовков:

Вот что происходит при запуске 18.04.1:

Чтобы удалить старые образы ядра Linux, сначала загрузитесь в ядре, которое вы хотите сохранить.

Вы также можете проверить версию ядра, используя команду uname -r чтобы вы не удалили неправильный по ошибке.

Теперь перейдите в менеджер пакетов synaptic и найдите linux-image и удалите более старые версии, кроме той, которая показана верхней командой. Вообще я предпочитаю идти с последним.

Теперь при перезагрузке вы увидите более чистое меню grub.

Вы можете установить Ubuntu-Tweak, а затем перейдите в Приложения -> Системный инструмент -> Ubuntu Tweak и

введите описание здесь

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

Лично мне нравится использовать Synaptic , Это заставляет меня чувствовать себя более уверенно в том, что происходит. Единственное приложение, которое я использовал, имеет возможность удалять старые ядра, это Ubuntu Tweak.

Как удалить ядра, которые вы не используете:

  • Откройте UbuntuTweak
  • Нажмите "Очиститель пакетов" в разделе "Приложения" на левой панели.
  • В правой части окна "Очистка" нажмите "Очистить ядра".
  • Выбрать все ядра - я думаю, что используемого в списке нет, но на всякий случай проверка работает uname -a в терминале

Вы можете удалить старые ядра ( linux-image-. пакеты), используя Synaptic, и это удалит их из меню загрузки. Будьте осторожны, чтобы не удалить работающее ядро ​​(вы можете проверить его версию с uname -r ).

Имейте в виду, что наличие одной или двух старых версий может помочь вам устранить неполадки, если что-то пойдет не так.

Кроме того, вы можете редактировать / удалять записи вручную ( gksu gedit /boot/grub/grub.cfg ), но они будут сгенерированы заново при обновлении до более нового ядра. Если вы думаете об удалении recovery mode варианты - нет. Они могут пригодиться, если вы сломаете что-то, что мешает вам загрузиться.

Преимущество этого ответа в том, что нативный Ubuntu Bash используется без установки сторонних приложений. Пользователи кастомных ядер, которые не использовали apt или же dpkg можете изменить этот сценарий bash в соответствии с их потребностями. Этот ответ основан на ( Как выборочно очистить все старые ядра сразу).

Zenity предоставляет удобный графический интерфейс для терминала для обработки списка и выбора элементов с помощью радиокнопок:

Как видно из названия, текущее ядро, с которым вы загрузились, не может быть удалено и не включено в список. Указанный размер - это то, сколько будет сохранено в /boot каталог. Больше сохранено на вашем диске, потому что двоичные файлы ядра находятся и в других областях. 27 июля 2017 г. примечание: каталоги /usr/src/*kernel_version* а также /lib/modules/*kernel_version* теперь включены также.

Дата изменения обнаружена с использованием stat команда. В моей системе эта дата "затрагивается" каждый раз, когда ядро ​​загружается с помощью этого ( Как узнать, когда в последний раз загружалась определенная версия ядра?) Cron скрипт перезагрузки. Однако в вашей системе эта дата будет датой выпуска ядра, а не последней, когда вы ее загрузили.

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

Скопируйте этот код в исполняемый файл с именем rm-kernels в /usr/local/bin :

ПРИМЕЧАНИЕ. Вам нужно разрешение sudo для создания файла, поэтому используйте:

Чтобы сделать файл исполняемым, используйте:

rm-kernels-server версия сервера для выборочного удаления всех ядер одновременно Вместо графического диалогового окна с графическим интерфейсом используется текстовое диалоговое окно для выбора очищаемых ядер.

Перед запуском скрипта необходимо установить функцию диалога, используя:

sudo apt install dialog

Диалог находится в стандартной установке Ubuntu Desktop, но не в Ubuntu Server.

Образец экрана


rm-kernels-server код Bash

ПРИМЕЧАНИЕ: в вызове dialog директива --ascii-lines передается для замены расширенного набора символов рисования линии (который ssh не нравится) с "+-----+" для рисования ящиков. Если вам не нравится этот внешний вид, вы можете использовать --no-lines директива для не коробки вообще.

28 июля 2017 г. Обновления

Расчетный размер каждого ядра был взят из /boot/*kernel_version* которые были 5 файлов на общую сумму

50 МБ. Формула была изменена, чтобы включить файлы в /usr/src/*kernel_version* а также /lib/modules/*kernel_version* , Расчетный размер для каждого ядра теперь составляет

400 МБ. Код выше для rm-kernels а также rm-kernels-server был обновлен Однако приведенные выше примеры экранов еще не отражают эти изменения.

По умолчанию размер файлов для linux-заголовков оценивается в 125 МБ, а для linux-образа - в 220 МБ, потому что du может быть мучительно медленным, если файлы не находятся в кеше. Чтобы получить реальный размер, используя du передать любой параметр в скрипт.

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

Диалоговое окно, используемое для отображения даты последнего доступа каждого ядра. Эта дата может быть перезаписана для всех ядер во время резервного копирования или аналогичных операций. Теперь в диалоговом окне отображается Дата изменения.


Команда разработчиков Ubuntu Kernel каждый месяц выпускает новые обновления ядра, исправления ошибок и патчи системы безопасности. Если вы постоянный пользователь Ubuntu и регулярно обновляете свою систему, то в вашей системе постепенно накапливается больше количество неиспользованных старых ядер.
Таким образом, есть вероятность того, что загрузочный раздел /boot на жестком диске будет заполнен в определенный период времени. Если ваш раздел /boot полон, вы не сможете больше обновить систему или не можете даже обновить ядро до любой последней доступной версии. В этом случае очень важно регулярно обновлять ядро и программное обеспечение. Для этого вы должны иметь достаточно свободного пространства в разделе /boot. Чтобы система Ubuntu функционировала правильно, вы должны иметь достаточно свободного места в загрузочном /boot и корневом /root разделах.

Конечно, мы можем легко удалить накопившийся системный кэш, ненужные пакеты и зависимости с помощью следующих команд:

sudo apt-get autoremove
sudo apt-get autoclean

Но проблема в том, что это работает, только в том случае, если ядра устанавливались автоматически, или если вы устанавливали их с помощью Менеджера обновлений. C помощью этих команд не будут удалены ядра установленные вручную. Тем не менее, можно использовать некоторые сторонние программы, такие как Ubuntu Tweak для безопасного удаления неиспользуемых ядер, пакетов и их зависимостей, которые больше не нужны. Но Ubuntu Tweak это графическая программа, которая не может быть использована на серверах, которые не имеет графического режима.

Одним из разработчиков Ubuntu - Dustin Kirkland, отвечающим за развитие и стратегию продукта, была создана утилита purge-old-kernels, которая самым безопасным образом удаляет из системы неиспользованные пакеты ядер из десктопных и серверных систем Ubuntu.

Как использовать утилиту purge-old-kernels?

Утилита purge-old-kernels поставляется в Ubuntu 16.04 LTS по умолчанию, но прежде нужно установить утилиту byobu. В более старших версиях Ubuntu, вы должны прежде установить дополнительно утилиту bikeshed.

Для предыдущих дистрибутивов Ubuntu

sudo apt-get install bikeshed

В Ubuntu 16.04

sudo apt-get install byobu

Затем, чтобы удалить старые неиспользуемые ядра, выполните в терминале следующую команду:

sudo purge-old-kernels

Пример вывода команды:

Чтение списков пакетов . Готово
Построение дерева зависимостей
Чтение информации о состоянии . Готово
был автоматически установлен следующий пакет и больше не требуется:
linux-headers-4.4.0-21
Используйте sudo apt-get autoremove, чтобы удалить его.
Следующий пакеты, которые будут УДАЛЕНЫ:
linux-headers-4.4.0-21-generic* linux-image-4.4.0-21-generic* linux-image-extra-4.4.0-21-generic*обновлено 0, установлено 0 новых пакетов, 3 для удаления, и 0 пакетов обновлено.
После этой операции будет освобождено 224 Мб дискового пространства.
Вы хотите продолжить? [Y/n]

Введите Y и нажмите Enter, чтобы избавиться от неиспользуемого ядра и освободить место в системе.

Как видно, в приведенном выше выводе команды, старые ядра занимали 224 Мб на ж/диске моей Ubuntu 16.04.



No kernels are eligible for removal (Нет ядер для удаления).

Безопасность использование данной утилиты заключается в том, что она никогда не удалит последнее установленное ядро, а если точнее, утилита purge-old-kernels удаляет все неиспользованные ядра, за исключением ДВУХ последних - актуальное и предыдущее. Но пользователь может переопределить это значение с помощью параметра --keep.

Например, чтобы удалить все старые ядра, за исключением 3-х последних, выполните следующую команду:

sudo purge-old-kernels --keep 3 -qy

Для получения более подробной информации об утилите purge-old-kernels, посмотрите мануал (руководство пользователя):

Ubuntu boot low space www.andreyolegovich.ru

ii linux-headers -5.10.0-1044-oem 5.10.0-1044.46 amd64 Linux kernel headers for version 5.10.0 on 64 bit x86 SMP ii linux-headers -5.10.0-1045-oem 5.10.0-1045.47 amd64 Linux kernel headers for version 5.10.0 on 64 bit x86 SMP ii linux-headers -5.11.0-25-generic 5.11.0-25.27

20.04.1 amd64 Linux kernel headers for version 5.11.0 on 64 bit x86 SMP ii linux-headers -5.11.0-27-generic 5.11.0-27.29

20.04.1 amd64 Linux kernel headers for version 5.11.0 on 64 bit x86 SMP ii linux-headers -5.11.0-34-generic 5.11.0-34.36

20.04.1 amd64 Linux kernel headers for version 5.11.0 on 64 bit x86 SMP ii linux-headers -5.4.0-81 5.4.0-81.91 all Header files related to Linux kernel version 5.4.0 ii linux-headers -5.4.0-81-generic 5.4.0-81.91 amd64 Linux kernel headers for version 5.4.0 on 64 bit x86 SMP ii linux-headers -5.4.0-84 5.4.0-84.94 all Header files related to Linux kernel version 5.4.0 ii linux-headers -5.4.0-84-generic 5.4.0-84.94 amd64 Linux kernel headers for version 5.4.0 on 64 bit x86 SMP ii linux-headers -5.6.0-1056-oem 5.6.0-1056.60 amd64 Linux kernel headers for version 5.6.0 on 64 bit x86 SMP ii linux-headers -5.8.0-34-generic 5.8.0-34.37

20.04.2 amd64 Linux kernel headers for version 5.8.0 on 64 bit x86 SMP ii linux-headers -5.8.0-53-generic 5.8.0-53.60

20.04.1 amd64 Linux kernel headers for version 5.8.0 on 64 bit x86 SMP ii linux-headers -5.8.0-63-generic 5.8.0-63.71

20.04.1 amd64 Linux kernel headers for version 5.8.0 on 64 bit x86 SMP ii linux-headers -generic 5.4.0.84.88 amd64 Generic Linux kernel headers ii linux-headers -generic-hwe-20.04 5.11.0.34.36

20.04.1 amd64 Signed kernel image generic ii linux-image -5.11.0-27-generic 5.11.0-27.29

20.04.1 amd64 Signed kernel image generic ii linux-image -5.11.0-34-generic 5.11.0-34.36

20.04.2 amd64 Signed kernel image generic rc linux-image -5.8.0-36-generic 5.8.0-36.40

20.04.1 amd64 Signed kernel image generic rc linux-image -5.8.0-41-generic 5.8.0-41.46

20.04.1 amd64 Signed kernel image generic rc linux-image -5.8.0-43-generic 5.8.0-43.49

20.04.1 amd64 Signed kernel image generic rc linux-image -5.8.0-44-generic 5.8.0-44.50

20.04.1 amd64 Signed kernel image generic rc linux-image -5.8.0-45-generic 5.8.0-45.51

20.04.1 amd64 Signed kernel image generic rc linux-image -5.8.0-49-generic 5.8.0-49.55

20.04.1 amd64 Signed kernel image generic rc linux-image -5.8.0-50-generic 5.8.0-50.56

20.04.1 amd64 Signed kernel image generic ii linux-image -5.8.0-53-generic 5.8.0-53.60

20.04.1 amd64 Signed kernel image generic rc linux-image -5.8.0-55-generic 5.8.0-55.62

20.04.1 amd64 Signed kernel image generic rc linux-image -5.8.0-59-generic 5.8.0-59.66

20.04.1 amd64 Signed kernel image generic ii linux-image -5.8.0-63-generic 5.8.0-63.71

20.04.1 amd64 Signed kernel image generic ii linux-image -generic-hwe-20.04 5.11.0.34.36

20.04.13 amd64 Generic Linux kernel image ii linux-image -oem-20.04b 5.10.0.1045.47 amd64 OEM Linux kernel image

Если нужны только установленные ядра

ii linux-image-5.10.0-1044-oem 5.10.0-1044.46 amd64 Signed kernel image oem ii linux-image-5.10.0-1045-oem 5.10.0-1045.47 amd64 Signed kernel image oem ii linux-image-5.11.0-25-generic 5.11.0-25.27

20.04.1 amd64 Signed kernel image generic ii linux-image-5.11.0-27-generic 5.11.0-27.29

20.04.1 amd64 Signed kernel image generic ii linux-image-5.11.0-34-generic 5.11.0-34.36

20.04.1 amd64 Signed kernel image generic ii linux-image-5.6.0-1056-oem 5.6.0-1056.60 amd64 Signed kernel image oem ii linux-image-5.8.0-53-generic 5.8.0-53.60

20.04.1 amd64 Signed kernel image generic ii linux-image-5.8.0-63-generic 5.8.0-63.71

20.04.1 amd64 Signed kernel image generic ii linux-image-generic-hwe-20.04 5.11.0.34.36

20.04.13 amd64 Generic Linux kernel image ii linux-image-oem-20.04b 5.10.0.1045.47 amd64 OEM Linux kernel image

Количество установленных ядер

Изучить свободное место на диске

Filesystem Size Used Avail Use% Mounted on udev 17G 0 17G 0% /dev tmpfs 3.4G 2.7M 3.4G 1% /run /dev/mapper/nvme0n1p3_crypt 502G 429G 48G 91% / tmpfs 17G 27M 17G 1% /dev/shm tmpfs 5.3M 4.1k 5.3M 1% /run/lock tmpfs 17G 0 17G 0% /sys/fs/cgroup /dev/loop0 105M 105M 0 100% /snap/core/11606 /dev/loop1 59M 59M 0 100% /snap/core18/2074 /dev/loop2 105M 105M 0 100% /snap/core/11420 /dev/loop3 59M 59M 0 100% /snap/core18/2128 /dev/loop6 69M 69M 0 100% /snap/gtk-common-themes/1515 /dev/loop5 230M 230M 0 100% /snap/gnome-3-34-1804/72 /dev/loop4 230M 230M 0 100% /snap/gnome-3-34-1804/66 /dev/loop7 133M 133M 0 100% /snap/slack/44 /dev/loop8 34M 34M 0 100% /snap/snapd/12704 /dev/loop9 34M 34M 0 100% /snap/snapd/12883 /dev/loop11 69M 69M 0 100% /snap/gtk-common-themes/1514 /dev/loop10 54M 54M 0 100% /snap/snap-store/547 /dev/loop12 54M 54M 0 100% /snap/snap-store/542 /dev/loop13 130M 130M 0 100% /snap/slack/43 /dev/nvme0n1p2 992M 896M 45M 96% /boot /dev/nvme0n1p1 536M 8.8M 528M 2% /boot/efi tmpfs 3.4G 21k 3.4G 1% /run/user/125 tmpfs 3.4G 91k 3.4G 1% /run/user/26167

Видно, что раздел boot почти заполнен.

Удалить устаревшие ядра можно командой

sudo apt --purge autoremove

Reading package lists. Done Building dependency tree Reading state information. Done The following packages will be REMOVED: linux-headers-5.10.0-1044-oem* linux-headers-5.11.0-25-generic* linux-headers-5.4.0-81* linux-headers-5.4.0-81-generic* linux-hwe-5.11-headers-5.11.0-25* linux-image-5.10.0-1044-oem* linux-image-5.11.0-25-generic* linux-modules-5.10.0-1044-oem* linux-modules-5.11.0-25-generic* linux-modules-extra-5.11.0-25-generic* linux-oem-5.10-headers-5.10.0-1044* 0 upgraded, 0 newly installed, 11 to remove and 22 not upgraded. After this operation, 890 MB disk space will be freed. Do you want to continue? [Y/n] Y (Reading database . 551121 files and directories currently installed.) Removing linux-headers-5.10.0-1044-oem (5.10.0-1044.46) . Removing linux-headers-5.11.0-25-generic (5.11.0-25.27

20.04.1) . Removing linux-modules-5.10.0-1044-oem (5.10.0-1044.46) . Removing linux-oem-5.10-headers-5.10.0-1044 (5.10.0-1044.46) . Removing linux-image-5.11.0-25-generic (5.11.0-25.27

20.04.1) . (Reading database . 445162 files and directories currently installed.) Purging configuration files for linux-modules-extra-5.11.0-25-generic (5.11.0-25.27

20.04.1) . Purging configuration files for linux-image-5.11.0-25-generic (5.11.0-25.27

Проверка

Проверить результат очистки можно с помощью df и grep

df -H | grep boot

/dev/nvme0n1p2 992M 657M 283M 70% /boot
/dev/nvme0n1p1 536M 8.8M 528M 2% /boot/efi

Было занято 96% теперь 70%

Читайте также: