qubes-template-fedora-25 Failure

07 Aug 2017

During the execution of:

sudo qubes-dom0-update qubes-template-fedora-25

I encountered an error:

Error: Error downloading packages:
  Curl error (23): Failed writing received data to disk/application for http://yum.qubes-os.org/r3.2/templates-itl/rpm/qubes-template-fedora-25-3.1.0-201707112239.noarch.rpm [Failed writing body (3665 != 4140)]

By default, Qubes uses sys-firewall as a proxy to download updates for dom0, so after restarting the update command, and running watch -n 1 df on a sys-firewall terminal, I saw that the dmroot mount point available space was shrinking for sys-firewall. In fact, the available space for that mount point was less than the final size of the total downloaded update.

Now, my sys-firewall AppVM uses fedora-24 as its TemplateVM, which is mounted as /dev/mapper/dmroot.

This led me to a page about Resizing a TemplateVM Root Image

To set the size of the root image to 20 Gigabytes, I ran the following command in dom0 after shutting all dependent VMs down:

truncate -s 20G /var/lib/qubes/vm-templates/fedora-24/root.img

I then started my fedira-24 template VM. Since my sys-firewall and sys-usb vm started automatically, I killed those as per instructions and then on a fedora-24 terminal ran:

sudo resize2fs /dev/mapper/dmroot

Which expands the filesystem to the new size of the image and shutdown the VM. The new size of fedora-24 can be verified with df -h and re-running the update command on dom0 should work properly.