Uninstall Qubes-Whonix ™

From Whonix
Jump to navigation Jump to search

Qubesunintall123123.png

Introduction[edit]

This procedure of a complete uninstallation of Whonix ™ as documented on this page is useful before a complete re-installation of Qubes-Whonix ™. [1]

Alternatively, it is possible to Reinstall Qubes-Whonix ™ Templates without a complete a uninstallation.

In any case, these procedures are unspecific to Whonix ™.

  • Qubes R4.0: Before Qubes-Whonix ™ Template packages can be uninstalled, the Template must not be used as the underlying template by any VMs (otherwise Qubes prohibits removal). Therefore, either delete the VMs as documented below or follow the step to: Stop using Whonix ™ Templates in VM Template Settings.
  • Qubes R4.1: Similar to above but in some situations qvm-template with the purge instead of the remove subcommand might be simpler.
    • remove:

      Remove installed templates.

    • purge:

      Remove installed templates and associated VMs.

Users can replace Whonix ™ version 16 with 15 or any other version number if that is the goal.

Purge[edit]

  • Qubes R4.0 qvm-template purge unsupported. Other method as document in following chapters can be considered.
  • Qubes R4.1 qvm-template purge supported.

Ambox warning pn.svg.png Data loss possible if used wrong! Before proceeding with the qvm-template purge the user should carefully review the output of the qvm-template command before confirming. In doubt, a different method as document in other chapters should be used.

Might not work due to Qubes issue qvm-template purge whonix-gw-16 results in ERROR: The dummy qube does not provide network.

1. Shutdown required App Qubes.

Shutdown of all Whonix ™ App Qubes is required that are using whonix-gw-16 or whonix-ws-16 as a Template or Net Qube

2. App Qubes Configuration

If no App Qubes that the user intents to keep are using whonix-gw-16 or whonix-ws-16 as a Template or Net Qube, proceeding with qvm-template purge should be safe.

3. Purge Whonix-Gateway ™

qvm-template purge whonix-gw-16

4. Review the output.

Sample output:

This will completely remove the selected VM(s)... {{project_name_gateway_template}} sys-whonix anon-whonix {{whonix-ws-dvm}} custom-vm-using-{{project_name_workstation_template}}-template Are you sure? [y/N]

5. Confirm or abort.

To proceed, a capital (big lettter) Y needs be be written and confirmed with enter.

6. Purge Whonix-Workstation ™

qvm-template purge whonix-ws-16

Whonix-Workstation ™ Removal[edit]

Remove Whonix-Workstation ™ App Qubes[edit]

The anon-whonix Whonix-Workstation ™ App Qube [2] must be manually removed. Alternatively, you can Stop using Whonix ™ Templates in VM Template Settings.

If anon-whonix was previously used, strongly consider backups of any important files before proceeding.

1. Remove anon-whonix.

  • Qube Managerright-click Whonix ™ App Qube anon-whonixDelete qube [3]

2. Repeat the above step for any other App Qubes based on Whonix-Workstation ™ Template whonix-ws-16 that were created earlier. Replace vm-name with the actual name of the VM.

  • Qube Managerright-click Whonix ™ App Qube vm-nameDelete qube [4]

Remove the Whonix-Workstation ™ Disposable Template[edit]

The whonix-ws-16-dvm domain must be manually removed. Alternatively, you can Stop using Whonix ™ Templates in VM Template Settings.

In the case of a customized Whonix-Workstation ™ Disposable Template, strongly consider backups of any important files before proceeding.

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

Qubes-whonix1.png

1. Set the default Disposable for anon-whonix to "". This is only required if you chose to skip removal of anon-whonix as documented above.

qvm-prefs anon-whonix default_dispvm ""

2. Repeat the above step for all other App Qubes that are based on Whonix-Workstation ™ Template whonix-ws-16 that were created earlier. Replace vm-name with the actual name of the VM.

qvm-prefs vm-name default_dispvm ""

3. Set the default Disposable for whonix-ws-16-dvm to "".

qvm-prefs whonix-ws-16-dvm default_dispvm ""

4. Remove whonix-ws-16-dvm.

qvm-remove whonix-ws-16-dvm

5. The process of removing whonix-ws-16-dvm is now complete.

Whonix-Gateway ™ Removal[edit]

Stop using Whonix-Gateway ™ as Qubes UpdateVM[edit]

Set Qubes dom0 UpdateVM to sys-firewall or any VM of your choice.

Note: Upgrades will be no longer torified.

This is only required if you previously elected to update dom0 through Whonix ™. Regardless, it is a good idea to check the Qubes dom0 UpdateVM setting.

  • Qubes ManagerSystemGlobal SettingsDom0 UpdateVM: sys-firewallOK [5]

Stop using Whonix-Gateway ™ as NetVM for any VM[edit]

If you configured any VM to use sys-whonix as NetVM, this change must be undone.

Note: The VM's traffic will be no longer torified.

This is only required if you previously elected to torify a VM's network traffic through Whonix ™. Regardless, it is a good idea to check the NetVM setting of Qubes VMs.

To set the NetVM of any VM to None, in other words, to disable networking.

Qube Managerright-click vm-nameQube settingsNetVMNoneOK [6]

Alternatively, you can set the NetVM to sys-firewall or another ProxyVM of your choice. However, traffic will not be torified (unless you are using cloned VMs).

Remove Whonix-Gateway ™ ProxyVMs[edit]

The sys-whonix Whonix-Gateway ™ ProxyVM [2] must be manually removed. Alternatively, you could Stop using Whonix ™ Templates in VM Template Settings.

In the case of a previously used sys-whonix ProxyVM, consider backups before proceeding. This might be a custom Tor configuration, Onion Services configuration, Bridges configuration or Tor data for persistent Tor Entry Guards.

1. Remove sys-whonix.

  • Qube Managerright-click sys-whonixDelete qube [7]

2. Repeat the above step for any other ProxyVM based on Whonix-Gateway ™ Template whonix-gw-16 that was created earlier. Replace vm-name with the actual name of the VM.

  • Qube Managerright-click vm-nameDelete qube [8]

Qubes Adjustments[edit]

Stop using Whonix ™ Templates in VM Template Settings[edit]

If a Whonix ™ Template is set as the underlying Template for any VMs, the Template cannot be removed. Therefore, either delete the VM as documented above or unset the Template using Qube Manager. [9]

The VMs can optionally be set to use a dummy template. The advantage of setting a dummy template as the underlying Template is the ability to retain any VMs, along with the user storage contents.

1. Create the dummy Template. [10]

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

Qubes-whonix1.png

Execute the following commands.

  • Qubes R4:
    qvm-create --class Template --label red dummy
  • Qubes R4.1: This might be a default functionality of Qubes VM Manager. Unspecific to Qubes-Whonix ™.

The process of creating the dummy Template is now complete.

2. Shut down the Whonix ™ Template if already running.

  • Qube Managerright-click Whonix ™ TemplateShutdown qube [11]

3. Set the dummy template as the Template.

  • right-click VMQube settingsTemplate: dummy [12]

The process of setting the dummy template as the VM's underlying Template is complete.

Stop using Whonix-Gateway ™ for Torified Template Updates[edit]

Info Skip this chapter if you intend to Install Qubes-Whonix ™ again.

If you do not intend to use Qubes-Whonix ™ again, apply the following steps.

In technical terms, stop using Whonix-Gateway ™ as dom0 UpdatesProxy for any Templates. This is only required if you previously elected to update Qubes Templates through Whonix ™.

1. Open /etc/qubes-rpc/policy/qubes.UpdatesProxy with root rights.

2. Search for.

$type:Template $default allow,target=sys-whonix

3. Comment out that line; add a hash (#) in front of it.

#$type:Template $default allow,target=sys-whonix

[13]

4. Save.

5. The steps to remove Whonix-Gateway ™ as dom0 UpdatesProxy are complete.

Uninstall Whonix ™ Templates[edit]

Introduction[edit]

Whonix ™ first time users warning

  • Note the root filesystem will be lost when uninstalling the Template.
  • In the case of customized Templates, strongly consider creating backups of anything important before proceeding.
  • Whonix ™ (or any) Template in Qubes cannot be removed if any other VM is still using them; see Introduction.

Whonix-Gateway ™[edit]

  1. Open a dom0 terminal: Qubes App Launcher (blue/grey "Q")System ToolsXfce Terminal
  2. Uninstall all Qubes-Whonix ™ Whonix-Gateway ™ template packages matching qubes-template-whonix-gw*: [14]
  • R4.0:
    sudo dnf remove qubes-template-whonix-gw*
  • R4.1:
    sudo qvm-template remove qubes-template-whonix-gw*

Review the output of the command before confirming to proceed.

Whonix-Workstation ™[edit]

  1. Open a dom0 terminal: Qubes App Launcher (blue/grey "Q")System ToolsXfce Terminal
  2. Uninstall all Qubes-Whonix-Workstation ™ template packages matching qubes-template-whonix-ws*: [14]
  • R4.0:
    sudo dnf remove qubes-template-whonix-ws*
  • R4.1:
    sudo qvm-template remove qubes-template-whonix-ws*

Review the output of the command before confirming to proceed.

All Whonix ™ Template Packages[edit]

  1. Open a dom0 terminal: Qubes App Launcher (blue/grey "Q")System ToolsXfce Terminal
  2. Uninstall all Qubes-Whonix ™ template packages matching qubes-template-whonix*: [14]
  • R4.0:
    sudo dnf remove qubes-template-whonix*
  • R4.1:
    sudo qvm-template remove qubes-template-whonix*

Review the output of the command before confirming to proceed.

Troubleshooting[edit]

If the following error appears when removing the Templates, a manual fix is required.

“ERROR: VM installed by package manager: template-vm-name”

For instruction on how to work around this issue, see: Remove VM Manually.

Done[edit]

The process of uninstalling Qubes-Whonix ™ is now complete.

In order to use Qubes-Whonix ™ again in the future, follow the Install Qubes-Whonix ™ instructions.

Footnotes[edit]

  1. Or if deciding not to use Whonix ™ at all.
  2. 2.0 2.1 Qubes glossary documents TemplateBasedVM, TemplateBasedVMs and TemplateBasedHVM. So the spelling of TemplateBasedAppVMs and TemplateBasedProxyVMs should be correct.
  3. qvm-remove anon-whonix
  4. qvm-remove vm-name
  5. To revert this change, run.
    qubes-prefs updatevm sys-firewall
  6. qubes-prefs --set vm-name netvm ""
  7. qvm-remove sys-whonix
  8. qvm-remove vm-name
  9. Or use the command line.
  10. qvm-shutdown vm-name
  11. qvm-prefs --set vm-name template dummy
  12. The entry
    $tag:whonix-updatevm $default allow,target=sys-whonix
    and
    $tag:whonix-updatevm $anyvm deny
    can remain. These will not have any effect once Qubes Templates are removed since no VM has the tag whonix-updatevm.
  13. 14.0 14.1 14.2 Note the matching syntax below and the effect of running qubes-template-whonix-gw* or qubes-template-whonix-ws*. Also note the asterisk * wildcard at the end. Depending on the Whonix ™ version, this leads to multiple template packages being uninstalled if they are present:
    • qubes-template-whonix-gw (deprecated Whonix ™ 13 release)
    • qubes-template-whonix-ws (deprecated Whonix ™ 13 release)
    • qubes-template-whonix-gw-14 (deprecated Whonix ™ release)
    • qubes-template-whonix-ws-14 (deprecated Whonix ™ release)
    • qubes-template-whonix-gw-15 (deprecated Whonix ™ release)
    • qubes-template-whonix-ws-15 (deprecated Whonix ™ release)
    • qubes-template-whonix-gw-16 (stable Whonix ™ release)
    • qubes-template-whonix-ws-16 (stable Whonix ™ release)
    • qubes-template-whonix-gw-17 (future Whonix ™ release)
    • qubes-template-whonix-ws-17 (future Whonix ™ release)
    Wildcards are used so these instructions are valid for all old and future versions of Whonix ™. Alternatively, the asterisk * syntax could be replaced with a specific template package listed above.