gzip: stdout: на устройстве нет места E: ошибка mkinitramfs cpio 141 gzip 1

Всякий раз, когда я пытаюсь установить / удалить любое программное обеспечение, я получаю аналогичную ошибку, говоря, что «на устройстве нет места». Я попытался удалить старые ядра, но получил аналогичные ошибки.

gzip: stdout: No space left on device E: mkinitramfs failure cpio 141 gzip 1 update-initramfs: failed for /boot/initrd.img-3.19.0-56-generic with 1. run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1 dpkg: error processing package linux-image-extra-3.19.0-56-generic (--remove): subprocess installed post-removal script returned error exit status 1 E: Sub-process /usr/bin/dpkg returned an error code (1)

Я попробовал sudo apt-get autoremove --purge, как предлагалось в Интернете, но без помощи.

Из-за этого я вообще не могу установить / удалить что-либо.

sourav@Valkyrie:~$ ls /boot abi-3.19.0-56-generic initrd.img-4.4.0-34-generic abi-3.19.0-61-generic initrd.img-4.4.0-34-generic.old-dkms abi-3.19.0-64-generic lost+found abi-3.19.0-65-generic memtest86+.bin abi-4.4.0-34-generic memtest86+.elf config-3.19.0-56-generic memtest86+_multiboot.bin config-3.19.0-61-generic System.map-3.19.0-56-generic config-3.19.0-64-generic System.map-3.19.0-61-generic config-3.19.0-65-generic System.map-3.19.0-64-generic config-4.4.0-34-generic System.map-3.19.0-65-generic grub System.map-4.4.0-34-generic initrd.img-3.19.0-56-generic vmlinuz-3.19.0-56-generic initrd.img-3.19.0-56-generic.old-dkms vmlinuz-3.19.0-61-generic initrd.img-3.19.0-61-generic vmlinuz-3.19.0-64-generic initrd.img-3.19.0-64-generic vmlinuz-3.19.0-65-generic initrd.img-3.19.0-65-generic vmlinuz-4.4.0-34-generic sourav@Valkyrie:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 2.0G 0 2.0G 0% /dev tmpfs 396M 6.4M 390M 2% /run /dev/mapper/ubuntu--vg-root 913G 215G 652G 25% / tmpfs 2.0G 248K 2.0G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/sda1 236M 228M 0 100% /boot cgmfs 100K 0 100K 0% /run/cgmanager/fs tmpfs 396M 64K 396M 1% /run/user/1000
3
задан 27 June 2017 в 19:20

2 ответа

Я вижу, что у вас есть старые ядра, похоже, из предыдущей версии Ubuntu. Я думаю, что autoremove не работает на ядрах с другим основным номером версии - по крайней мере, я видел случаи до этого.

У вас также очень маленький раздел /boot. В долгосрочной перспективе или даже сейчас, если это вариант, я бы рекомендовал вам переустановить и не создать отдельный загрузочный раздел, или если вы убедитесь, что он больше. Мой опыт в том, что установщик по умолчанию не создает его; в системе UEFI создается небольшой системный раздел EFI, установленный на /boot/efi, который не мешает пространству в /boot, где хранятся ядра.

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

Сначала проверьте, какое ядро ​​работает с командой

uname -r

, оно выведет строку версии, например 4.4.0-34-generic

Не удаляйте это ядро

Выберите одну из других версий, которые вы видите в ls /boot; начните с самого старого 3.19.0-56-generic и найдите все файлы, которые принадлежат ему:

locate -b -e 3.19.0-56-generic

Теперь вы можете удалить их, используя xargs

locate -b -e 3.19.0-56-generic | xargs -p sudo rm -r

Вы увидите список файлов, которые будут удалены, и вас попросят подтвердить. Если список выглядит нормально, введите y, и файлы будут удалены.

Убедитесь, что файлы были удалены:

sudo updatedb && locate -b -e 3.19.0-56-generic

Повторите это со следующим самым старым ядром. Очень желательно всегда сохранять запасное ядро, но я не думаю, что эти старые ядра будут вам очень полезны, и ваше текущее ядро, по-видимому, стабильно, поэтому вы можете либо продолжать, пока не будете иметь только текущий версию ядра (обозначенную uname -r) или только две версии ядра в /boot, затем запустите

sudo update-grub sudo apt update sudo apt upgrade

И, скрестив пальцы, update-initramfs должен работать нормально. Чтобы поддерживать ситуацию, каждый раз, когда вы получаете новое ядро, запустите

sudo apt autoremove
4
ответ дан 18 July 2018 в 11:05

Я вижу, что у вас есть старые ядра, похоже, из предыдущей версии Ubuntu. Я думаю, что autoremove не работает на ядрах с другим основным номером версии - по крайней мере, я видел случаи до этого.

У вас также очень маленький раздел /boot. В долгосрочной перспективе или даже сейчас, если это вариант, я бы рекомендовал вам переустановить и не создать отдельный загрузочный раздел, или если вы убедитесь, что он больше. Мой опыт в том, что установщик по умолчанию не создает его; в системе UEFI создается небольшой системный раздел EFI, установленный на /boot/efi, который не мешает пространству в /boot, где хранятся ядра.

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

Сначала проверьте, какое ядро ​​работает с командой

uname -r

, оно выведет строку версии, например 4.4.0-34-generic

Не удаляйте это ядро

Выберите одну из других версий, которые вы видите в ls /boot; начните с самого старого 3.19.0-56-generic и найдите все файлы, которые принадлежат ему:

locate -b -e 3.19.0-56-generic

Теперь вы можете удалить их, используя xargs

locate -b -e 3.19.0-56-generic | xargs -p sudo rm -r

Вы увидите список файлов, которые будут удалены, и вас попросят подтвердить. Если список выглядит нормально, введите y, и файлы будут удалены.

Убедитесь, что файлы были удалены:

sudo updatedb && locate -b -e 3.19.0-56-generic

Повторите это со следующим самым старым ядром. Очень желательно всегда сохранять запасное ядро, но я не думаю, что эти старые ядра будут вам очень полезны, и ваше текущее ядро, по-видимому, стабильно, поэтому вы можете либо продолжать, пока не будете иметь только текущий версию ядра (обозначенную uname -r) или только две версии ядра в /boot, затем запустите

sudo update-grub sudo apt update sudo apt upgrade

И, скрестив пальцы, update-initramfs должен работать нормально. Чтобы поддерживать ситуацию, каждый раз, когда вы получаете новое ядро, запустите

sudo apt autoremove
4
ответ дан 24 July 2018 в 19:43

Другие вопросы по тегам:

Похожие вопросы: