qubes-doc/user/downloading-installing-upgrading/upgrade/3_2.rst

213 lines
6.4 KiB
ReStructuredText
Raw Normal View History

2024-05-21 14:59:46 -04:00
=================
Upgrading to R3.2
=================
**Before attempting either an in-place upgrade or a clean installation, we strongly recommend that users** :doc:`back up their systems </user/how-to-guides/how-to-back-up-restore-and-migrate>` **.**
Current Qubes R3.1 systems can be upgraded in-place to the latest R3.2
by following the procedure below.
Upgrading dom0
--------------
1. Close Qubes Manager (right click on its tray icon -> Exit)
2. Open a terminal in Dom0. (E.g., Start -> System Settings -> Konsole.)
3. Install ``qubes-release`` package carrying R3.2 repository
information.
.. code:: bash
sudo qubes-dom0-update --releasever=3.2 qubes-release
If you made any manual changes to repository definitions, new
definitions will be installed as
``/etc/yum.repos.d/qubes-dom0.repo.rpmnew`` (youll see a message
about it during package installation). In such a case, you need to
manually apply the changes to ``/etc/yum.repos.d/qubes-dom0.repo`` or
simply replace it with .rpmnew file.
If you are using Debian-based VM as UpdateVM (``sys-firewall`` by
default), you need to download few more packages manually, but **do not install them** yet:
.. code:: bash
sudo qubes-dom0-update systemd-compat-libs perl-libwww-perl perl-Term-ANSIColor perl-Term-Cap gdk-pixbuf2-xlib speexdsp qubes-mgmt-salt-admin-tools lvm2
(...)
Transaction Summary
===============================================================
Install 16 Packages (+ 31 Dependent packages)
Upgrade 4 Packages (+200 Dependent packages)
Total download size: 173 M
Is this ok [y/d/N]: n
Exiting on user command
Your transaction was saved, rerun it with:
yum load-transaction /tmp/yum_save_tx.....
4. Upgrade dom0 to R3.2:
.. code:: bash
sudo qubes-dom0-update
You may wish to disable the screensaver “Lock screen” feature for
this step, as during the update XScreensaver may encounter an
“Authentication failed” issue, requiring a hard reboot.
Alternatively, you may simply move the mouse regularly.
5. If the previous step completed successfully, your ``qubes-core-dom0``
version should be ``3.2.3`` or higher. This can be verified with the
command ``yum info qubes-core-dom0``. If its not, repeat the
previous step with the ``--clean`` option.
6. Update configuration files.
Some of configuration files were saved with ``.rpmnew`` extension as
the actual files were modified. During upgrade, youll see
information about such cases, like:
.. code:: bash
warning: /etc/salt/minion.d/f_defaults.conf created as /etc/salt/minion.d/f_defaults.conf.rpmnew
This will happen for every configuration you have modified manually
and for a few that has been modified by Qubes scripts. If you are not
sure what to do about them, below is a list of commands to deal with
few common cases (either keep the old one, or replace with the new
one):
.. code:: bash
rm -f /etc/group.rpmnew
rm -f /etc/shadow.rpmnew
rm -f /etc/qubes/guid.conf.rpmnew
mv -f /etc/nsswitch.conf{.rpmnew,}
mv -f /etc/pam.d/postlogin{.rpmnew,}
mv -f /etc/salt/minion.d/f_defaults.conf{.rpmnew,}
mv -f /etc/dracut.conf{.rpmnew,}
7. Reboot dom0.
Please note that if you use :doc:`Anti Evil Maid </user/security-in-qubes/anti-evil-maid>`, it
wont be able to unseal the passphrase the first time the system boots
after performing this in-place upgrade procedure since the Xen, kernel,
and initramfs binaries will have changed. Once the system boots up
again, you can reseal your Anti Evil Maid passphrase to the new
configuration. Please consult the Anti Evil Maid
:doc:`documentation </user/security-in-qubes/anti-evil-maid>` for instructions on how to do
that.
At first login after upgrade you may got a message like this:
``Your saved session type 'kde-plasma' is not valid any more. Please select a new one, otherwise 'default' will be used.``
This is result of upgrade KDE4 (``kde-plasma``) to KDE5 (``plasma``).
Simply choose your favorite desktop environment and continue.
Upgrade all Template and Standalone VM(s)
-----------------------------------------
By default, in Qubes R3.1, there are few templates and no standalones.
However, users are free to create standalones More information on using
multiple templates, as well as standalones, can be found
:doc:`here </user/how-to-guides/how-to-install-software>`. The steps described in this section
should be repeated in **all** the users Template and Standalone VMs.
Upgrade Fedora templates:
^^^^^^^^^^^^^^^^^^^^^^^^^
**Note:** This will only upgrade your Fedora template from Qubes 3.1 to
Qubes 3.2. This will *not* upgrade your Fedora template from Fedora 23
to Fedora 24. In order to do that, please see the :ref:`Fedora 23 template upgrade instructions <user/templates/fedora/fedora:upgrading>`.
1. Open a terminal in the template (or standalone). (E.g., use Qubes VM
Managers right-click menu, choose “Run Command in VM,” and type
``gnome-terminal`` there.)
2. Install the ``qubes-upgrade-vm`` package:
.. code:: bash
sudo dnf install --refresh qubes-upgrade-vm
3. Proceed with a normal upgrade in the template:
.. code:: bash
sudo dnf upgrade --refresh
4. Add new packages (only needed in default template):
.. code:: bash
sudo dnf install qubes-mgmt-salt-vm-connector
5. Shut down the template.
Upgrade Debian (and Whonix) templates:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1. Open a terminal in the template (or standalone). (E.g., use Qubes VM
Managers right-click menu, choose “Run Command in VM,” and type
``gnome-terminal`` there.)
2. Update repository definition:
.. code:: bash
sudo cp /etc/apt/sources.list.d/qubes-r3.list /etc/apt/sources.list.d/qubes-r3-upgrade.list
sudo sed -i 's/r3.1/r3.2/' /etc/apt/sources.list.d/qubes-r3-upgrade.list
3. Proceed with a normal update in the template:
.. code:: bash
sudo apt-get update
sudo apt-get dist-upgrade
4. Add new packages (only needed in default template):
.. code:: bash
sudo apt-get install qubes-mgmt-salt-vm-connector
5. Remove unnecessary now file:
.. code:: bash
sudo rm -f /etc/apt/sources.list.d/qubes-r3-upgrade.list
6. Shut down the template.