How-to: Install the Stable Version of Qubes-Whonix ™ 16
From Whonix
< Qubes
Notices[edit]
Table: Qubes-Whonix ™ 16 Release Notices
Notice | Description |
---|---|
Qubes Version Support |
|
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 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 ( 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)
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]
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 Manager
→System
→Global Settings
→Dom0 UpdateVM:
sys-whonix
→OK
To revert this change, set Qubes' dom0
UpdateVM to sys-firewall
or another preferred VM. [16]
Qubes Manager
→System
→Global Settings
→Dom0 UpdateVM:
sys-firewall
→OK
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 Tools
→ Xfce 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 Tools
→ Xfce 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-whonix
→Tor Browser (AnonDist)
Additional Information[edit]
Warnings[edit]
- 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:
- Known Issues
- Read and apply the Post Installation Security Advice.
- Follow Whonix ™ Developments
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.
- ↑
- specifically: Qubes feature request: self-contained Qubes templates including meta scripts (salt) / improve Qubes-Whonix installation usability (#6948) [archive]
- generally: Linux User Experience versus Commercial Operating Systems
- ↑ 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 newdebian-11
Template by default when it is downloaded. - ↑ For example, this could result in breakage if custom-installed applications in the old Template were not available in the new Template.
- ↑
- ↑
This is required to make sure
- version file
/srv/formulas/base/virtual-machines-formula/qvm/whonix.jinja
contains the current version number of Whonix ™ is up to date, - a recent version of Qubes repository definition files,
- Qubes salt,
- qubes-core-admin-addon-whonix [archive],
- as well as qubes-mgmt-salt-dom0-virtual-machines [archive] are installed and up to date.
- version file
- ↑
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 filewhonix.jinja
with root rights.sudo nano /srv/formulas/base/virtual-machines-formula/qvm/whonix.jinja
2. Change
15
to16
.3. Save the file.
- ↑ The following Qubes issues are for developers understanding, reference only:
- ↑
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 indom0
.- 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 todom0
. 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!
- ↑
- Do not interrupt the salt process once it has started or this can lead to an unstable system [archive].
qubesctl
: Is a command by Qubes, not Whonix ™. Advanced users could may look at Qubes salt management stackqubesctl
[archive] for further information aboutqubesctl
and Qubes salt.- If Templates were not previously downloaded already by using above
qubes-dom0-update
command, then thequbesctl
command would also download both Whonix-Gateway ™ and Whonix-Workstation ™ Templates. - Related source code files, reference for developers only:
- ↑ No progress indicator is shown. Qubes feature request: add salt download progress indicator [archive]
- ↑
If
qubesctl
still does not work, try shutting down Qubes OS and rebooting the machine. Please report if this step was necessary for you! - ↑ 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]
- ↑
- By Qubes default, Qubes UpdatesProxy (RPC / qrexec based) is used to update Templates.
- Qubes: How to install software, technical details [archive]
- Qubes
salt
management stackqubesctl
[archive] - For developers only, related source code file: https://github.com/QubesOS/qubes-mgmt-salt-dom0-virtual-machines/blob/master/qvm/updates-via-whonix.sls [archive]
- ↑ How to change TemplateVM update method from Whonix to just another appvm? [archive]
- ↑
Or manually set the torified UpdateVM in
dom0
terminal.qubes-prefs updatevm sys-whonix
- ↑
To revert this change in
dom0
terminal, run.qubes-prefs updatevm sys-firewall
- ↑
Debian has enabled AppArmor by default since the
buster
release, but Fedora has not. This matters because Qubes is Fedora-based and therefore uses thedom0
(not VM) kernel by default. Therefore this step is still required even though Whonix ™ is based on a recent enough Debian version. - ↑ Since Qubes R3.0, App Qubes inherit the kernelopts setting of their Template [archive].
Whonix ™ is Supported by Evolution Host DDoS Protected VPS. Stay private and get your VPS with Bitcoin or Monero.
100px | |
Fosshost | About Advertisements |
Search engines: YaCy | Qwant | ecosia | MetaGer | peekier | Whonix ™ Wiki
Please consider a recurring donation!
Priority Support | Investors | Professional Support
Whonix ™ | © ENCRYPTED SUPPORT LP | Freedom Software / Open Source (Why?)
The personal opinions of moderators or contributors to the Whonix ™ project do not represent the project as a whole.