mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2024-10-01 01:25:40 -04:00
reorder sections more logically
and fix line breaks while I'm at it
This commit is contained in:
parent
64716d81f0
commit
b9f7423763
@ -9,64 +9,29 @@ redirect_from:
|
|||||||
How to Reinstall a TemplateVM
|
How to Reinstall a TemplateVM
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
If you suspect your [TemplateVM] is broken, misconfigured, or compromised, you
|
If you suspect your [TemplateVM] is broken, misconfigured, or compromised, you can reinstall any TemplateVM that was installed from the Qubes repository.
|
||||||
can reinstall any TemplateVM that was installed from the Qubes repository.
|
|
||||||
|
|
||||||
If you are running Qubes R4.0, see "Manual Reinstallation Method (R4.0)" below.
|
The procedure varies by Qubes version; see the appropriate section below.
|
||||||
For Qubes R3.1 or R3.2, keep reading.
|
|
||||||
For R3.0 and earlier, see "Manual Reinstallation Method (R3.0 or earlier)" below.
|
|
||||||
|
|
||||||
First, copy any files that you wish to keep from the TemplateVM's `/home` and
|
|
||||||
`/rw` folders to a safe storage location. Then, in a dom0 terminal, run:
|
|
||||||
|
|
||||||
$ sudo qubes-dom0-update --action=reinstall qubes-template-package-name
|
|
||||||
|
|
||||||
Replace `qubes-template-package-name` with the name of the *package* of the
|
|
||||||
template you wish to reinstall. For example, use `qubes-template-fedora-25` if
|
|
||||||
you wish to reinstall the `fedora-25` template. Only one template can be
|
|
||||||
reinstalled at a time.
|
|
||||||
|
|
||||||
Note that Qubes may initially refuse to perform the reinstall if the exact revision of
|
|
||||||
the template package on your system is no longer in the Qubes online repository. In
|
|
||||||
this case, you can specify `upgrade` as the action instead and the newer version will be
|
|
||||||
used. The other `dnf` package actions that are now supported in addition to `reinstall`
|
|
||||||
and `upgrade` are `upgrade-to` and `downgrade`.
|
|
||||||
|
|
||||||
**Reminder:** If you're trying to reinstall a template that is not in an enabled
|
|
||||||
repo, you must enable that repo. For example:
|
|
||||||
|
|
||||||
$ sudo qubes-dom0-update --enablerepo=qubes-templates-community --action=reinstall qubes-template-whonix-ws
|
|
||||||
|
|
||||||
**Note:** VMs that are using the reinstalled template will not be affected until they are
|
|
||||||
restarted.
|
|
||||||
|
|
||||||
|
|
||||||
Manual Reinstallation Method (R4.0)
|
Manual Reinstallation Method (R4.0)
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
If you're using Qubes 4.0 or newer, you should use the manual reinstallation
|
If you're using Qubes 4.0 or newer, you should use the manual reinstallation method.
|
||||||
method.
|
|
||||||
|
|
||||||
In what follows, the term "target TemplateVM" refers to whichever TemplateVM you
|
In what follows, the term "target TemplateVM" refers to whichever TemplateVM you want to reinstall.
|
||||||
want to reinstall. If you want to reinstall more than one TemplateVM, repeat
|
If you want to reinstall more than one TemplateVM, repeat these instructions for each one.
|
||||||
these instructions for each one.
|
|
||||||
|
|
||||||
1. Clone the existing target TemplateVM.
|
1. Clone the existing target TemplateVM.
|
||||||
|
|
||||||
This can be a good idea if you've customized the existing template and want
|
This can be a good idea if you've customized the existing template and want to keep your customizations.
|
||||||
to keep your customizations. On the other hand, if you suspect that this
|
On the other hand, if you suspect that this template is broken, misconfigured, or compromised, be certain you do not start any VMs using it in the below procedure.
|
||||||
template is broken, misconfigured, or compromised, be certain you do not
|
|
||||||
start any VMs using it in the below procedure.
|
|
||||||
|
|
||||||
2. Temporarily change all VMs based on the target TemplateVM to the new clone
|
2. Temporarily change all VMs based on the target TemplateVM to the new clone template, or remove them.
|
||||||
template, or remove them.
|
|
||||||
|
|
||||||
This can be a good idea if you have user data in these VMs that you want to
|
This can be a good idea if you have user data in these VMs that you want to keep.
|
||||||
keep. On the other hand, if you suspect that these VMs (or the templates on
|
On the other hand, if you suspect that these VMs (or the templates on which they are based) are broken, misconfigured, or compromised, you may want to remove them instead.
|
||||||
which they are based) are broken, misconfigured, or compromised, you may
|
You can do this in Qubes Manager by right-clicking on the VM and clicking **Remove VM**, or you can use the command `qvm-remove <vm-name>` in dom0.
|
||||||
want to remove them instead. You can do this in Qubes Manager by
|
|
||||||
right-clicking on the VM and clicking **Remove VM**, or you can use the
|
|
||||||
command `qvm-remove <vm-name>` in dom0.
|
|
||||||
|
|
||||||
3. Uninstall the target TemplateVM from dom0:
|
3. Uninstall the target TemplateVM from dom0:
|
||||||
|
|
||||||
@ -86,32 +51,51 @@ these instructions for each one.
|
|||||||
$ sudo qubes-dom0-update --enablerepo=qubes-templates-community \
|
$ sudo qubes-dom0-update --enablerepo=qubes-templates-community \
|
||||||
qubes-template-whonix-gw
|
qubes-template-whonix-gw
|
||||||
|
|
||||||
5. If you temporarily changed all VMs based on the target TemplateVM to the
|
5. If you temporarily changed all VMs based on the target TemplateVM to the clone template in step 3, change them back to the new target TemplateVM now.
|
||||||
clone template in step 3, change them back to the new target TemplateVM now.
|
If you instead removed all VMs based on the old target TemplateVM, you can recreate your desired VMs from the newly reinstalled target TemplateVM now.
|
||||||
If you instead removed all VMs based on the old target TemplateVM, you can
|
|
||||||
recreate your desired VMs from the newly reinstalled target TemplateVM now.
|
|
||||||
|
|
||||||
6. Delete the cloned template. You can do this in Qubes Manager by
|
6. Delete the cloned template.
|
||||||
right-clicking on the VM and clicking **Remove VM**, or you can use the
|
You can do this in Qubes Manager by right-clicking on the VM and clicking **Remove VM**, or you can use the
|
||||||
command `qvm-remove <vm-name>` in dom0.
|
command `qvm-remove <vm-name>` in dom0.
|
||||||
|
|
||||||
|
|
||||||
|
Manual Reinstallation Method (R3.1 - R3.2)
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
First, copy any files that you wish to keep from the TemplateVM's `/home` and `/rw` folders to a safe storage location.
|
||||||
|
Then, in a dom0 terminal, run:
|
||||||
|
|
||||||
|
$ sudo qubes-dom0-update --action=reinstall qubes-template-package-name
|
||||||
|
|
||||||
|
Replace `qubes-template-package-name` with the name of the *package* of the template you wish to reinstall.
|
||||||
|
For example, use `qubes-template-fedora-25` if you wish to reinstall the `fedora-25` template.
|
||||||
|
Only one template can be reinstalled at a time.
|
||||||
|
|
||||||
|
Note that Qubes may initially refuse to perform the reinstall if the exact revision of the template package on your system is no longer in the Qubes online repository.
|
||||||
|
In this case, you can specify `upgrade` as the action instead and the newer version will be used.
|
||||||
|
The other `dnf` package actions that are supported in addition to `reinstall` and `upgrade` are `upgrade-to` and `downgrade`.
|
||||||
|
|
||||||
|
**Reminder:** If you're trying to reinstall a template that is not in an enabled repo, you must enable that repo.
|
||||||
|
For example:
|
||||||
|
|
||||||
|
$ sudo qubes-dom0-update --enablerepo=qubes-templates-community --action=reinstall qubes-template-whonix-ws
|
||||||
|
|
||||||
|
**Note:** VMs that are using the reinstalled template will not be affected until they are restarted.
|
||||||
|
|
||||||
|
|
||||||
Manual Reinstallation Method (R3.0 or earlier)
|
Manual Reinstallation Method (R3.0 or earlier)
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
If you're using Qubes 3.0 or older, you should use the manual reinstallation
|
If you're using Qubes 3.0 or older, you should use the manual reinstallation method.
|
||||||
method. You can also use this method on later Qubes versions if, for any reason,
|
You can also use this method on later Qubes versions if, for any reason, you want to reinstall a template manually.
|
||||||
you want to reinstall a template manually.
|
|
||||||
|
|
||||||
In what follows, the term "target TemplateVM" refers to whichever TemplateVM you
|
In what follows, the term "target TemplateVM" refers to whichever TemplateVM you want to reinstall.
|
||||||
want to reinstall. If you want to reinstall more than one TemplateVM, repeat
|
If you want to reinstall more than one TemplateVM, repeat these instructions for each one.
|
||||||
these instructions for each one.
|
|
||||||
|
|
||||||
1. (Optional) Clone the existing target TemplateVM.
|
1. (Optional) Clone the existing target TemplateVM.
|
||||||
|
|
||||||
This can be a good idea if you've customized the existing template and want
|
This can be a good idea if you've customized the existing template and want to keep your customizations.
|
||||||
to keep your customizations. On the other hand, if you suspect that this
|
On the other hand, if you suspect that this template is broken, misconfigured, or compromised, you may want to remove it without cloning it.
|
||||||
template is broken, misconfigured, or compromised, you may want to remove it
|
|
||||||
without cloning it.
|
|
||||||
|
|
||||||
2. Create a temporary dummy template:
|
2. Create a temporary dummy template:
|
||||||
|
|
||||||
@ -119,19 +103,14 @@ these instructions for each one.
|
|||||||
touch /var/lib/qubes/vm-templates/dummy/{root.img,private.img}
|
touch /var/lib/qubes/vm-templates/dummy/{root.img,private.img}
|
||||||
qvm-add-template dummy
|
qvm-add-template dummy
|
||||||
|
|
||||||
3. Temporarily change all VMs based on the target TemplateVM to the new dummy
|
3. Temporarily change all VMs based on the target TemplateVM to the new dummy template, or remove them.
|
||||||
template, or remove them.
|
|
||||||
|
|
||||||
This can be a good idea if you have user data in these VMs that you want to
|
This can be a good idea if you have user data in these VMs that you want to keep.
|
||||||
keep. On the other hand, if you suspect that these VMs (or the templates on
|
On the other hand, if you suspect that these VMs (or the templates on which they are based) are broken, misconfigured, or compromised, you may want to remove them instead.
|
||||||
which they are based) are broken, misconfigured, or compromised, you may
|
You can do this in Qubes Manager by right-clicking on the VM and clicking **Remove VM**, or you can use the command `qvm-remove <vm-name>` in dom0.
|
||||||
want to remove them instead. You can do this in Qubes Manager by
|
|
||||||
right-clicking on the VM and clicking **Remove VM**, or you can use the
|
|
||||||
command `qvm-remove <vm-name>` in dom0.
|
|
||||||
|
|
||||||
Using a dummy template as a temporary template is preferable to using another
|
Using a dummy template as a temporary template is preferable to using another real TemplateVM because you can't accidentally boot any VMs from the dummy template.
|
||||||
real TemplateVM because you can't accidentally boot any VMs from the dummy
|
(There is no OS in the dummy template, so the boot will fail.)
|
||||||
template. (There is no OS in the dummy template, so the boot will fail.)
|
|
||||||
|
|
||||||
4. Uninstall the target TemplateVM from dom0:
|
4. Uninstall the target TemplateVM from dom0:
|
||||||
|
|
||||||
@ -151,10 +130,8 @@ these instructions for each one.
|
|||||||
$ sudo qubes-dom0-update --enablerepo=qubes-templates-community \
|
$ sudo qubes-dom0-update --enablerepo=qubes-templates-community \
|
||||||
qubes-template-whonix-gw
|
qubes-template-whonix-gw
|
||||||
|
|
||||||
6. If you temporarily changed all VMs based on the target TemplateVM to the
|
6. If you temporarily changed all VMs based on the target TemplateVM to the dummy template in step 3, change them back to the new target TemplateVM now.
|
||||||
dummy template in step 3, change them back to the new target TemplateVM now.
|
If you instead removed all VMs based on the old target TemplateVM, you can recreate your desired VMs from the newly reinstalled target TemplateVM now.
|
||||||
If you instead removed all VMs based on the old target TemplateVM, you can
|
|
||||||
recreate your desired VMs from the newly reinstalled target TemplateVM now.
|
|
||||||
|
|
||||||
[TemplateVM]: /doc/templates/
|
[TemplateVM]: /doc/templates/
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user