четверг, 26 сентября 2019 г.

CentOS/RHEL: Удаление старых неиспользуемых ядер Linux

После обновлений ОС старые ядра Linux начинают накапливаться в загрузочном разделе, занимая лишнее место. Чтобы их удалить из системы, следуйте следующим шагам:

1. Определяем текущее ядро, под которым загружена система:
uname -a 

Получаем вывод:
Linux clear-centos8.rc.nbrb.by 4.18.0-80.7.1.el8_0.x86_64 #1 SMP Sat Aug 3 15:14:00 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

2. Проверяем доступные для загрузки ядра:
rpm -q kernel

Получаем вывод:
kernel-4.18.0-80.7.1.el8_0.x86_64
kernel-4.18.0-80.el8_0.x86_64

3. Чтобы очистить неиспользуемое ядро "kernel-4.18.0-80.el8_0.x86_64" выполняем:
yum remove kernel-4.18.0-80.el8_0.x86_64

4. Удаляем ядро из меню grub:
ls /boot/vmlinuz*

Определяем который файл соответствует удаляемому ядру.
vmlinuz-0-rescue-40f768414b694ee0a57971f91b470de0
vmlinuz-4.18.0-80.7.1.el8_0.x86_64
vmlinuz-4.18.0-80.el8.x86_64

В нашем примере "vmlinuz-4.18.0-80.el8.x86_64".

Выполняем:
grubby --remove-kernel=/boot/vmlinuz-4.18.0-80.el8.x86_64

5. Очищаем раздел boot от старого образа и его конфигурационных файлов:
rm /boot/*-4.18.0-80.el8.x86_64*

В нашем случае используем фильтр по версии ядра ("-4.18.0-80.el8_0.x86_64").

P.S. Существует другой менее гибкий, но более быстрый способ автоматически вычистить старые ядра: "yum autoremove kernel".

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

  1. yum -y autoremove kernel удалит всё сам.

    ОтветитьУдалить
  2. Отличная команда! Но ручной способ тоже может пригодится в определенных ситуациях.

    ОтветитьУдалить