Quando eu corro apt-get dist-upgrade
, corro, eu recebo
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.142) ...
update-initramfs: Generating /boot/initrd.img-6.0.0-6-amd64
zstd: error 25 : Write error : No space left on device (cannot write compressed block)
E: mkinitramfs failure zstd -q -9 -T0 25
update-initramfs: failed for /boot/initrd.img-6.0.0-6-amd64 with 1.
dpkg: error processing package initramfs-tools (--configure):
installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Aquele arquivo que diz que falhou ao gerar, está aqui, /boot/initrd.img-6.0.0-6-amd64
você pode ver que é 70M.
$ exa -l /boot/initrd.img-6.0.0-6-amd64
.rw-r--r-- 73M root 22 Dec 10:51 /boot/initrd.img-6.0.0-6-amd64
Diz que falhou ao gerar este arquivo, mas o arquivo está lá. Além disso, se eu pular para a inicialização, posso ver que ainda há espaço para 69 MB,
# dd if=/dev/zero of=zero bs=1MB
dd: error writing 'zero': No space left on device
70+0 records in
69+0 records out
69255168 bytes (69 MB, 66 MiB) copied, 0.0888701 s, 779 MB/s
Por que estou recebendo um erro informando que não há espaço no disco e que /boot/initrd.img-6.0.0-6-amd64
falhou ao gerar quando,
- Está lá
- há 69 MB restantes no disco.
Eu posso reproduzir este erro com este
update-initramfs -u -k 6.0.0-6-amd64
que está realmente chamando isso sob o capô para gerar o erro,
mkinitramfs -o /boot/initrd.img-6.0.0-6-amd64.new 6.0.0-6-amd64
mkinitramfs
tenta gravar no arquivo temporário com uma.new
extensão que não existe. Se precisar de 73 MB e você tiver apenas 69 MB, faz sentido falhar.Não tenho certeza do que estava acontecendo aqui, mas removi todas as coisas com esse número de versão na inicialização
Em seguida, executei novamente
dist-upgrade
, o que gerou apenas o initramfs para o kernel que eu estava executando 6.0.0-4,Interessante, usando,
dpkg -l
pude ver que, embora tenha usado rm para excluir todas as coisas,6.0.0-6
o sistema pensou que o pacotelinux-image-6.0.0-6-amd64
foi instalado com sucesso: esse pacote deve instalar o kernel e ver isso como sucesso, independentemente de a geração do initramfs funcionar ou não.O que eu fiz foi correr
Para dar outra chance a tudo, e funcionou ..
Após a ação mencionada acima, isso é
/boot
, (irá excluir isso, a menos que seja relevante)