DevOPSАдминистрирование

Недостаточно места в /boot разделе CentOS

2 способа решения проблемы для CentOS 6 и CentOS 7

Эта ошибка появляется при попытке обновить CentOS 7. При попытке обновления привычной командой “yum update” получаем ряд ошибок. Среди этих ошибок видим следующую строку “At least xMB more space needed on the /boot filesystem”. Это следствие того, что в разделе /boot недостаточно свободного места для установки свежего ядра.

Предлагаем 2 варианта решения этой проблемы.

Новый способ:

Итак начнем. Первым делом получаем список ядер (они же kernel packages или пакеты ядра).

yum list kernel

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

Для того чтобы удалить неиспользуемые ядра установим пакет yum-utils и воспользуемся утилитой package-cleanup:

yum install yum-utils
package-cleanup --oldkernels --count=2

Чтобы сделать эти изменения постоянными отредактируйте файл /etc/yum.conf и добавьте в него следующую строчку:

...
installonly_limit=2

Если с местом в разделе /boot совсем плохо можно оставить только одно предыдущее ядро. В этом случае команда будет выглядеть так:

package-cleanup --oldkernels --count=1

Старый способ:

При попытке обновления клиентского VPS с CentOS 6 командой “yum update” мы получили следующую ошибку:

Transaction Check Error: installing package kernel-2.6.32-358.2.1.el6.x86_64 needs 11MB on the /boot filesystem
Error Summary
Disk Requirements: At least 11MB more space needed on the /boot filesystem.

В новых версиях строка с ошибкой выглядит как “At least xMB more space needed on the /boot filesystem”, где х — недостающее пространство в Мб.

Чего тебе ещё надобно, бесовская машина….? father aka @it_maniac

 

Чтобы проверить остаток свободного места на разделах выполняем в консоли:

df -h

И получем следующий вывод:

Filesystem Size Used Avail Use% Mounted on
/dev/vda3 136G 60G 70G 46% /
tmpfs 5.3G 0 5.3G 0% /dev/shm
/dev/vda1 99M 77M 17M 82% /boot
/usr/tmpDSK 1.3G 35M 1.2G 3% /tmp

Как видно — раздел /boot заполнен на 82%.

Для получения списка установленных ядер (они же kernel packages) воспользуемся командой:

rpm -qa | grep kernel

Вывод списка ядер:

kernel-2.6.32-220.7.1.el6.x86_64
kernel-headers-2.6.32-358.2.1.el6.x86_64
dracut-kernel-004-303.el6.noarch
kernel-2.6.32-279.19.1.el6.x86_64
kernel-firmware-2.6.32-358.2.1.el6.noarch
kernel-2.6.32-279.9.1.el6.x86_64

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

rpm -e kernel-2.6.32-220.7.1.el6.x86_64

Вы подставляете после rpm -e нужно ядро, обязательно самой низкой версии из списка.

После чего снова проверяем свободное пространство на разделах:

df -h

На сей раз вывод следующий:

Filesystem Size Used Avail Use% Mounted on
/dev/vda3 136G 60G 70G 46% /
tmpfs 5.3G 0 5.3G 0% /dev/shm
/dev/vda1 99M 52M 42M 56% /boot
/usr/tmpDSK 1.3G 35M 1.2G 3% /tmp

После всех манипуляций снова обновляем систем командой “yum update” и на этот раз все проходит как нужно.

Напоследок удаляем оставшиеся устаревшие ядра:

rpm -e kernel-2.6.32-279.9.1.el6.x86_64 kernel-2.6.32-279.19.1.el6.x86_64

Результат — 70Мб свободно.

/dev/vda1 99M 25M 70M 26% /boot

Этот «старый» способ прекрасно сработает и на современной CentOS 7.

Надеемся, что для кого-то эта статья окажется полезной.

Насколько полезна была статья?

Средний рейтинг 4.7 / 5. Количество проголосовавших: 12

Никто пока не проголосовал

Related Articles

3 Comments

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

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

Back to top button