Эта ошибка появляется при попытке обновить CentOS 7. При попытке обновления привычной командой “yum update” получаем ряд ошибок. Среди этих ошибок видим следующую строку “At least xMB more space needed on the /boot filesystem”. Это следствие того, что в разделе /boot недостаточно свободного места для установки свежего ядра.
Предлагаем 2 варианта решения этой проблемы.
Новый способ:
Итак начнем. Первым делом получаем список ядер (они же kernel packages или пакеты ядра).
Используемое в данный момент ядро будет подчеркнуто и не может быть удалено, естественно.
Для того чтобы удалить неиспользуемые ядра установим пакет yum-utils и воспользуемся утилитой package-cleanup:
yum install yum-utils
package-cleanup —oldkernels —count=2
Чтобы сделать эти изменения постоянными отредактируйте файл /etc/yum.conf и добавьте в него следующую строчку:
Если с местом в разделе /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
Чтобы проверить остаток свободного места на разделах выполняем в консоли:
И получем следующий вывод:
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) воспользуемся командой:
Вывод списка ядер:
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 нужно ядро, обязательно самой низкой версии из списка.
После чего снова проверяем свободное пространство на разделах:
На сей раз вывод следующий:
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.
Надеемся, что для кого-то эта статья окажется полезной.
Running sudo dnf upgrade
in Fedora CentOS or RHEL will sometimes result in the following error: At least xxMB more space is needed on the /boot filesystem. Let’s fix this!
List all installed kernel packages with:
yum list kernel
On Fedora 22+, CentOS 8 and RHEL 8+, use:
dnf list kernel
The kernel in-use will be underlined and cannot be removed:
Now to remove unused kernels, install the yum-utils (or dnf-utils) package and use the package-cleanup util:
yum install yum-utils package-cleanup --oldkernels --count=2
To make this permanent, edit /etc/yum.conf and add the following line:
installonly_limit=2
On RHEL8/CentOS 8/stream, use:
dnf remove --oldinstallonly --setopt installonly_limit=2 kernel
– – – – – – – – – – – – – – – – – – – – — – – – – – – – – – – – – – – – – – – – — – – – – – – – – – – – – – – – – – – – –
The original article from 2017:
While updating a client’s CentOS 6 server using “yum update” I ran into the following error:
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.
To check the free space on /boot I ran the following command: df -h
Which gave the following output:
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
As you can see the boot partition is 82% full.
To list installed kernels use this command:
rpm -qa | grep kernel
The result:
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
So to remove the oldest kernel, I ran:
rpm -e kernel-2.6.32-220.7.1.el6.x86_64
Then: df -h
Output:
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
As you can see that freed up more than the 11MB needed. So I retried yum -y update kernel and this time it works. Finally, I deleted the old ones again:
rpm -e kernel-2.6.32-279.9.1.el6.x86_64 kernel-2.6.32-279.19.1.el6.x86_64
The final result, 70M free!.
/dev/vda1 99M 25M 70M 26% /boot
Last updated: Aug 13th, 2021
Tags: CentOS, linux, sysadmins
“Transaction check error:
installing package kernel-3.10.0-693.11.1.el7.x86_64 needs 232KB on the /boot filesystem
Error Summary
————-
Disk Requirements:
At least 1MB more space needed on the /boot filesystem “
When this error has been coming we first check the free space in /boot partition
[root@localhost ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 7.2G 11G 41% /
devtmpfs 348M 0 348M 0% /dev
tmpfs 363M 0 363M 0% /dev/shm
tmpfs 363M 15M 348M 5% /run
tmpfs 363M 0 363M 0% /sys/fs/cgroup
/dev/sda1 297M 267M 31M 90% /boot
tmpfs 73M 12K 73M 1% /run/user/42
tmpfs 73M 0 73M 0% /run/user/0
/boot partition is 90 % full. Now you check installed kernel
[root@localhost ~]# rpm -qa | grep kernel
kernel-devel-3.10.0-514.6.1.el7.x86_64
kernel-3.10.0-693.5.2.el7.x86_64
kernel-devel-3.10.0-514.16.1.el7.x86_64
kernel-tools-3.10.0-693.5.2.el7.x86_64
kernel-headers-3.10.0-693.5.2.el7.x86_64
kernel-devel-3.10.0-514.2.2.el7.x86_64
kernel-3.10.0-514.10.2.el7.x86_64
kernel-tools-libs-3.10.0-693.5.2.el7.x86_64
kernel-3.10.0-514.2.2.el7.x86_64
kernel-3.10.0-514.16.1.el7.x86_64
abrt-addon-kerneloops-2.1.11-48.el7.centos.x86_64
kernel-devel-3.10.0-693.5.2.el7.x86_64
kernel-devel-3.10.0-514.10.2.el7.x86_64
[root@localhost ~]#
Display current kernel running on the machine use the following command
[root@localhost ~]# uname -r
3.10.0-693.5.2.el7.x86_64
So remove the 2 oldest kernel
[root@localhost ~]# rpm -e kernel-3.10.0-514.2.2.el7.x86_64
[root@localhost ~]# rpm -e kernel-3.10.0-514.16.1.el7.x86_64
Check the free space in /boot partition
[root@localhost ~]# df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 7.2G 11G 41% /
devtmpfs 348M 0 348M 0% /dev
tmpfs 363M 0 363M 0% /dev/shm
tmpfs 363M 15M 348M 5% /run
tmpfs 363M 0 363M 0% /sys/fs/cgroup
/dev/sda1 297M 164M 133M 56% /boot
tmpfs 73M 12K 73M 1% /run/user/42
tmpfs 73M 0 73M 0% /run/user/0
As you can see freed space more from required amount of space. So now you can update kernel freely with “yum -y update kernel “command.
Просмотр полной версии : Disk Requirements
onmaster
04.02.2016, 11:33
При попытке обновиться через yum update:
Disk Requirements:
At least 29MB more space needed on the /boot filesystem.
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/main-root
126G 32G 89G 27% /
/dev/md0 496M 48M 423M 11% /boot
Есть безопасный вариант решения проблемы?
Да — почистите старые пакеты с ядрами. В centos старые версии ядер сохраняются на всякий случай
onmaster
08.02.2016, 08:51
Да — почистите старые пакеты с ядрами. В centos старые версии ядер сохраняются на всякий случай
# rpm -q kernel
kernel-2.6.32-431.23.3.el6.x86_64
kernel-2.6.32-431.29.2.el6.x86_64
# package-cleanup —oldkernels —count=1
Loaded plugins: protectbase
Not removing kernel 2.6.32-431.23.3.el6 because it is the running kernel
No old kernels to remove
Alex Keda
09.02.2016, 05:24
shutdown -r now
очевидно же
onmaster, напрасно жалуетесь.
Совет действительно дельный — надо загрузить систему с ядром 29, чтобы удалить ядро 23.
onmaster
10.02.2016, 09:51
Возможно, но после shutdown -r now ситуация не изменилась.
Значит, grub по умолчанию грузит kernel-2.6.32-431.23.3.el6.x86_64
onmaster
28.02.2016, 16:14
т.е. про обновления можно забыть?
Alex Keda
28.02.2016, 22:45
удалите ядро ручками.
место появится.
но сервер, лучше не перезагружать до установки нового ведра =))
onmaster
29.02.2016, 09:52
Страшновато так делать
В итоге всё сводится к тому же, клиент оплатит обновления, а обновится не сможет. Вроде как и разработчик не виноват и клиент не специально же это сделал. Но разработчик останется с деньгами, а клиент будет чесать голову гоняя по ней мысли что где то его всё же «развели».
Не путайте теплое с мягким. Клиент оплачивает обновления панели, а не администрирование сервера.
Если у вас сервер загружается с ядром kernel-2.6.32-431.23.3.el6.x86_64,
удалите другое ядро
yum remove kernel-2.6.32-431.29.2.el6.x86_64
тем самым освободив место под установку нового ядра
На будущее при разбивке диска сервера оставляйте под раздел /boot >=200M, чтобы не сталкиваться с такой проблемой
А хотя.. Судя по первому сообщению, для /boot целых 496М выделено и свободного места дофига. Что-то подозрительно это все. Надо по месту разбираться.
onmaster
29.02.2016, 10:48
Я не обвиняю Вас ни в чём и понимаю разницу между ПО и администрированием. Я лишь говорю о том, как оно на самом деле получается. Когда клиент осознаёт важность обновлений, но сталкивается с проблемой невозможности их применения.
Повторюсь, Вы здесь абсолютно не причём, клиент тоже не «партачит», но и без Вашего участия в этом процессе получается как-то не очень.
Alex Keda
29.02.2016, 16:45
ну, как бы — полный бэкап никто не отменял.
да и можно не удалять совсем — просто двинуть куданить где есть место
если чё- лайфСД и двинуть обратно
—
вообще, лучше обратится к тому кто понимает и умеет
и вам споконей будет
onmaster
12.03.2016, 19:33
А хотя.. Судя по первому сообщению, для /boot целых 496М выделено и свободного места дофига. Что-то подозрительно это все. Надо по месту разбираться.
Проблема была в правах на boot, стояло ro, после изменения на rw и перезагрузки апдейт прошёл. Но ядро грузится всё так же старое, хотя новое скачалось. Так и должно быть или нужно поставить на загрузку новое?
p.s. а в VMmanager не сделали бекап на Яндекс.Диск как в ISPmanager?
Powered by vBulletin® Version 4.2.5 Copyright © 2023 vBulletin Solutions Inc. All rights reserved. Перевод: zCarot