Как удалить ненужное ядро в ubuntu
Перейти к содержимому

Как удалить ненужное ядро в ubuntu

  • автор:

Удаление старых ядер

С обновлениями периодически устанавливаются новые версии ядра, которых со временем становится все больше. старые ядра можно спокойно удалить, это не причинит вреда системе. в принципе, достаточно иметь одно ядро последней версии (или той, которая наиболее стабильно работает на вашей конфигурации), но при желании можно оставить еще одно ядро предыдущей версии в качестве запасного, ибо бывает всякое. определевшись, какие ядра оставляем, можно смело удалять старые. наиболее простой и удобный способ — использовать 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/;/[0-9]/!d' | head -n -1)

а после этого выполнить

sudo apt-get autoremove

А также может помочь

sudo apt-get autoclean
sudo apt-get autoremove

Удаление старых ядер в Debian и Ubuntu

Иногда, при установке обновлений на сервер, можно столкнуться с проблемой нехватки места на /boot разделе. В Debian и Ubuntu есть два разных способа решения возникшей ситуации.

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

# dpkg --list | grep linux-image # apt-get --purge remove linux-image-XXXX

При необходимости, обновляем конфиг GRUB:

# update-grub2

Разумеется, ручное удаление файлов с помощью rm из /boot так же возможно, но прибегать к такому способу стоит только в самом крайнем случае.

Второй способ — с помощью утилиты purge-old-kernels из пакета byobu. Устанавливаем пакет, и удаляем все старые ядра, оставив только новое (либо несколько, если это важно):

# apt-get install byobu # purge-old-kernels --keep 3

Пакет byobu доступен для установки и в Ubuntu, и в Debian (в 9 во всяком случае) прямо из репозиториев. Если вы заметили, что на сервере /boot раздел имеет небольшой размер, имеет смысл озадачиться установкой этой утилиты заранее.

Кроме того, в man purge-old-kernels для Ubuntu 17.10 можно найти следующее дополнение:

This utility is now deprecated. The functionality it used to provide should be integrated into apt(8).

Т. е. в этой версии Ubuntu уже можно использовать apt для удаления старых ядер. Например:

apt autoremove --purge

Удалить старые файлы ядра в Ubuntu/Debian

Удалить старые файлы ядра в Ubuntu/Debian

После установки/обновления нового ядра Linux, старые файлы не удаляются автоматически. Если раздел загрузки выделен на диске и имеет недостаточно места это может стать проблемой.

Конечно можно не удалять эти файлы, если проблем с местом на диске нет. Причинами для удаления могут быть: очистка места на диске; очистка меню загрузки.

Файлы ядра сохраняются для возможности загрузки системы в разных версиях ядра.

В современных системах после установки нового ядра, apt (apt-get) предлагает удалить старые ненужные файлы, это сделать просто, командой:

apt-get autoremove

Актуальная версия ядра

чтобы получить информацию о текущем актуальном ядре используем uname :

# краткая версия uname -r # расширенная версия uname -mrs # полная информация uname -a

Получить список установленных версий ядра

все установленные версии можно просмотреть dpkg —list и фильтр через grep :

# kernel dpkg --list | grep linux-image # headers dpkg --list | grep linux-headers

Для удаления старых версий

# удалить конкретную версию apt-get --purge remove linux-image-XXX # или по маске apt-get --purge remove linux-image-4.2.0-2*

после удаления старых файлов ядра Linux, обновить grub

update-grub2

После всех манипуляций перезагрузить систему

systemctl reboot # or reboot

Будьте внимательны — не удалите случайно актуальные версии ядра и заголовков!

Sign up for more like this.

Enter your email

Bulma 1.0.0

Bulma 1.0.0

Большое, знаковое событие в экосистеме Bulma. Новый релиз 1.0.0. Движение к новой версии заняло несколько лет. И что в итоге? Стиль Bulma v1 полностью переписан «с нуля», используется Dart Sass. Что осталось прежним? Все HTML-сниппеты остались прежними. То есть общая логика стиля всех компонентов осталась прежней. Это означает,

2 апр. 2024 г. 1 min read

Ruby: nil? empty? blank? present?

В Ruby on Rails доступны несколько методов для проверки существования значения или состояния объекта. Ruby предлагает nil?, empty? и Rails добавляет blank? и present?. Каждый из методов имеет свою логику и назначение. И конечно предполагает применение в нужном контексте. nil? Метод класса Object в Ruby. Что означает его повсеместную доступность.

12 дек. 2023 г. 1 min read

Vim — проверка орфографии

Vim проверенный временем, просто и одновременно мощный редактор. Одна из позитивных возможностей — проверка орфографии. Допустим, что настройки редактора в домашней директории пользователя в файле ~/.vimrc. Добавим: set spell spelllang=ru_ru,en_us Можно это сделать и в редакторе, выполнив команду: :set spell spelllang=ru_ru Но если редактором пользуемся

Как удалить самое свежее ядро в Ubuntu?

Обновил систему через apt-get dist-upgrade и то-ли криво встало ядро, то-ли конфликт, в общем при загрузке ядра падает в kernel panic. C предыдущими ядрами всё в порядке. Что-бы грузилось старое ядром можно изменить порядок загрузки, но тогда будет указание либо на конкретно ядро, либо на ядро по счёту, что потребует ещё одного вмешательства. Ядро можно удалить, вот только apt-get remove установит последнее ядро, которое и надо удалить.
Вопрос: как правильно удалить самое последнее ядро?

  • Вопрос задан более трёх лет назад
  • 6900 просмотров

2 комментария

Простой 2 комментария

hint000

вот только apt-get remove установит последнее ядро

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

fpir @fpir Автор вопроса

hint000, да, пробовал, последнее ядро удаляется, потом устанавливается снова(без ошибок), grub обновляется и при загрузки по умолчанию снова падает в kernel panic.

Решения вопроса 1
fpir @fpir Автор вопроса
В итоге корректно удалилось через dpkg и последующий apt autoremove.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 3

Zoominger

System Integrator
Сделайте:
ls /boot/
увидите список ядер. Скопируйте версию самого нового (кот-й надо удалить) и:

apt-get remove linux-image- linux-image-extra- linux-headers-

Ответ написан более трёх лет назад
Нравится 3 8 комментариев
fpir @fpir Автор вопроса

Именно так и делал, при удалении любого ядра apt-get обновляется на самое свежее ядро. Именно то, которое и удаляю.

Zoominger

Лол, как это? Киньте вывод из терминала.
А если purge вместо remove?
fpir @fpir Автор вопроса
linux-image-extra-

А вот этого не делал, это чего? Думаете может быть разница?
fpir @fpir Автор вопроса

Киньте вывод из терминала.

затруднительно, нет GUI.

Zoominger

fpir, ну ядро в Убунте, оно, простите, как Бог, триедино. Отдельно ядро, отдельно модули, отдельно заголовки и надо удалять всё отдельно, если аpt сам этого не сделал (что в Убунте, вроде, так и есть).

затруднительно, нет GUI.

Ну перепишите или сфоткните 🙂
fpir @fpir Автор вопроса

/$ sudo uname -a Linux ubuntu 3.13.0-167-generic #217-Ubuntu SMP Wed Mar 13 16:18:21 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux /$ ls /boot grub initrd.img-3.13.0-167-generic initrd.img-3.13.0-168-generic vmlinuz-3.13.0-168-generic /$ sudo apt-get remove linux-image-3.13.0-168 linux-image-extra-3.13.0-168 linux-headers-3.13.0-168 Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Заметьте, выбирается «linux-image-3.13.0-168-generic» для регулярного выражения «linux-image-3.13.0-168» Заметьте, выбирается «linux-image-3.13.0-168-lowlatency» для регулярного выражения «linux-image-3.13.0-168» E: Невозможно найти пакет linux-image-extra-3.13.0-168 E: Не удалось найти ни один пакет с помощью регулярного выражения «linux-image-extra-3.13.0-168» /$ sudo apt-get remove linux-image-3.13.0-168 linux-headers-3.13.0-168 Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Заметьте, выбирается «linux-image-3.13.0-168-generic» для регулярного выражения «linux-image-3.13.0-168» Заметьте, выбирается «linux-image-3.13.0-168-lowlatency» для регулярного выражения «linux-image-3.13.0-168» Package 'linux-image-3.13.0-168-generic' is not installed, so not removed Package 'linux-image-3.13.0-168-lowlatency' is not installed, so not removed Следующие пакеты устанавливались автоматически и больше не требуются: amd64-microcode intel-microcode iucode-tool linux-headers-3.13.0-157 linux-headers-3.13.0-157-generic linux-headers-3.13.0-160 linux-headers-3.13.0-160-generic linux-headers-3.13.0-163 linux-headers-3.13.0-163-generic linux-headers-3.13.0-164 linux-headers-3.13.0-164-generic linux-image-3.13.0-157-generic linux-image-3.13.0-160-generic linux-image-3.13.0-163-generic linux-image-3.13.0-164-generic linux-image-extra-3.13.0-157-generic linux-image-extra-3.13.0-160-generic linux-image-extra-3.13.0-163-generic linux-image-extra-3.13.0-164-generic linux-image-unsigned-3.13.0-168-generic Для их удаления используйте «apt-get autoremove». Следующие пакеты будут УДАЛЕНЫ: linux-headers-3.13.0-168 linux-headers-3.13.0-168-generic linux-headers-generic linux-headers-generic-lts-trusty Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 4 пакетов, и 0 пакетов не обновлено. После данной операции объём занятого дискового пространства уменьшится на 77,2 MB. Хотите продолжить? [Д/н] y (Чтение базы данных … на данный момент установлено 291506 файлов и каталогов.) Удаляется linux-headers-generic-lts-trusty (3.13.0.168.179) … Удаляется linux-headers-generic (3.13.0.168.179) … Удаляется linux-headers-3.13.0-168-generic (3.13.0-168.218) … Удаляется linux-headers-3.13.0-168 (3.13.0-168.218) … $ ls boot grub initrd.img-3.13.0-167-generic initrd.img-3.13.0-168-generic vmlinuz-3.13.0-168-generic

Количество ядер для удаления меня смутило, поэтому:

/$ sudo fdisk -l Диск /dev/sde: 1000.2 Гб, 1000204886016 байт 255 головок, 63 секторов/треков, 121601 цилиндров, всего 1953525168 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Идентификатор диска: 0x67ea8be7 Устр-во Загр Начало Конец Блоки Id Система /dev/sde1 * 2048 499711 248832 83 Linux /dev/sde2 499712 1953525167 976512728 5 Расширенный /dev/sde5 501760 863737855 431618048 8e Linux LVM Диск /dev/mapper/ubuntu-root: 157.9 Гб, 157902962688 байт 255 головок, 63 секторов/треков, 19197 цилиндров, всего 308404224 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Идентификатор диска: 0x00000000 На диске /dev/mapper/ubuntu-root отсутствует верная таблица разделов Диск /dev/mapper/ubuntu-swap_1: 1879 МБ, 1879048192 байт 255 головок, 63 секторов/треков, 228 цилиндров, всего 3670016 секторов Units = секторы of 1 * 512 = 512 bytes Размер сектора (логического/физического): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Идентификатор диска: 0x00000000 На диске /dev/mapper/ubuntu-swap_1 отсутствует верная таблица разделов blackmessa@ubuntu:/$ sudo mount -t ext2 /dev/sde1 /mnt blackmessa@ubuntu:/$ ls /mnt abi-3.13.0-117-generic lost+found abi-3.13.0-157-generic memtest86+.bin abi-3.13.0-160-generic memtest86+.elf abi-3.13.0-163-generic memtest86+_multiboot.bin abi-3.13.0-164-generic retpoline-3.13.0-157-generic boot_rm retpoline-3.13.0-160-generic config-3.13.0-117-generic retpoline-3.13.0-163-generic config-3.13.0-157-generic retpoline-3.13.0-164-generic config-3.13.0-160-generic System.map-3.13.0-117-generic config-3.13.0-163-generic System.map-3.13.0-157-generic config-3.13.0-164-generic System.map-3.13.0-160-generic config-3.13.0-167-generic System.map-3.13.0-163-generic config-3.13.0-168-generic System.map-3.13.0-164-generic grub System.map-3.13.0-167-generic initrd.img-3.13.0-117-generic System.map-3.13.0-168-generic initrd.img-3.13.0-157-generic vmlinuz-3.13.0-117-generic initrd.img-3.13.0-160-generic vmlinuz-3.13.0-157-generic initrd.img-3.13.0-163-generic vmlinuz-3.13.0-160-generic initrd.img-3.13.0-164-generic vmlinuz-3.13.0-163-generic initrd.img-3.13.0-167-generic vmlinuz-3.13.0-164-generic initrd.img-3.13.0-167-generic.dpkg-bak vmlinuz-3.13.0-167-generic initrd.img-3.13.0-167-generic.new vmlinuz-3.13.0-168-generic

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *