Linux ubuntu удаление старых ядер

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

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

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

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

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

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

Удалить старые ядра Ubuntu с помощью apt-get

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

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

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

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

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

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

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

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

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

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

После выполнения этих команд будет удаленно четыре образа ядра 3.19.0-18, 3.19.0-20, 3.19.0-21 и 3.19.0-25.

Читайте также:  Hikvision ivms 4200 mac os

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

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

Удаление старых версий ядер с помощью скрипта Purge-old-kernels

Это был не единственный способ удалить старые версии ядра ubuntu. Все можно сделать более удобно с помощью скрипта purge-old-kernels. Этот скрипт входит в состав пакета bikeshed вместе с другими полезными инструментами. Для установки выполните:

Скрипт purge-old-kernels позволяет удалить нужное количество старых ядер и их заголовочных файлов. Например, для удаления всех образов ядер вместе с дополнительными файлами, кроме трех самых новых ядер, выполните:

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

Как удалить старые образы ядер с помощью центра приложений

Удаление старых ядер ubuntu 16.04 может быть выполнено и с помощью графического интерфейса. Откройте центр приложений из меню Dash или ярлыка в панели Unity, затем наберите в строке поиска linux-image:

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

Ту же самую процедуру нужно будет проделать для пакетов linux-headers. Аналогично удаление старых ядер в Ubuntu будет выполняться в пакетном менеджере Synaptic.

Другие способы

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

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

Выводы

Незачем держать в системе очень много ненужных файлов. Теперь вы знаете, как правильно удалить старые версии ядер 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 автоматически обновится

Так будут выглядеть отмеченые для удаления пакеты старого ядра:

Консольный вариант

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

Источник

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

Совсем недавно я писал статью про очистку Ubuntu от старых пакетов и не нужного софта. Сегодня мы поговорим про удаление старых ядер Ubuntu.

Читайте также:  Check software download windows

Зачем нужно удалять старое ядро

Как известно при установке новых обновлений на систему может установиться и новое ядро. Ядро приносит с собой новые «фичи», а иногда и баги. Но сейчас не об этом. Ядра системы находятся в разделе /boot . Так уж вышло ОС ранних версий отводили под раздел /boot довольно мало места. Если конечно вы не выставляли разметку вручную. Как пример снимок с системы Ubuntu 14 версии позже обновленной до 18.

Раздел boot имеет размер 228 Мбайт, по сегодняшним меркам очень мало. Так вот при обновлении может случиться так что новое ядро не установится, потому что некуда. Для начала советую воспользоваться очисткой системы. Если и она не помогла, придется удалять старые ядра вручную.

Какое ядро используется

Чтобы узнать какое ядро используется сейчас для работы ОС запустим команду

Вывод будет что-то вроде

Linux newadmin 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Как видно из вывода команды у меня версия ядра 4.15.0-50-generic

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

В данном случае linux-image — ядро системы, linux-headers — набор библиотек плотно работающих с ядром

Удалить старую версию ядра

Вместе с ядром linux-image необходимо удалять и linux-headers, они как правило соответствую версии ядра, и при обновлении на новое ядро также ставятся новые linux-headers. Мое текущее активное ядро версии 4.15.0-50 и я смело могу удалять старые ядра

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

Обновляем загрузчик

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

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

Источник

Как удалить старые версии ядра, чтобы очистить меню загрузки?

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

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

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

37 ответов

16.04 и более новые версии Ubuntu

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

11.10 и более новые версии Ubuntu

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

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

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

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

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

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

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

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

Читайте также:  Как программировать windows mobile

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

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

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

Повторите поиск, но на этот раз для 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

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

Источник

Оцените статью