проблема initramfs, когда не хватает места на диске

13

Я только что обновился с 10.10 до 11.04. В процессе обновления сообщалось, что при настройке initramfs-tools возникла проблема, и мне нужно было выполнить команду sudo dpkg --configure -a

Поэтому, как только я начал 11.04, я сделал это. Это выход.

Setting up initramfs-tools (0.98.8ubuntu3) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.38-8-generic

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-2.6.38-8-generic
dpkg: error processing initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initramfs-tools

После поиска, мне показалось, что это проблема нехватки места в моем / boot разделе. Это всего лишь 100 МБ, и это никогда не было проблемой раньше, но, несмотря на удаление всего, кроме самого последнего ядра, я все равно получаю то же сообщение.

user3403
источник

Ответы:

19

100 МБ достаточно для 2 ядер и виртуального диска init. Вы можете просмотреть свои текущие установленные ядра, выполнив:

dpkg -l 'linux-image-*' | grep '^ii'

Пример вывода:

ii  linux-image-2.6.35-28-generic        2.6.35-28.50                               Linux kernel image for version 2.6.35 on x86/x86_64
ii  linux-image-2.6.38-8-generic         2.6.38-8.42                                Linux kernel image for version 2.6.38 on x86/x86_64
ii  linux-image-generic                  2.6.38.8.22                                Generic Linux kernel image

Убедившись, что последнее ядро ​​работает, вы можете удалить предыдущие. В этом случае есть только одно избыточное ядро:

sudo apt-get purge linux-image-2.6.35-28-generic

Если этот процесс не завершится из-за предыдущих триггеров установки, попробуйте добавить -f( --fix-broken) раньше purge.

Lekensteyn
источник
2
При очистке каждого старого ядра оно выдало ту же ошибку, что и выше.
user3403
использование -f(принудительная операция) не помогает вообще.
Шридхар Ратнакумар
-f не значит сила в любом случае
тушить
4

Я бы посоветовал посмотреть, что занимает место в /boot/:

find /boot/ -type f | xargs du | sort -n

Затем, если вы найдете крупных потребителей пространства, вы сможете увидеть, из какой они упаковки:

dpkg -S /boot/some-large-file

И если этот пакет больше не нужен, вы можете удалить его. Тем не менее, будьте очень осторожны, чтобы не удалить ненужные вещи, в частности, загрузчик (grub) и работающее в данный момент ядро.

Джереми Керр
источник