Почему возникает ошибка update-initramfs при удалении ядра с помощью dpkg? [дубликат]

Я получил следующий результат при удалении ядра с помощью dpkg --purge :

Removing linux-headers-3.13.0-112-generic (3.13.0-112.159) ...
Removing linux-image-extra-3.13.0-112-generic (3.13.0-112.159) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic
update-initramfs: Generating /boot/initrd.img-3.13.0-112-generic
W: TMPDIR is mounted noexec, will not cache run scripts.

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.13.0-112-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
dpkg: error processing package linux-image-extra-3.13.0-112-generic (--purge):
 subprocess installed post-removal script returned error exit status 1
Removing linux-image-3.13.0-112-generic (3.13.0-112.159) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-112-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.4.0-71-generic
Found initrd image: /boot/initrd.img-4.4.0-71-generic
Found linux image: /boot/vmlinuz-4.4.0-67-generic
Found initrd image: /boot/initrd.img-4.4.0-67-generic
Found linux image: /boot/vmlinuz-4.4.0-66-generic
Found initrd image: /boot/initrd.img-4.4.0-66-generic
Found linux image: /boot/vmlinuz-4.4.0-64-generic
Found initrd image: /boot/initrd.img-4.4.0-64-generic
Found linux image: /boot/vmlinuz-3.13.0-115-generic
Found initrd image: /boot/initrd.img-3.13.0-115-generic
Found linux image: /boot/vmlinuz-3.13.0-113-generic
Found initrd image: /boot/initrd.img-3.13.0-113-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
  No volume groups found
done
Purging configuration files for linux-image-3.13.0-112-generic (3.13.0-112.159) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-112-generic /boot/vmlinuz-3.13.0-112-generic
Errors were encountered while processing:
 linux-image-extra-3.13.0-112-generic

Почему не хватает места даже при очистке? В данном случае это не проблема с индексным дескриптором.

Примечание. Есть и другие вопросы, при которых ошибка возникает во время dpkg --configure или при установке ядра. Более понятно, что тогда системе не хватает места на диске, но в данном случае я очищаю ядро ​​- конкретнее пакет linux-image-extra - с помощью dpkg . В этом случае нет проблемы зависимости. Например, в этот решением может быть очистка пакетов ядра напрямую с помощью dpkg , но проблема этого вопроса вызывает ошибку при этом.

7
задан 13 April 2017 в 05:24

1 ответ

При чистке linux-image-extra пакета запущены скрипты после установки, так как основной пакет изображения Linux того выпуска ядра можно оставить, оставаясь в системе: соответствующий initrd.img будет изменен для не содержания материала extra; его размер уменьшится в результате этого процесса. Однако старый initrd.img файл не удален в "/начальная загрузка", и новый создается около него в "/начальная загрузка" во время этого процесса, таким образом, существует риск исчерпывания пространства.

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

обходное решение А должно было бы удалить соответствующий имеющий версию/boot/initrd.img файл прежде, чем работать dpkg --purge за linux-image-extra пакетом. Это могло также быть сделано sudo update-initramfs -d -k 3.13.0-112-generic в этом случае, поскольку ядро, которое я удалял, было "3.13.0-112-универсально".

5
ответ дан 23 November 2019 в 06:43

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

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