zstd: error 70 : Write error : cannot write block : No space left on device

Apr 11, 2024
5
1
3
Hi,

While trying to update the Proxmox server, the "/dev/nvme1n1p2" ran out of space.
Searched already for the same issue but could not find the right solution yet.
What to do?
1. Get rid of the "config-6.5.13-5-pve", "initrd.img-6.5.13-5-pve", "System.map-6.5.13-5-pve" and "vmlinuz-6.5.13-5-pve"? If yes, how, "sudo apt-get autoclean", "sudo apt-get --purge autoremove" and/or "sudo apt autoremove" will not remove the files?

2. Or increase the "/boot" partition? How?
3. Something else?????

Hope I've provided the right information below.
Thank you in advance!

Error:
update-initramfs: Generating /boot/initrd.img-6.8.8-1-pve
zstd: error 70 : Write error : cannot write block : No space left on device
E: mkinitramfs failure zstd -q -9 -T0 70
update-initramfs: failed for /boot/initrd.img-6.8.8-1-pve 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)

df -k
Filesystem 1K-blocks Used Available Use% Mounted on

udev 16247900 0 16247900 0% /dev
tmpfs 3263932 2008 3261924 1% /run
/dev/mapper/nwm--vg-root 489136144 21866964 442348912 5% /
tmpfs 16319648 43680 16275968 1% /dev/shm
tmpfs 5120 8 5112 1% /run/lock
efivarfs 150 86 59 60% /sys/firmware/efi/efivars
/dev/nvme1n1p2 466026 443334 0 100% /boot
/dev/nvme1n1p1 523248 12176 511072 3% /boot/efi

ls /boot
total 431235
config-6.5.13-5-pve
config-6.8.4-3-pve
config-6.8.8-1-pve
efi
grub
initrd.img-6.5.13-5-pve
initrd.img-6.8.4-3-pve
initrd.img-6.8.8-1-pve
lost+found
pve
System.map-6.5.13-5-pve
System.map-6.8.4-3-pve
System.map-6.8.8-1-pve
vmlinuz-6.5.13-5-pve
vmlinuz-6.8.4-3-pve
vmlinuz-6.8.8-1-pve

uname -r
6.8.8-1-pve
 
I would remove 6.8.4-3-pve packages, and possibly consider moving /boot to a separate disk to avoid resizing hassle.

/boot // /boot/efi should be ~1GB these days, you could maybe move it to USB3 disk since it's only accessed on boot and when the kernel gets upgraded
 
Last edited:
  • Like
Reactions: Peter S
Thank you!
Will move the partition /boot in the future to another disk.

For now, I'm a little bit afraid to remove files from the /boot...can I use "rm" or do I need to use another statement in this case?
rm config-6.5.13-5-pve
rm initrd.img-6.5.13-5-pve
rm System.map-6.5.13-5-pve
rm vmlinuz-6.5.13-5-pve

PS: Can I remove the files of *-6.8.4-3-pve as well because 6.8.8-1-pve is in use?
 
Last edited:
dpkg -l |grep '6.8.4-3'

Those are the packages you'll need to remove; the initrd may/not be left over afterward and could be rm'ed manually. You should arguably leave the 6.5 kernel in place just in case, as 6.8 has a bunch of known/reported problems.
 
  • Like
Reactions: Peter S
Hi Kingneutron,

Thanks again, I've used the following commands to remove the "old" kernel:
sudo dpkg -l |grep '6.8.4-3'
sudo apt-get --purge remove proxmox-kernel-6.8.4-3-pve-signed

And I was able to successfully upgrade the system :) :
sudo apt update -y && sudo apt upgrade -y && sudo apt full-upgrade -y && sudo apt autoremove -y
 
  • Like
Reactions: Kingneutron