Удалить старые ядра linux mint

В 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- – файлы заголовков

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

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

dpkg –list | grep linux-image
$ dpkg –list | grep linux-headers

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

sudo apt-get purge linux-image-3.19.0-15
$ sudo apt-get purge linux-headers-3.19.0-15

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

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

Читайте также:  Как восстановить заблокированную симку

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

sudo apt-get purge linux-image-3.19.0-<18,20,21,25>
$ sudo apt-get purge linux-headers-3.19.0-

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

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

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

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

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

sudo apt-get install bikeshed

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

sudo purge-old-kernels –keep 3

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

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

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

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

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

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

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

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)

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

sudo apt-get autoremove
$ sudo update-grub

Выводы

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

Дата поста: 22-01-2018

Для LVM, зашифрованных или ограниченных по размеру хранилища систем вам необходимо периодически удалять старые, неиспользуемые ядра операционной системы, чтобы не получать ошибки о нехватке места (это так же не даёт нормально обновлять и остальные пакеты в некоторых случаях). В этом посте я покажу несколько способов как можно легко почистить /boot сектор.

Читайте также:  Уравнение ромба в декартовой системе координат

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

Для начала запустим консоль комбинацией горячих клавиш Ctrl+Alt+T и следуйте следующим шагам:

Удаление автоматически установленных ядер:

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

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

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

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

Запустите команду ниже для включения режима unattended upgrades. Для Desktop версии Ubuntu 16.04 эта опция включена по умолчанию.

Отредактируйте конфигурационный файл через команду (для начала установите программу gksu через sudo apt install gksu ):

После открытия файла раскомментируйте строку из примера ниже и установите значение в true :

Должно выглядеть как-то так:

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

Если вы устанавливаете последние ядра из Kernel PPA, или собираете ядра сами с вашими патчами, вам может помочь скрипт purge-old-kernels , который позволяет с лёгкостью находить и удалять неиспользуемые старые ядра.

  1. Данный скрипт доступен в рамках пакета byobu – установите его командой из примера ниже:
  1. Теперь вы можете периодически запускать команду из примера ниже, чтобы чистить систему от старых kernels:

Удаление старых Kernels через DPKG

Если ваш /boot сектор уже забит и не позволяет установить новые пакеты, например для использования скрипта из примера выше, и apt не может решить сломанные зависимости, в этом примере вы сможете освободить место через DPKG:

  1. Выполните команду для того, чтобы узнать какое ядро сейчас используется И НЕ УДАЛЯЙТЕ ЕГО!:
  1. Получите список всех ядер за исключением текущего загруженного:

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

В данном выводе может быть 3 статуса образов ядер:

  • rc: – означает, что ядро уже удалено.
  • ii: – означает, что ядро установлено и может быть удалено.
  • iU:ЭТО НЕЛЬЗЯ УДАЛЯТЬ. Это означает, что ядро не установлено, но требуется его установка в apt.
  1. Удаляем старые ядра со статусом ii , в примере ниже это linux-image-4.4.0-18-generic :

Если команда завершается с ошибкой, удалите зависимые пакеты, которые будут выведены, командой sudo dpkg –purge PACKAGE .

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

Читайте также:  Проверка аккумулятора по серийному номеру

Теперь можно исправвить зависимости командой ниже:

Ну, собственно и всё, профит.
Примеры найдены на просторах буржуйского интернета.

про свой опыт решения некоторых проблем и использования ряда возможностей ОС и приложений

среда, 11 января 2017 г.

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

Раньше удаление старых ядер мной осуществлялось через утилиту Ubuntu Cleaner, но впоследствии появилось желание контролировать процесс. Поэтому, немного поискав в сети, на ресурсе http://losst.ru была найдена инструкция по порядку удаления старых ядер через терминал.

Сначала необходимо получить сведения об установленных в сиситеме ядрах. Введите в терминале команду ls /boot/

В моей системе была выдана информация:

abi-4.4.0-21-generic initrd.img-4.4.0-57-generic
abi-4.4.0-47-generic initrd.img-4.4.0-59-generic
abi-4.4.0-51-generic memtest86+.bin
abi-4.4.0-53-generic memtest86+.elf
abi-4.4.0-57-generic memtest86+_multiboot.bin
abi-4.4.0-59-generic System.map-4.4.0-21-generic
config-4.4.0-21-generic System.map-4.4.0-47-generic
config-4.4.0-47-generic System.map-4.4.0-51-generic
config-4.4.0-51-generic System.map-4.4.0-53-generic
config-4.4.0-53-generic System.map-4.4.0-57-generic
config-4.4.0-57-generic System.map-4.4.0-59-generic
config-4.4.0-59-generic vmlinuz-4.4.0-21-generic
grub vmlinuz-4.4.0-47-generic
initrd.img-4.4.0-21-generic vmlinuz-4.4.0-51-generic
initrd.img-4.4.0-47-generic vmlinuz-4.4.0-53-generic
initrd.img-4.4.0-51-generic vmlinuz-4.4.0-57-generic
initrd.img-4.4.0-53-generic vmlinuz-4.4.0-59-generic

Т.е. установлено 6 различных ядер, но при своей работе система использует только последнее – 4.4.0-59

Поэтому, сохранив для подстраховки и предпоследнюю версию (4.4.0-57), удалим 4 ненужных старых ядра: 4.4.0-21, 4.4.0-47, 4.4.0-51, 4.4.0-53.

Команды для удаления нескольких ядер c использованием возможностей командного интерпретатора bash:

sudo apt-get purge linux-image-. -<–,–,–,–>
sudo apt-get purge linux-headers-. –

Вместо . подставляем 4.4.0, а вместо — то, что после символа -. Таким образом, результирующие команды, которые будут выполняться последовательно, приобретут вид:

sudo apt purge linux-image-4.4.0- <21,47,51,53>&& sudo apt purge linux-headers-4.4.0-

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

В конечном счёте у Вас должен обновиться grub. Для подстраховки его можно обновить ещё раз, например, sudo update-grub или sudo update-grub2

При выполнении операций в окне терминала было отображено уведомление, что в результате действий по удалению старых ядер будет освобождено 872 Мб и 311 Мб. Что ж, не ахти, конечно, какая, но, всё-таки, экономия дискового пространства составила более 1,1 Гб. А копеечка, как известно, рубль бережёт.

При удалении старых ядер также было отображено сообщение, что папки ядер в каталоге /lib/modules/ не удалены, так как не являются пустыми.

Что ж, удалим их вручную. Так как их можно удалить только под правами суперпользователя, то запустим, например, Midnight Commander – sudo mc – выделим папки 4.4.-21-generic, 4.4.-47-generic, 4.4.-51-generic, 4.4.-53-generic и клавишей F8 удалим их, подтвердив свои действия в окне запроса.

Посмотрим, что вышло в конце: ls /boot/ в теминале или в менеджере файлов:

Видно, что в системе осталось 2 ядра: 57-е и 59-е. Можно считать, что цель достигнута.

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

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

Adblock detector