Как удалить лишние ядра линукс

Удаление неиспользуемых ядер в Linux

Довольно часто некоторые начинающие (и наблюдательные) пользователи Linux-систем замечают, что со временем на системных разделах заметно уменьшается объём свободного дискового пространства. Причём такие изменения происходят совсем не от установки дополнительного программного обеспечения (ПО). А в результате обновлений системы. Малоопытные пользователи сетуют: ситуация, схожая с тем, как в системах Windows. Новые обновления занимают значительный объём свободного места на системном разделе. Однако, всё совершенно не так, как в Windows. И главной особенностью является то, что в отличие от Windows, ситуацию можно и нужно исправить. Причём абсолютно корректно, полностью вернув утраченное свободное место.

Что такое «неиспользуемые» ядра и почему они накапливаются в системе?

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

Но дело ещё и в том, что когда для системы выпускается новая версия Linux-ядра. То оно (новое ядро) будет установлено как отдельное независимое ядро. В процесс его установки также входит автоматическая настройка загрузчика GRUB. Для того, чтобы свежеустановленное ядро загружалось им по-умолчанию. При этом, как правило, старые ядра не удаляются. Это сделано для того, чтобы как можно в более полной степени следовать концепции «Unix Way». Которая, в частности, предполагает предотвращение всяческой самодеятельности, дабы не навредить системе. В случае с установкой новых версий ядер, старые не удаляются, чтобы дать возможность пользователю их использовать. Если с новым ядром возникнут какие-либо неполадки.

Стоит заметить, что в зависимости от «комплектности» ядер, они могут, занимать свыше 300 мегабайт дискового пространства. Нетрудно представить, какой объём в таком случае занимают несколько неиспользуемых старых ядер.

В данной статье будут рассмотрены способы очистки системы от неиспользуемых ядер на примере дистрибутивов Ubuntu. Так, например, для этих систем (как впрочем и для большинства других Linux-дистрибутивов) ядро представляет собой набор из следующих пакетов:

  • linux-headers-[версия] – заголовочные файлы ядра;
  • linux-image-[версия] – бинарный образ ядра;
  • linux-extra-[версия] – дополнительные внешние модули ядра для расширения функционала.

При установке и удалении перечисленных пакетов также выполняются и служебные скрипты для настройки системного загрузчика. Это необходимо для очистки его конфигурации (или для добавления в неё) в соответствии с установленными (или удаляемыми) в системе ядрами.

Удаление ядер с помощью системы управления пакетами

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

Как можно видеть, в качестве основного ядра (то, которое загружает загрузчик GRUB по-умолчанию) является версия 4.18.0-18.
Теперь можно выяснить, какие ещё ядра присутствуют в системе. На примере Ubuntu для этого используется команды менеджера пакетов dpkg:

Для первой команды вывод может быть примерно таким:

Похожий вывод даст вторая команда, но с тем лишь отличием, что в наименовании пакетов будет указано «linux-headers». Как можно видеть, кроме основного ядра версии 4.18.* в системе присутствуют также ядра из семейства версии 4.15 — 43, 46 и 47. От первых двух не мешало бы избавиться, высвободив таким образом значительный объём дискового пространства. А вот ядро 4.15.0-47 рекомендуется оставить как резервное. Это обычная практика в Linux-системах — иметь на борту альтернативное ядро предыдущей версии со стабильными проверенной конфигурацией и набором модулей.

Следует не забывать, выполнять вышеприведённые команды для пакетов linux-extra – они также могут присутствовать в системе. Но гораздо реже, поскольку данные пакеты чаще всего устанавливаются вручную.

Теперь, когда решено удалить неиспользуемые ядра версий 4.15.0-43 и 4.15.0-46, можно воспользоваться командами системы управления пакетами (СУП) для используемого дистрибутива. В данном случае, для Ubuntu, следует выполнить следующие команды:

Во время удаления этих пакетов конфигурация загрузчика GRUB будет автоматически перенастроена, ничего вручную для этого делать не нужно. Следует отметить, что в системе также могут присутствовать версии ядер без «generic» в наименовании пакетов. Если такие ядра не нужны, то и их также рекомендуется удалить. Изменения для GRUB можно заметить при следующей перезагрузке системы. В меню загрузчика (если в его конфигурации включен вывод меню выбора) будут отсутствовать пункты для соответствующих удалённых ядер.

Удаление сразу нескольких ядер

Нередко старых ядер накапливается довольно много. И при их удалении одной командой apt-get purge не совсем удобно перечислять наименования пакетов всех ядер. Чтобы сделать команду удаления ядер более удобочитаемой, а также сэкономить время на её составление. Можно воспользоваться некоторыми возможностями командной строки. Такими как регулярные выражения. В этом случае для удаления двух ядер версий 4.15.0-43 и 4.15.0-46. Включая их образы и заголовочные файлы запись соответствующих команд будет выглядеть следующим образом:

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

Использование специализированных утилит — скрипт purge-old-kernels

Некоторые пользователи могут и не решиться на такие действия как удаления ядер в силу малоопытности. Для подобных ситуаций во многих дистрибутивах Linux в арсенале стандартного репозитория имеются специализированные утилиты, которые позволяют безопасно выполнять самые ответственные действия с системой. Одной из таких утилит является bikeshed, которую можно установить из одноимённого пакета:

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

Как и в случае с удалением ядер с помощью СУП, беспокоиться о перенастройке GRUB не стоит, поскольку данный скрипт это также умеет делать. Но если вдруг конфигурация загрузчика не была обновлена, то можно это сделать вручную, выполнив команду:

В заключение следует отметить, что использование скрипта purge-old-kernels является наиболее предпочтительным способом очистить систему от старых ядер. Главным преимуществом данного способа является его надёжность и универсальность, поскольку этот скрипт корректно удаляет даже те ядра, которые устанавливались в систему вручную путём сборки из исходных кодов.

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

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

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

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

Источник

Как удалить образы неиспользуемых старых ядер в Ubuntu

Вопрос: Я обновлял ядро на моей Ubuntu множество раз. Теперь мне бы хотелось удалить неиспользуемые старые образы ядер и таким образом сберечь дисковое пространство. Какой самый простой способ удалить более ранние версии ядер Linux на Ubuntu?

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

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

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

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

Как очистить старые образы ядер с apt-get

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

В Ubuntu образы дисков состоят из следующих пакетов.

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

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

Из списка образов ядра вы можете удалить конкретные версии, к примеру 3.19.0-15) следующим образом.

Вышеприведённая команда удалит образ ядра и связанные с ним файлы модулей ядра и заголовка (хедера).

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

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

Вышеприведённая команда удалит 4 образа ядра: 3.19.0-18, 3.19.0-20, 3.19.0-21 и 3.19.0-25.

Если по каким-либо причинам конфигурация GRUB не обновлена должным образом после удаления старых ядер, вы можете попытаться обновить конфигурацию GRUB вручную с командой update-grub2.

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

Как очистить старые образы ядра с purge-old-kernels

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

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

И ещё четырех быстрых способа удалить старые ядра

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

1. Используя графический интерфейс (GUI)

Запустить Ubuntu Tweak, затем «Start Janitor», поставьте галочку «Old Kernel» (старые ядра).

2. Удаление в одну простую команду

Эта команда удалит все неиспользуемые/старые образы ядер кроме текущего.

Источник

Как удалить лишние ядра линукс

21 окт 2016, 16:52

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

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

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

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

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

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

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

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

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

Источник

Mac OS X Hints