Actions

How-to: Install the Stable Version of Qubes-Whonix ™ 16

From Whonix

< Qubes



Qubesinstall12312123.png

FREE

Notices[edit]

Table: Qubes-Whonix ™ 16 Release Notices

Notice Description
Qubes Version Support
  • Qubes R4.0: Supported.
  • Qubes R4.1: Qubes-Whonix - any version - for Qubes R4.1 is not yet supported by Whonix ™ developers. Follow this ticket [archive] for current status and updates.
Footnotes

Novice or intermediate users can generally ignore footnotes (like 1) unless experiencing difficulties or having questions. See also introduction chapter Whonix ™ Footnotes and References.

Issues

In case technical issues are experienced such as broken dom0, broken qubes-dom0-update are Qubes issues and unspecific to Whonix ™ and should therefore be either reported to qubes-issues [archive], or added as a comment to an existing issue there (if appropriate). This is further elaborated in What to post in this Qubes-Whonix forum and what not. [archive]


The instructions on this wiki page have bad usability. These are mostly out of control of the Whonix ™ project. See footnote for more information. [1]

Qubes-Whonix ™ 15 to Qubes-Whonix ™ 16 Release Upgrade This is a notice for users who currently have Qubes-Whonix ™ 15 installed.

If Qubes-Whonix ™ 15 is installed and you want to get Qubes-Whonix ™ 16, there is no need to uninstall Qubes-Whonix ™ 15 before proceeding according to the instructions on this wiki page. This is because the new templates (whonix-ws-16, whonix-gw-16) will be installed alongside the old templates (whonix-ws-15, whonix-gw-15).

In this case, App Qubes that were previously configured to use Qubes-Whonix ™ 15 templates will keep using them -- the Templates of any App Qubes are not automatically changed to the newly installed Qubes-Whonix ™ 16 templates. This is a Qubes default and unspecific to Qubes-Whonix ™. [2] Therefore, a manual change must be applied to App Qubes settings by the user. The rationale is to prevent unexpected changes of an App Qube's Template without the user's consent. [3]

After the Qubes-Whonix ™ installation has finished, it is recommended to manually change the setting of any App Qubes still using Qubes-Whonix ™ 15 Templates to the Qubes-Whonix ™ 16 Templates. [4]


A wholly different, alternative option is to ignore all the advice on this wiki page and instead perform a Release Upgrade according to the Release Upgrade Whonix ™ 15 to Whonix ™ 16 instructions.

Preexisting Qubes-Whonix ™ 16 Installations

This is a notice for users who already have Qubes-Whonix ™ 16 installed.

If any user data was stored in Qubes-Whonix ™ VMs, before re-installation, back up any existing data.


If you are already running Qubes-Whonix ™ 16, it must be uninstalled before a complete re-installation is performed. This is also necessary when Qubes-Whonix ™ 16 is bundled as part of future Qubes releases, and auto-configuration is selected during the installation.

Choose re-installation options A) OR B). (listed in order of preference)

Installation[edit]

Update dom0[edit]

Launch a dom0 terminal.
Click the Qubes App Launcher (blue/grey "Q")Open the Terminal Emulator (Xfce Terminal)

Qubes-whonix1.png

Upgrade Qubes dom0. This step is mandatory. [5]

sudo qubes-dom0-update

Verify whonix_version is 16.

If the previous sudo qubes-dom0-update was completed, it should not be necessary to verify the version number. However, this is mentioned because many users fail to update dom0 packages beforehand.

In dom0. View contents of file /srv/formulas/base/virtual-machines-formula/qvm/whonix.jinja.

sudo cat /srv/formulas/base/virtual-machines-formula/qvm/whonix.jinja

Example output:

{% set whonix_version = salt['pillar.get']('qvm:whonix:version', '16') %}
{% set whonix_repo = salt['pillar.get']('qvm:whonix:repo', '[omitted for brevity]') %}

If it shows something else, then Qubes dom0 is outdated. In that case, it is not possible to continue. [6] [7]

Download Whonix ™ Templates and Configure sys-whonix and anon-whonix[edit]

Info Note: This downloading procedure can take a long time to finish. Fast Internet connections take only a few minutes, while slow connections can take twenty minutes or more (it is far slower over Tor).

Download both Whonix-Gateway ™ and Whonix-Workstation ™ Templates.

In dom0, run. [8]

sudo qubes-dom0-update --enablerepo=qubes-templates-community qubes-template-whonix-gw-16 qubes-template-whonix-ws-16

Configure sys-whonix and anon-whonix safely. [9]

In dom0, run. [10]

sudo qubesctl state.sls qvm.anon-whonix

Refer to the footnotes for troubleshooting tips. [11]

Optional Steps[edit]

Whonix ™ Disposable Template[edit]

In Qubes R4 and above a whonix-ws-16-dvm Disposable Template can optionally be set up as a base for Disposables. [12]

In dom0, run.

sudo qubesctl state.sls qvm.whonix-ws-dvm

There is a Qubes bug that may cause the Disposable Template to run instead of the Disposable [archive]. Unspecific to Whonix ™. If this happens, just log off and back on. There is no need to reinstall or set up anything.

Updates over Tor[edit]

Templates[edit]

To force all Template updates over Tor, use qubesctl in dom0. [13]

sudo qubesctl state.sls qvm.updates-via-whonix

To undo this setting, modify /etc/qubes-rpc/policy/qubes.UpdatesProxy in dom0. [14] See also How-to: Fix dom0 Qubes-Whonix ™ UpdatesProxy Settings.

dom0[edit]

To force dom0 updates over Tor, set Qubes' dom0 UpdateVM to sys-whonix. [15]

  • Qube ManagerSystemGlobal SettingsDom0 UpdateVM: sys-whonixOK

To revert this change, set Qubes' dom0 UpdateVM to sys-firewall or another preferred VM. [16]

  • Qubes ManagerSystemGlobal SettingsDom0 UpdateVM: sys-firewallOK

Enable AppArmor[edit]

Testers wanted! If you are interested, click on Expand on the right.

The following steps should be completed in dom0 for both whonix-gw-16 and whonix-ws-16 Templates. [17] After these settings are applied to the Whonix ™ templates, the sys-whonix (ProxyVM) and anon-whonix (App Qube) will inherit the AppArmor kernel settings.

It is unnecessary to recreate the sys-whonix and anon-whonix App Qubes to benefit from the new kernel parameters. [18] It is also important to verify AppArmor is active in the sys-whonix and anon-whonix VMs after making these changes.

Whonix-Gateway ™[edit]

1. Open a dom0 terminal.

Qubes App Launcher (blue/grey "Q")System ToolsXfce Terminal

2. List the current kernel parameters.

qvm-prefs -g whonix-gw-16 kernelopts

Qubes R4 and later releases will show.

nopat

3. Keep the existing kernel parameters and add apparmor=1 security=apparmor.

For example.

qvm-prefs -s whonix-gw-16 kernelopts "nopat apparmor=1 security=apparmor"

qvm-prefs -s sys-whonix kernelopts "nopat apparmor=1 security=apparmor"

4. List the current kernel parameters again (hit the up arrow key twice; it is unnecessary to type the command again).

qvm-prefs -g whonix-gw-16 kernelopts

The output should show AppArmor is part of the new kernel parameters. For example.

nopat apparmor=1 security=apparmor

5. Start the sys-whonix ProxyVM and confirm AppArmor is now active.

sudo aa-status --enabled ; echo $?

The output should show.

0

Whonix-Workstation ™[edit]

1. Open a dom0 terminal.

Qubes App Launcher (blue/grey "Q")System ToolsXfce Terminal

2. List the current kernel parameters.

qvm-prefs -g whonix-ws-16 kernelopts

Qubes R4 and later releases will show.

nopat

3. Keep the existing kernel parameters and add apparmor=1 security=apparmor.

For example.

qvm-prefs -s whonix-ws-16 kernelopts "nopat apparmor=1 security=apparmor"

qvm-prefs -s anon-whonix kernelopts "nopat apparmor=1 security=apparmor"

4. List the current kernel parameters again (hit the up arrow key twice; it is unnecessary to type the command again).

qvm-prefs -g whonix-ws-16 kernelopts

The output should show AppArmor is part of the new kernel parameters. For example.

nopat apparmor=1 security=apparmor

5. Start the anon-whonix App Qube and confirm AppArmor is now active.

sudo aa-status --enabled ; echo $?

The output should show.

0

Update and Launch Applications[edit]

Before starting applications in the Whonix-Workstation ™ App Qube, update both Whonix-Gateway ™ and Whonix-Workstation ™ Templates.

To launch an application like Tor Browser:

  • Qubes App Launcher (blue/grey "Q")Domain: anon-whonixTor Browser (AnonDist)

Additional Information[edit]

Warnings[edit]

Whonix first time users warning Warning:

  • If you do not know what metadata or a man-in-the-middle attack is.
  • If you think nobody can eavesdrop on your communications because you are using Tor.
  • If you have no idea how Whonix ™ works.

Then read the Design and Goals, Whonix ™ and Tor Limitations and Tips on Remaining Anonymous pages to decide whether Whonix ™ is the right tool for you based on its limitations.

It is recommended to refer to these additional references:

Footnotes[edit]

Novice or intermediate users can generally ignore footnotes (like 1) unless experiencing difficulties or having questions. See also introduction chapter Whonix ™ Footnotes and References.

  1. This is also true for other distribution Templates. For example, users of the Qubes debian-10 Template will not have all their App Qubes updated to the new debian-11 Template by default when it is downloaded.
  2. For example, this could result in breakage if custom-installed applications in the old Template were not available in the new Template.
  3. This is required to make sure Older, similar references:
  4. Testers-only: It should not be necessary to manually update that file because the Qubes dom0 stable package should have updated it already. If it didn't, then the cause is general issues unspecific to Whonix ™.

    1. In dom0 open file whonix.jinja with root rights.

    sudo nano /srv/formulas/base/virtual-machines-formula/qvm/whonix.jinja

    2. Change 15 to 16.

    3. Save the file.

  5. The following Qubes issues are for developers understanding, reference only:
  6. The following qubes-dom0-update command is:
    • Optional.
    • Useful because it has a progress indicator while the subsequent qubesctl command does not. (Qubes feature request: add salt download progress indicator [archive]) It very confusing to have a long running download command with progress bar, specifically over Tor.
    • Insufficient by itself - the subsequent qubesctl command that follow is mandatory as per phase out manual use of qubes-dom0-update by user / replace it by salt [archive] and Dev/Qubes#salt.
    • --enablerepo=qubes-templates-community:
      • --enablerepo=qubes-templates-community can be omitted if Qubes Community Templates Repository is already enabled in dom0.
      • Qubes Community Templates Repository should already be enabled as per Qubes default unless disabled by user, restored Qubes-Whonix ™ from backup or some other edge case.
      • Recommending to type --enablerepo=qubes-templates-community is bad usability since users cannot copy from their VM browser where they are most likely reading this to dom0. But too many people reported this issue. had to enable Qubes templates community repository [archive]
      • If Qubes Community Templates Repository is not enabled in dom0, explicitly add --enablerepo=qubes-templates-community or enable through editing dom0 file /etc/yum.repos.d/qubes-templates.repo.

    In dom0.

    1. Open file /etc/yum.repos.d/qubes-templates.repo in a text editor with root rights.

    sudo nano /etc/yum.repos.d/qubes-templates.repo

    2. In section [qubes-templates-community], add the following.

    enabled = 1

    3. Save.

    4. Done.

    Qubes Community Templates Repository has been enabled. Command line parameter --enablerepo=qubes-templates-community should be no longer required.

    5. Report.

    Please report if step this was necessary for you!

  7. No progress indicator is shown. Qubes feature request: add salt download progress indicator [archive]
  8. If qubesctl still does not work, try shutting down Qubes OS and rebooting the machine. Please report if this step was necessary for you!
  9. For developers only, link to related source code file: https://github.com/QubesOS/qubes-mgmt-salt-dom0-virtual-machines/blob/master/qvm/whonix-ws-16-dvm.sls [archive]
  10. How to change TemplateVM update method from Whonix to just another appvm? [archive]
  11. Or manually set the torified UpdateVM in dom0 terminal.
    qubes-prefs updatevm sys-whonix

  12. To revert this change in dom0 terminal, run.
    qubes-prefs updatevm sys-firewall

  13. Debian has enabled AppArmor by default since the buster release, but Fedora has not. This matters because Qubes is Fedora-based and therefore uses the dom0 (not VM) kernel by default. Therefore this step is still required even though Whonix ™ is based on a recent enough Debian version.
  14. Since Qubes R3.0, App Qubes inherit the kernelopts setting of their Template [archive].


Fosshost is sponsors Kicksecure ™ stage server 100px
Fosshost About Advertisements

Search engines: YaCy | Qwant | ecosia | MetaGer | peekier | Whonix ™ Wiki


Follow: 1024px-Telegram 2019 Logo.svg.png Iconfinder Apple Mail 2697658.png Twitter.png Facebook.png Rss.png Reddit.jpg 200px-Mastodon Logotype (Simple).svg.png

Support: Discourse logo.png

Donate: Donate Bank Wire Paypal Bitcoin accepted here Monero accepted here Contribute

Whonix donate bitcoin.png Monero donate Whonix.png United Federation of Planets 1000px.png

Twitter-share-button.png Facebook-share-button.png Telegram-share.png Iconfinder Apple Mail 2697658.png Reddit.jpg Hacker.news.jpg 200px-Mastodon Logotype (Simple).svg.png

Please consider a recurring donation! Donate Bank Wire Paypal Bitcoin accepted here Monero accepted here Contriute

https link onion link Priority Support | Investors | Professional Support

Whonix | © ENCRYPTED SUPPORT LP | Heckert gnu.big.png Freedom Software / Osi standard logo 0.png Open Source (Why?)

The personal opinions of moderators or contributors to the Whonix ™ project do not represent the project as a whole.

By using our website, you acknowledge that you have read, understood and agreed to our Privacy Policy, Cookie Policy, Terms of Service, and E-Sign Consent.