воскресенье, 3 февраля 2013 г.

Centos 6, как удалить старые ядра или немного про малоизвестные способности yum

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

Конечно, это легко найти в Google, но ведь мало просто решить проблему, интересно разобраться во всем этом :)

Так вот, некоторые пакетики при апдейтах могут поддерживать фичу "installonly", то есть пакет не удаляется, не заменяется, а просто устанавливается. Очевидно, при этом критически важные файлы такого пакета ни с чем конфликтовать не должны. По-умолчанию yum считает такими пакетами все, что может содержать ядра, и по-умолчанию в CentOS настроено сохранять 5 последних версий ядра.
Очевидно, связано это с потенциальными проблемами с новым ядром и необходимостью сохранять старые версии. Однако, в большинстве случаев, когда обновления делаются руками и потом делается перезагрузка, умолчательные 5 последних версий как-то слишком уж избыточно (а для случаев ежедневных апдейтов без перезагрузки - как-то слишком уж мало, ведь ядро, скажем, за год, может обновиться раз 10, последнее загруженное ядро уже давно затрется).
В таком случае идем в /etc/yum.conf и правим там installonly_limit на какое-то другое число, после чего будет заметен позитивный эффект на число одновременно установленных версий ядра.
Однако, иногда просто хочется удалить лишние ядра, ничего не меняя. Для этого в пакете yum-utils (yum install yum-utils) есть нехитрая утилита package-cleanup:
# package-cleanup --oldkernels --count=2

И останутся только 2 последних ядра.


После всего этого всем интересующимся рекомендуется почитать man 5 yum.conf, где есть множество интересных и [бес]полезных опций, например, ограничение используемой пропускной способности сети, сохранение пакетов на локальном диске после установки и т.п. Ну и ознакомиться с пакетом yum-utils поближе.

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

  1. Я обычно вбиваю в synaptic "linux-image" и помечаю для удаления все старые ядра.

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