{{Header}} {{hide_all_banners}} {{Title|title= Uninstall {{q_project_name_long}} }} {{#seo: |description=How to uninstall {{q_project_name_short}}. |image=Qubesunintall123123.png }} [[File:Qubesunintall123123.png|250px|thumb]] {{qubes_mininav}}
qvm-template
] with the [https://dev.qubes-os.org/projects/core-admin-client/en/latest/manpages/qvm-template.html#purge purge
] instead of the [https://dev.qubes-os.org/projects/core-admin-client/en/latest/manpages/qvm-template.html#remove remove
] [https://dev.qubes-os.org/projects/core-admin-client/en/latest/manpages/qvm-template.html#subcommands subcommand] might be simpler.
** remove
: Remove installed templates.**
purge
: Remove installed templates and associated VMs.Users can replace {{project_name_short}} version
16
with 17
or any other version number if that is the goal.
= Purge =
{{mbox
| image = [[File:Ambox_warning_pn.svg.png|40px]]
| text = 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 [https://github.com/QubesOS/qubes-issues/issues/7285 qvm-template purge whonix-gw-16 results in ERROR: The dummy qube does not provide network].
'''1.''' Shutdown required App Qubes.
Shutdown of all {{project_name_short}} App Qubes is required that are using {{project_name_gateway_template}}
or {{project_name_workstation_template}}
as a Template
or Net Qube
'''2.''' App Qubes Configuration
If no App Qubes that the user intents to keep are using {{project_name_gateway_template}}
or {{project_name_workstation_template}}
as a Template
or Net Qube
, proceeding with qvm-template purge
should be safe.
'''3.''' Purge {{project_name_gateway_long}}
{{CodeSelect|code=
qvm-template purge whonix-gateway-{{VersionShort}}
}}
'''4.''' Review the output.
Sample output:
Y
needs be be written and confirmed with enter.
'''6.''' Purge {{project_name_workstation_long}}
{{CodeSelect|code=
qvm-template purge whonix-workstation-{{VersionShort}}
}}
= {{project_name_workstation_short}} Removal =
== Remove {{project_name_workstation_short}} App Qubes ==
The {{project_name_workstation_vm}}
{{project_name_workstation_short}} App Qube
[https://www.qubes-os.org/doc/glossary/ Qubes glossary] documents TemplateBasedVM
, TemplateBasedVMs
and TemplateBasedHVM
. So the spelling of TemplateBasedAppVMs
and TemplateBasedProxyVMs
should be correct.
must be manually removed. Alternatively, you can [[#Stop using {{project_name_short}} Templates in VM Template Settings|Stop using {{project_name_short}} Templates in VM Template Settings]].
If {{project_name_workstation_vm}}
was previously used, strongly consider backups of any important files before proceeding.
{{Box|text=
'''1.''' Remove {{project_name_workstation_vm}}
.
* Qube Manager
→ right-click {{project_name_short}} App Qube
{{project_name_workstation_vm}}
→ Delete qube
{{CodeSelect|code=
qvm-remove {{project_name_workstation_vm}}
}}
'''2.''' Repeat the above step for any other App Qubes based on {{project_name_workstation_short}} Template {{project_name_workstation_template}}
that were created earlier. Replace vm-name
with the actual name of the VM.
* Qube Manager
→ right-click {{project_name_short}} App Qube
vm-name
→ Delete qube
{{CodeSelect|code=
qvm-remove vm-name
}}
}}
== Remove the {{project_name_workstation_short}} Disposable Template ==
The {{project_name_workstation_template}}-dvm
domain must be manually removed. Alternatively, you can [[#Stop using {{project_name_short}} Templates in VM Template Settings|Stop using {{project_name_short}} Templates in VM Template Settings]].
In the case of a customized {{project_name_workstation_short}} Disposable Template, strongly consider backups of any important files before proceeding.
{{Box|text=
{{Qubes_Terminal}}
'''1.''' Set the default Disposable for {{project_name_workstation_vm}}
to ""
. This is only required if you choose to skip removal of {{project_name_workstation_vm}}
as documented above.
{{CodeSelect|code=
qvm-prefs {{project_name_workstation_vm}} default_dispvm ""
}}
'''2.''' Repeat the above step for all other App Qubes that are based on {{project_name_workstation_short}} Template {{project_name_workstation_template}}
that were created earlier. Replace vm-name
with the actual name of the VM.
{{CodeSelect|code=
qvm-prefs vm-name default_dispvm ""
}}
'''3.''' Set the default Disposable for {{project_name_workstation_template}}-dvm
to ""
.
{{CodeSelect|code=
qvm-prefs {{project_name_workstation_template}}-dvm default_dispvm ""
}}
'''4.''' Remove {{project_name_workstation_template}}-dvm
.
{{CodeSelect|code=
qvm-remove {{project_name_workstation_template}}-dvm
}}
'''5.''' The process of removing {{project_name_workstation_template}}-dvm
is now complete.
}}
= {{project_name_gateway_short}} Removal =
== Stop using {{project_name_gateway_short}} as Qubes UpdateVM ==
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 {{project_name_short}}. Regardless, it is a good idea to check the Qubes dom0
UpdateVM setting.
* Qubes Manager
→ System
→ Global Settings
→ Dom0 UpdateVM:
sys-firewall
→ OK
To revert this change, run.
{{CodeSelect|code=
qubes-prefs updatevm sys-firewall
}}
== Stop using {{project_name_gateway_short}} as NetVM for any VM ==
If you configured any VM to use {{project_name_gateway_vm}}
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 {{project_name_short}}. Regardless, it is a good idea to check the NetVM setting of Qubes VMs.
{{Box|text=
To set the NetVM of any VM to None
, in other words, to disable networking.
Qube Manager
→ right-click
vm-name
→ Qube settings
→ NetVM
→ None
→ OK
{{CodeSelect|code=
qubes-prefs --set vm-name netvm ""
}}
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 {{project_name_gateway_short}} ProxyVMs ==
The {{project_name_gateway_vm}}
{{project_name_gateway_short}} ProxyVM must be manually removed. Alternatively, you could [[#Stop using {{project_name_short}} Templates in VM Template Settings|Stop using {{project_name_short}} Templates in VM Template Settings]].
In the case of a previously used {{project_name_gateway_vm}}
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]].
{{Box|text=
'''1.''' Remove {{project_name_gateway_vm}}
.
* Qube Manager
→ right-click
{{project_name_gateway_vm}}
→ Delete qube
{{CodeSelect|code=
qvm-remove {{project_name_gateway_vm}}
}}
'''2.''' Repeat the above step for any other ProxyVM based on {{project_name_gateway_short}} Template {{project_name_gateway_template}}
that was created earlier. Replace vm-name
with the actual name of the VM.
* Qube Manager
→ right-click
vm-name
→ Delete qube
{{CodeSelect|code=
qvm-remove vm-name
}}
}}
= Qubes Adjustments =
== Stop using {{project_name_short}} Templates in VM Template Settings ==
If a {{project_name_short}} 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.
Or use the command line.
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.
{{Box|text=
{{Box|text=
'''1.''' {{Qubes_Dummy_Template}}
}}
'''2.''' Shut down the {{project_name_short}} Template if already running.
* Qube Manager
→ right-click {{project_name_short}} Template
→ Shutdown qube
{{CodeSelect|code=
qvm-shutdown vm-name
}}
dummy
template as the Template.
* right-click VM
→ Qube settings
→ Template:
dummy
{{CodeSelect|code=
qvm-prefs --set vm-name template dummy
}}
The process of setting the dummy
template as the VM's underlying Template is complete.
}}
== Stop using {{project_name_gateway_short}} for Torified Template Updates ==
{{mbox
| type = notice
| image = [[File:Ambox_notice.png|40px|alt=Info]]
| text = Skip this chapter if you intend to [[Qubes/Install|Install {{q_project_name_short}}]] again.
}}
If you do not intend to use {{q_project_name_short}} again, apply the following steps.
{{Box|text=
In technical terms, stop using {{project_name_gateway_short}} as dom0
UpdatesProxy for any Templates. This is only required if you previously elected to update Qubes Templates through {{project_name_short}}.
'''1.''' Open /etc/qubes-rpc/policy/qubes.UpdatesProxy
with root rights.
'''2.''' Search for.
{{CodeSelect|code=
$type:Template $default allow,target={{project_name_gateway_vm}}
}}
'''3.''' Comment out that line; add a hash (#
) in front of it.
{{CodeSelect|code=
#$type:Template $default allow,target={{project_name_gateway_vm}}
}}
The entry
{{CodeSelect|code=
$tag:whonix-updatevm $default allow,target={{project_name_gateway_vm}}
}}
and
{{CodeSelect|code=
$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
.
'''4.''' Save.
'''5.''' The steps to remove {{project_name_gateway_short}} as dom0
UpdatesProxy are complete.
}}
= Uninstall {{project_name_short}} Templates =
== Introduction ==
{{mbox
| image = [[File:Ambox_warning_pn.svg.png|40px|alt={{project_name_short}} first time users warning]]
| text = dom0
terminal: Qubes App Launcher (blue/grey "Q")
→ System Tools
→ Xfce Terminal
# Uninstall all {{q_project_name_short}} {{project_name_gateway_short}} template packages matching qubes-template-whonix-g*
:
Note the matching syntax below and the effect of running qubes-template-whonix-g'''*'''
or qubes-template-whonix-w**
. Also note the asterisk *
wildcard at the end. Depending on the {{project_name_short}} version, this leads to multiple template packages being uninstalled if they are present:
* qubes-template-whonix-gw-15
(deprecated {{project_name_short}} release)
* qubes-template-whonix-ws-15
(deprecated {{project_name_short}} release)
* qubes-template-whonix-gw-16
(deprecated {{project_name_short}} release)
* qubes-template-whonix-ws-16
(deprecated {{project_name_short}} release)
* qubes-template-whonix-gateway-17
(stable {{project_name_short}} release)
* qubes-template-whonix-workstation-17
(stable {{project_name_short}} release)
* qubes-template-whonix-gateway-18
(future {{project_name_short}} release)
* qubes-template-whonix-workstation-18
(future {{project_name_short}} release)
Wildcards are used so these instructions are valid for all old and future versions of {{project_name_short}}. Alternatively, the asterisk *
syntax could be replaced with a specific template package listed above.
{{CodeSelect|code=
sudo qvm-template remove qubes-template-whonix-g*
}}
Review the output of the command before confirming to proceed.
== {{project_name_workstation_short}} ==
# Open a dom0
terminal: Qubes App Launcher (blue/grey "Q")
→ System Tools
→ Xfce Terminal
# Uninstall all Qubes-{{project_name_workstation_short}} template packages matching qubes-template-whonix-w*
:
{{CodeSelect|code=
sudo qvm-template remove qubes-template-whonix-w*
}}
Review the output of the command before confirming to proceed.
== All {{project_name_short}} Template Packages ==
# Open a dom0
terminal: Qubes App Launcher (blue/grey "Q")
→ System Tools
→ Xfce Terminal
# Uninstall all {{q_project_name_short}} template packages matching qubes-template-whonix*
:
{{CodeSelect|code=
sudo qvm-template remove qubes-template-whonix*
}}
Review the output of the command before confirming to proceed.
== Troubleshooting ==
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: [https://www.qubes-os.org/doc/vm-troubleshooting/#can-not-uninstall-a-vm--error-vm-installed-by-package-manager-template-vm-name Remove VM Manually]. = Done = The process of uninstalling {{q_project_name_short}} is now complete. In order to use {{q_project_name_short}} again in the future, follow the [[Qubes/Install|Install {{q_project_name_short}}]] instructions. = Footnotes = {{reflist|close=1}} {{Footer}} [[Category:Documentation]]