- Как удалить старые ядра Ubuntu
- Удалить старые ядра в Ubuntu
- 1. Терминал
- 2. Synaptic
- 3. Ubuntu Cleaner
- Выводы
- Удаление старых ядер
- Консольный вариант
- Очистка старых ядер в Linux
- Удаление старых версий ядра Linux
- Удаление старых Kernels через DPKG
- Удаление старых версий ядра в Proxmox
- RSS
- Очистка linux от старых ядер
Как удалить старые ядра Ubuntu
В 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/;/4/!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 и сможете поддерживать свою систему в чистоте и порядке, это очень важно, особенно если вы часто обновляете ядра и тестируете новые версии. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Удаление старых ядер
С обновлениями периодически устанавливаются новые версии ядра, которых со временем становится все больше. старые ядра можно спокойно удалить, это не причинит вреда системе. в принципе, достаточно иметь одно ядро последней версии (или той, которая наиболее стабильно работает на вашей конфигурации), но при желании можно оставить еще одно ядро предыдущей версии в качестве запасного, ибо бывает всякое. определевшись, какие ядра оставляем, можно смело удалять старые. наиболее простой и удобный способ — использовать Synaptic. для того, чтобы посмотреть список установленных ядер, введите в строке поиска linux-image и отсортируйте список по первой колонке, т.е. по статусу пакетов. установленные пакеты отмечены зеленым значком в первой колонке.
теперь удалим старые ядра. введите в строке поиска версию ядра, например, 2.6.32-21 и отметьте для удаления три установленных пакета: linux-image-2.6.32-21-generic , linux-headers-2.6.32-21 , linux-headers-2.6.32-21-generic . проделайте то же для остальных версий. нажмите кнопку Применить, проверьте список удаляемых пакетов и подтвердите, если все правильно. после удаления старых ядер update-grub выполнять не нужно, grub автоматически обновится
Так будут выглядеть отмеченые для удаления пакеты старого ядра:
Консольный вариант
Для удаления старых ядер, кроме последнего и предпоследнего, можно использовать команду
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)
Очистка старых ядер в Linux
Сегодня в статье рассмотрим примеры по очистке/удалению старых версий ядра в Linux. Данные команды подойдут для операционных систем семейства Debian, таких как MX Linux, Debian, Ubuntu, Linux Mint, Lubuntu, Xubuntu, Elementary OS, Zorin OS и так далее. В конце статьи будут примеры для Proxmox.
Удаление старых версий ядра Linux
Давайте очистим систему от старых пакетов Kernel. Удаление старых ядер Linux одной командой из терминала.
Если вы обновили ядро или систему — перезагрузите компьютер! А лучше в начале выполнить команду без удаления!
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/9/!d'
- 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/ – в каждой строке оставить только название пакета
- /8/!d удалить строки, которые не содержат цифры.
Команда выдаст все ядра установленные в системе. Если в них нет новых только-что установленных (свежих) ядер, то переходим к удалению. Для этого в терминале набираем следующую команду:
dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/3/!d' | xargs sudo apt-get -y purge
Удаление старых Kernels через DPKG
В этом примере вы сможете удалить старые ядра (kernel) через утилиту DPKG:
Получите список всех ядер за исключением текущего загруженного:
sudo dpkg -l | tail -n +6 | grep -E 'linux-image-9+' | grep -Fv $(uname -r)
rc linux-image-4.15.0-55-generic 4.15.0-55.60 amd64 Signed kernel image generic rc linux-image-4.15.0-55-generic 4.15.0-75 amd64 Signed kernel image generic rc linux-image-4.15.0-55-generic 4.15.0-76 amd64 Signed kernel image generic
В данном выводе может быть 3 статуса образов ядер:
- rc – означает, что ядро уже удалено.
- ii – означает, что ядро установлено и может быть удалено.
- iU – ЭТО НЕЛЬЗЯ УДАЛЯТЬ. Это означает, что ядро не установлено, но требуется его установка в apt.
Хотя в примере стоит значение rc, но все же данный список раздражает. Давайте удалим старые ядра вручную, для этого набираем вот такую команду:
sudo dpkg --purge linux-image-4.15.0-55-generic
Так же попробуйте удалить пакеты со значение ii заголовочных файлов для старых ядер (Если команда выводит ошибки можете не обращать на это внимание):
Удаление старых версий ядра в Proxmox
dpkg -l 'pve-kernel-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/2/!d'
Удаляем в ручную при помощи apt, вот например версию 5.4.60:
apt remove pve-kernel-5.15.53-1-pve
apt-get purge $( dpkg --list | grep -P -o "pve-kernel-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") )
Если есть вопросы, то пишем в комментариях.
Также можете вступить в Телеграм канал, ВКонтакте или подписаться на Twitter. Ссылки в шапке страницы.
Заранее всем спасибо.
RSS
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Сегодня в статье настроим и русифицируем Ubuntu Server 16.04/18.04/20.04. Чтобы поддерживался русский язык, и перевод системы стал русским
Начиная с сентября 2017 года удостоверяющим центрам предписано обязательно проверять CAA-записи в DNS перед генерацией сертификата
В этой статье рассмотрим пример обновления Ubuntu Server 16.04 до Ubuntu Server 18.04 Все наши действия нам придется выполнять из Читать
В связи с последними блокировками IP-адресов Роскомнадзором, встала необходимость завести свой собственный VPN сервер. Если VPN у вас ещё не Читать
Очистка linux от старых ядер
как старые ядра удалить? /boot отдельно,уже нет места.
те способы что я на форумах видел либо слишком сложные, либо всё приводило к невозможности загрузиться
а какие способы вы видели и они для вас оказались слишком сложными , и что вы делали такого что привело к невозможности загружаться надо очевидно догадываться
собсно кроме тех адекватных способов с помощью штатных средств минт или доустановленных утилит что упомянуты в теме по ссылке из #7
есть ещё несколько способов : — красноглазые и тупоюзерский с небольшой красноглазостью
1 Если необходимо удалить сразу все старые версии ядра системы.
Чтобы сделать это максимально быстро и просто, откройте терминал и введите команду:
dpkg -l linux-image-* | grep ii | grep -v [a-z]-generic | grep -v `uname -r` | awk ‘< print $2 >‘ | xargs sudo apt-get -y purge
Останутся только текущая и предыдущая версии ядра системы.
(при куче всяко разного наустановленного для нечеловеческих опытов над системой с не факт что может остаться нормально работающее ядро, из тех то что хотели оставить )
2 Поочерёдное удаление ненужных ядер
командой в терминале sudo apt-get purge linux-image-(тута цЫферки и пр. что в названии ядра которое хотите удалять)
—————————
После удаления ненужного для приведения меню в соответствие с оставшимися ядрами
надо выполнить в терминале команду sudo update-grub
1 Открыть файловый менеджер с админскими правами и зайти в каталог /boot вашей рабочей системы
2 Тупо удалить файлы ненужных вам ядер и сопутствующее из того что найдёте
initrd.img-(бла -бла)-generic
abi-(бла -бла)-generic
config-(бла -бла)-generic
vmlinuz-(бла -бла)-generic
System.map-(бла -бла)-generic
( можно сделать это и загрузившись с флешки, а далее потом снова загрузиться нормально в систему с тем ядром которое оставляете )
3 выполнить в терминале команду sudo update-grub