From e95c51f58268e520c36152a3c037323889729291 Mon Sep 17 00:00:00 2001 From: deeplow <47065258+deeplow@users.noreply.github.com> Date: Thu, 9 Nov 2023 03:20:40 -0500 Subject: [PATCH 1/6] Clean Install: change Qubes sources to 4.2 Tell users to upgrade the software sources. Otherwise they may miss on critical integrations for 4.2 like VMExec (for the updater to work) and most importantly, after 4.1 is EOL, it'll silently stop resolving qubes package upgrades even though the template is not yet EOL. --- user/downloading-installing-upgrading/upgrade/4_2.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/user/downloading-installing-upgrading/upgrade/4_2.md b/user/downloading-installing-upgrading/upgrade/4_2.md index 84cf80ef..74e1efa5 100644 --- a/user/downloading-installing-upgrading/upgrade/4_2.md +++ b/user/downloading-installing-upgrading/upgrade/4_2.md @@ -31,6 +31,16 @@ in-place: 4. [Restore from your backup](/doc/how-to-back-up-restore-and-migrate/#restoring-from-a-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. Do this by opening a teminal in each of the imported templates and running the following commands: + - **Debian-based templates**: + ``` + sudo sed -i 's/r4.[01]/r4.2/g' /etc/apt/sources.list.d/qubes-r4.list` + ``` + - **Fedora-based templates**: + ``` + sudo sed -i 's/r4.[01]/r4.2/g' /etc/yum.repos.d/qubes-r4.repo + sudo sed -i 's/RPM-GPG-KEY-qubes-4\(\.1\)\{0,1\}-primary/RPM-GPG-KEY-qubes-4.2-primary/g' /etc/yum.repos.d/qubes-r4.repo + ``` ## In-place upgrade From d439baef30ee900f60434758c24dcc89132f94a1 Mon Sep 17 00:00:00 2001 From: deeplow Date: Thu, 9 Nov 2023 09:39:48 +0000 Subject: [PATCH 2/6] Upgrade also GPG keyring for "-unstable" repos --- user/downloading-installing-upgrading/upgrade/4_2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/downloading-installing-upgrading/upgrade/4_2.md b/user/downloading-installing-upgrading/upgrade/4_2.md index 74e1efa5..0f94671e 100644 --- a/user/downloading-installing-upgrading/upgrade/4_2.md +++ b/user/downloading-installing-upgrading/upgrade/4_2.md @@ -39,7 +39,7 @@ in-place: - **Fedora-based templates**: ``` sudo sed -i 's/r4.[01]/r4.2/g' /etc/yum.repos.d/qubes-r4.repo - sudo sed -i 's/RPM-GPG-KEY-qubes-4\(\.1\)\{0,1\}-primary/RPM-GPG-KEY-qubes-4.2-primary/g' /etc/yum.repos.d/qubes-r4.repo + sudo sed -i 's/RPM-GPG-KEY-qubes-4\(\.1\)\{0,1\}-/RPM-GPG-KEY-qubes-4.2-/g' /etc/yum.repos.d/qubes-r4.repo ``` ## In-place upgrade From 2b3fa9b1146765181c8722b00a6719c870a9c39e Mon Sep 17 00:00:00 2001 From: deeplow Date: Thu, 9 Nov 2023 10:32:31 +0000 Subject: [PATCH 3/6] Add new keyring to Debian templates --- user/downloading-installing-upgrading/upgrade/4_2.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/user/downloading-installing-upgrading/upgrade/4_2.md b/user/downloading-installing-upgrading/upgrade/4_2.md index 0f94671e..a80ff90d 100644 --- a/user/downloading-installing-upgrading/upgrade/4_2.md +++ b/user/downloading-installing-upgrading/upgrade/4_2.md @@ -34,7 +34,8 @@ in-place: 5. In each old the old templates update the Qubes software sources from 4.1 to Qubes 4.2. Do this by opening a teminal in each of the imported templates and running the following commands: - **Debian-based templates**: ``` - sudo sed -i 's/r4.[01]/r4.2/g' /etc/apt/sources.list.d/qubes-r4.list` + sudo sed -i 's/r4.[01]/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 ``` - **Fedora-based templates**: ``` From 207b5e501958b7c121a8f02860e2f3f73134f9b4 Mon Sep 17 00:00:00 2001 From: deeplow Date: Thu, 9 Nov 2023 10:44:19 +0000 Subject: [PATCH 4/6] 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 --- .../upgrade/4_2.md | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/user/downloading-installing-upgrading/upgrade/4_2.md b/user/downloading-installing-upgrading/upgrade/4_2.md index a80ff90d..058d481b 100644 --- a/user/downloading-installing-upgrading/upgrade/4_2.md +++ b/user/downloading-installing-upgrading/upgrade/4_2.md @@ -31,16 +31,27 @@ in-place: 4. [Restore from your backup](/doc/how-to-back-up-restore-and-migrate/#restoring-from-a-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. Do this by opening a teminal in each of the imported templates and running the following commands: +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.[01]/r4.2/g' /etc/apt/sources.list.d/qubes-r4.list + 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**: + - **Fedora-based templates**: ``` - sudo sed -i 's/r4.[01]/r4.2/g' /etc/yum.repos.d/qubes-r4.repo - sudo sed -i 's/RPM-GPG-KEY-qubes-4\(\.1\)\{0,1\}-/RPM-GPG-KEY-qubes-4.2-/g' /etc/yum.repos.d/qubes-r4.repo + 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 From 7eaacf0b21d259eadeb06f643ce27faf6103b4a7 Mon Sep 17 00:00:00 2001 From: deeplow Date: Sat, 17 Feb 2024 14:36:07 +0000 Subject: [PATCH 5/6] FIXUP: use instead qubes-dist-upgrade tool --- .../upgrade/4_2.md | 41 +++++++------------ 1 file changed, 15 insertions(+), 26 deletions(-) diff --git a/user/downloading-installing-upgrading/upgrade/4_2.md b/user/downloading-installing-upgrading/upgrade/4_2.md index 058d481b..ba088be1 100644 --- a/user/downloading-installing-upgrading/upgrade/4_2.md +++ b/user/downloading-installing-upgrading/upgrade/4_2.md @@ -22,37 +22,26 @@ data. If you would prefer to perform a clean installation rather than upgrading in-place: -1. Create a +1. (optional) Run the updater to ensure all of your templates are in their latest version. +2. Install the `qubes-dist-upgrade` tool. This is the inplace upgrade tool, which is not what we're doing. However it will needed in order to prepare the templates for the 4.2 version. You install it with the following command in the dom0 terminal: + + sudo qubes-dom0-update -y qubes-dist-upgrade + +3. Change your templates to use the 4.2 repositories instead of the 4.1 ones. You do this with the following command in the dom0 terminal: + + qubes-dist-upgrade --template-standalone-upgrade + + **Note**: This step is critical to ensure the templates will receive updates once Qubes 4.1 reaches end-of-life (EOL) and was missing in previous clean installation instructions. + +4. Create a [backup](/doc/how-to-back-up-restore-and-migrate/#creating-a-backup) of your current installation. -2. [Download](/downloads/) the latest 4.2 release. -3. Follow the [installation guide](/doc/installation-guide/) to install Qubes +5. [Download](/downloads/) the latest 4.2 release. +6. Follow the [installation guide](/doc/installation-guide/) to install Qubes 4.1. -4. [Restore from your +7. [Restore from your backup](/doc/how-to-back-up-restore-and-migrate/#restoring-from-a-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 From 3042d62e55a20d181b8e9ed2fc982d3176a17029 Mon Sep 17 00:00:00 2001 From: deeplow <47065258+deeplow@users.noreply.github.com> Date: Fri, 22 Mar 2024 16:55:08 -0400 Subject: [PATCH 6/6] Fix typo --- user/downloading-installing-upgrading/upgrade/4_2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user/downloading-installing-upgrading/upgrade/4_2.md b/user/downloading-installing-upgrading/upgrade/4_2.md index ba088be1..cd0dce34 100644 --- a/user/downloading-installing-upgrading/upgrade/4_2.md +++ b/user/downloading-installing-upgrading/upgrade/4_2.md @@ -23,7 +23,7 @@ If you would prefer to perform a clean installation rather than upgrading in-place: 1. (optional) Run the updater to ensure all of your templates are in their latest version. -2. Install the `qubes-dist-upgrade` tool. This is the inplace upgrade tool, which is not what we're doing. However it will needed in order to prepare the templates for the 4.2 version. You install it with the following command in the dom0 terminal: +2. Install the `qubes-dist-upgrade` tool. This is the inplace upgrade tool, which is not what we're doing. However it will be needed in order to prepare the templates for the 4.2 version. You install it with the following command in the dom0 terminal: sudo qubes-dom0-update -y qubes-dist-upgrade