qubes-doc/user/downloading-installing-upgrading/upgrade/4_2.md
deeplow 207b5e5019
Note that upgrades repo upgrades apply only to 4.1+
At noted by Marek [1] GPG keyrings for verifying 4.1+ packages only
started being available in 4.1 templates. Telling people to fetch
the keyrings through another method would make instructions too
complicated. For this reason it seems simpler to just tell people to
use the new templates instead.

[1]: https://github.com/QubesOS/qubes-doc/pull/1345#issuecomment-1803517947
2023-11-09 11:38:58 +00:00

5.7 KiB

lang layout permalink title
en doc /doc/upgrade/4.2/ How to upgrade to Qubes 4.2

This page explains how to upgrade from Qubes 4.1 to Qubes 4.2. There are two ways to upgrade: a clean installation or an in-place upgrade. In general, a clean installation is simpler and less error-prone, but an in-place upgrade allows you to preserve your customizations.

Back up

Before attempting either an in-place upgrade or a clean installation, we strongly recommend that you first back up your system so that you don't lose any data.

Clean installation

If you would prefer to perform a clean installation rather than upgrading in-place:

  1. Create a backup of your current installation.

  2. Download the latest 4.2 release.

  3. Follow the installation guide to install Qubes 4.1.

  4. Restore from your backup on your new 4.2 installation.

  5. In each old the old templates update the Qubes software sources from 4.1 to Qubes 4.2.

    Note

    : If the templates were first installed on a version older than Qubes 4.1, you should reinstall them. For example, your first Qubes install was 4.0 and you've been upgrading to Qubes 4.2 via clean install ever since, then this affects you and you should instead use the templates that come preinstalled in 4.2.

    If the above note does not apply, you should open a teminal in each of the imported templates and running the following commands:

    • Debian-based templates:
      sudo sed -i 's/r4.1/r4.2/g' /etc/apt/sources.list.d/qubes-r4.list
      sudo sed -i 's|\[arch=amd64\]|\[arch=amd64 signed-by=/usr/share/keyrings/qubes-archive-keyring-4.2.gpg \]|g' /etc/apt/sources.list.d/qubes-r4.list
      sudo apt update
      sudo apt upgrade
      
    • Fedora-based templates:
      sudo sed -i 's/r4.1/r4.2/g' /etc/yum.repos.d/qubes-r4.repo
      sudo sed -i 's/RPM-GPG-KEY-qubes-4.1-/RPM-GPG-KEY-qubes-4.2-/g' /etc/yum.repos.d/qubes-r4.repo
      sudo dnf update
      

In-place upgrade

Warning: It is not possible to upgrade directly from releases earlier than 4.1. If you're still on an earlier release, please either perform a clean installation of 4.2 or upgrade to 4.1 first.

The upgrade may take several hours, and will download several gigabytes of data.

In place upgrade is a complex operation. For this reason, we provide a qubes-dist-upgrade tool to handle all the necessary steps automatically. You can install it with the following command in the dom0 terminal:

sudo qubes-dom0-update -y qubes-dist-upgrade

The upgrade consists of five stages --- three before restarting the system --- labeled "STAGE 1" through "STAGE 3" in the options list below, and two after restarting the system --- labeled as "STAGE 4" and "STAGE 5" below.

Full list of options can be obtained with qubes-dist-upgrade --help:

Usage: qubes-dist-upgrade [OPTIONS]...

This script is used for updating current QubesOS R4.1 to R4.2.

Options:
    --update, -t                       (STAGE 1) Update of dom0, TemplatesVM and StandaloneVM.
    --release-upgrade, -r              (STAGE 2) Update 'qubes-release' for Qubes R4.1.
    --dist-upgrade, -s                 (STAGE 3) Upgrade to Qubes R4.1 and Fedora 32 repositories.
    --template-standalone-upgrade, -l  (STAGE 4) Upgrade templates and standalone VMs to R4.1 repository.
    --finalize, -x                     (STAGE 5) Finalize upgrade. It does:
                                         - resync applications and features
                                         - cleanup salt states
    --all-pre-reboot                   Execute stages 1 do 3
    --all-post-reboot                  Execute stages 4 and 5

    --assumeyes, -y                    Automatically answer yes for all questions.
    --usbvm, -u                        Current UsbVM defined (default 'sys-usb').
    --netvm, -n                        Current NetVM defined (default 'sys-net').
    --updatevm, -f                     Current UpdateVM defined (default 'sys-firewall').
    --skip-template-upgrade, -j        Don't upgrade TemplateVM to R4.2 repositories.
    --skip-standalone-upgrade, -k      Don't upgrade StandaloneVM to R4.2 repositories.
    --only-update                      Apply STAGE 4 and resync appmenus only to
                                       selected qubes (comma separated list).
    --keep-running                     List of extra VMs to keep running during update (comma separated list).
                                       Can be useful if multiple updates proxy VMs are configured.
    --max-concurrency                  How many TemplateVM/StandaloneVM to update in parallel in STAGE 1
                                       (default 4).

After installing the tool, before-reboot stages can be performed at once with:

sudo qubes-dist-upgrade --all-pre-reboot

Optionally, an --assumeyes (or -y) option can be used to automatically accept all the actions without confirmation.

Alternatively, each upgrade stage can be started separately (see the list of options above).

After completing "STAGE 1" through "STAGE 3", restart the system. Then perform the final steps:

sudo qubes-dist-upgrade --all-post-reboot

After performing those steps, it's recommended to restart the system one last time.

When this completes, you can start using Qubes OS 4.2.

Update

After upgrading or performing a clean installation, we strongly recommend updating your system.