X

Удаляем старые ядра в CentOS/RHEL/Fedora

Иногда так бывает, что надо почистить старые ядра Linux. Чаще всего это происходит после того, как вы поставили обновления и сервер банально перестал грузится. Причина – закончившееся место в /boot. Это особенно актуально для машин, где ограничено дисковое пространство, например для тех же VPS/VDS серверов. Поэтому, перед тем как обновляться, неплохо взять за привычку проверять наличие свободного места.

Чудесно, здесь в /boot еще достаточно места

Просматриваем список старых ядер в CentOS/RHEL/Fedora

Просмотреть, какие ядра хранятся можно с помощью пакетного менеджера rpm:

$ rpm -qa kernel
kernel-3.10.0-327.22.2.el7.x86_64
kernel-3.10.0-514.2.2.el7.x86_64
kernel-3.10.0-514.6.1.el7.x86_64
kernel-3.10.0-514.16.1.el7.x86_64
kernel-3.10.0-327.el7.x86_64

Удаляем старые ядра

Для этого на понадобится пакет yum-utils. Он одинаков, что для yum, что для dnf.
Ставим для Fedora 16-21, CentOS 6/7, Red Hat (RHEL) 6/7

$ sudo yum install -y yum-utils

Для Fedora 22+

$ sudo dnf install -y yum-utils

И удаляем. Параметр сount=X показывает сколько оставить старых ядер (у меня 2).

$ sudo package-cleanup --oldkernels --count=2

Смотрим, что осталось

$ rpm -qa kernel
kernel-3.10.0-514.6.1.el7.x86_64
kernel-3.10.0-514.16.1.el7.x86_64

Все так, как мы и задумали.

Удаляем ядра автоматически

На самом деле, каждый раз удалять старые ядра руками нет необходимости. В настройках YUM/DNF можно указать сколько старых ядер хранить и при обновлении лишние будут удаляться автоматически. Для этого надо задать параметр installonly_limit в конфигурационном файле. Для YUM это /etc/yum.conf, а для DNF соответственно /etc/dnf/dnf.conf.

installonly_limit=2
hc: