ZaLinux.ru

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

Основывается на материале http://ask.xmodulo.com/remove-kernel-images-ubuntu.html

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

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

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

21352725115_58c7f57376_o

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

21164866468_7e2bf5f395_o

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

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

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

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

  • linux-image-<НОМЕР-ВЕРСИИ>: образ ядра
  • linux-image-extra-<НОМЕР-ВЕРСИИ>: дополнительные модули ядра
  • linux-headers-<НОМЕР-ВЕРСИИ>: файлы заголовков ядра

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

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

21165822519_8ccfef1de6_o

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

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

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

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

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

sudo apt-get purge linux-image-3.19.0-{18,20,21,25}
sudo apt-get purge linux-headers-3.19.0-{18,20,21,25}

21352725355_655c017a94_o

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

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

sudo update-grub2

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

20731623163_0db1ceca06_o

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

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

sudo apt-get install bikeshed

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

sudo purge-old-kernels --keep 3

21488409101_61d813dae5_o

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

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

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

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

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

sudo apt-get autoremove

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

3. Удаление в одну сложную команду

Удалить все ядра кроме текущего

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) --assume-yes

4. Готовый скрипт

Один из читателей написал целый скрипт, который решает эту проблему: https://github.com/ClockworkNet/kernel_cleanup

Рекомендуемые статьи:

Оставить комментарий

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