Skip to content

Latest commit

 

History

History
64 lines (46 loc) · 2.18 KB

distupgrade.md

File metadata and controls

64 lines (46 loc) · 2.18 KB

How to upgrade a Qubes network server from Qubes OS 4.1 to Qubes OS 4.2

The standard instructions to upgrade Qubes OS systems will fail to work. The instructions tell you to run something to the effect of:

qubes-dist-upgrade --all-pre-reboot <other flags>

then reboot, then run:

qubes-dist-upgrade --all-post-reboot <other flags>

The pre-reboot phase will fail if run without the following precautions.

Step by step instructions

First, build a qubes-network-server RPM with the instructions provided by this package's README.md file. Then, for each template where qubes-network-server is installed, deposit your build of the qubes-network-server RPM in a folder /root/update of the template, and run the command createrepo_c /root/update (you may have to install package createrepo_c via dnf to run it).

Now build a qubes-core-admin-addon-network-server package for your dom0, then copy the file to your profile directory into dom0. Remember this package has to be built in the same Fedora release (37) as the Qubes OS 4.2 dom0 (the toolbox command in a disposable qube is handy for this!).

Now open the file /etc/dnf/dnf.conf on every template qube where you did the above, then add an exclude=qubes-network-server setting under its [main] section.

Remove the currently-installed qubes-core-admin-addon-network-server package from your dom0 (using dnf remove).

Run the pre-reboot phase.

Install the recently-built qubes-core-admin-addon-network-server package into dom0 (using dnf install with the path to the RPM file).

Reboot.

Before running the post-reboot phase, remove the setting you added to the dnf.conf file of each template you modified. Finally, add the file /etc/yum.repos.d/local.repo with the following contents:

[local]
name=Local packages
baseurl=file:///root/update
enabled=1
gpgcheck=0
metadata_expire=15

Now run the post-reboot phase. The template upgrade should succeed now.

To finalize, delete folder /root/update and file /etc/yum.repos.d/local.repo from every template that has it.

You are now updated to Qubes OS 4.2 and qubes-network-server is ready.