mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2025-08-02 03:26:38 -04:00
parent
c07ee61ed8
commit
63498a6c17
41 changed files with 187 additions and 187 deletions
|
@ -77,7 +77,7 @@ Note that you must create the full folder structure under `/rw/bind-dirs` - e.g
|
|||
|
||||
## Limitations ##
|
||||
|
||||
* Files that exist in the TemplateVM root image cannot be deleted in the app qubes root image using bind-dirs.sh.
|
||||
* Files that exist in the template root image cannot be deleted in the app qubes root image using bind-dirs.sh.
|
||||
* Re-running `sudo /usr/lib/qubes/init/bind-dirs.sh` without a previous `sudo /usr/lib/qubes/init/bind-dirs.sh umount` does not work.
|
||||
* Running `sudo /usr/lib/qubes/init/bind-dirs.sh umount` after boot (before shutdown) is probably not sane and nothing can be done about that.
|
||||
* Many editors create a temporary file and copy it over the original file. If you have bind mounted an individual file this will break the mount.
|
||||
|
|
|
@ -38,7 +38,7 @@ If a disposable template becomes compromised, then any disposable based on that
|
|||
Therefore, you should not make any risky customizations (e.g., installing untrusted browser plugins) in important disposable templates.
|
||||
In particular, the *default* disposable template is important because it is used by the "Open in disposable" feature.
|
||||
This means that it will have access to everything that you open with this feature.
|
||||
For this reason, it is strongly recommended that you base the default disposable template on a trusted TemplateVM and refrain from making any risky customizations to it.
|
||||
For this reason, it is strongly recommended that you base the default disposable template on a trusted template and refrain from making any risky customizations to it.
|
||||
|
||||
## Creating a new disposable template
|
||||
|
||||
|
@ -59,7 +59,7 @@ Additionally you may want to set it as default disposable template:
|
|||
|
||||
The above default is used whenever a qube request starting a new disposable and do not specify which one (for example `qvm-open-in-dvm` tool). This can be also set in qube settings and will affect service calls from that qube. See [qrexec documentation](/doc/qrexec/#specifying-vms-tags-types-targets-etc) for details.
|
||||
|
||||
If you wish to use a [Minimal TemplateVM](/doc/templates/minimal/) as a disposable template, please see the [Minimal TemplateVM](/doc/templates/minimal/) page.
|
||||
If you wish to use a [Minimal Template](/doc/templates/minimal/) as a disposable template, please see the [Minimal Template](/doc/templates/minimal/) page.
|
||||
|
||||
## Customization of disposable
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ This separation of duties significantly reduces the attack surface, since all of
|
|||
Although this update scheme is far more secure than directly downloading updates in dom0, it is not invulnerable.
|
||||
For example, there is nothing that the Qubes OS Project can feasibly do to prevent a malicious RPM from exploiting a hypothetical bug in the cryptographic signature verification operation.
|
||||
At best, we could switch to a different distro or package manager, but any of them could be vulnerable to the same (or a similar) attack.
|
||||
While we could, in theory, write a custom solution, it would only be effective if Qubes repos included all of the regular TemplateVM distro's updates, and this would be far too costly for us to maintain.
|
||||
While we could, in theory, write a custom solution, it would only be effective if Qubes repos included all of the regular template distro's updates, and this would be far too costly for us to maintain.
|
||||
|
||||
## How to update dom0
|
||||
|
||||
|
|
|
@ -35,8 +35,8 @@ In a Debian-based template, use `apt`:
|
|||
sudo apt update && sudo apt install qubes-repo-contrib
|
||||
```
|
||||
|
||||
The new repository definition will be in the usual location for your distro, and it will follow the naming pattern `qubes-contrib-*`, depending on your Qubes release and whether it is in dom0 or a TemplateVM.
|
||||
For example, in a Fedora TemplateVM on Qubes 4.0, the new repository definition would be:
|
||||
The new repository definition will be in the usual location for your distro, and it will follow the naming pattern `qubes-contrib-*`, depending on your Qubes release and whether it is in dom0 or a template.
|
||||
For example, in a Fedora template on Qubes 4.0, the new repository definition would be:
|
||||
|
||||
```
|
||||
/etc/yum.repos.d/qubes-contrib-vm-r4.0.repo
|
||||
|
|
|
@ -278,7 +278,7 @@ Booting to a kernel inside the template is not supported under `PVH`.
|
|||
|
||||
#### Distribution kernel
|
||||
|
||||
Apply the following instruction in a Debian TemplateVM or in a Debian StandaloneVM.
|
||||
Apply the following instruction in a Debian template or in a Debian StandaloneVM.
|
||||
|
||||
Using a distribution kernel package the initramfs and kernel modules should be handled automatically.
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ Mounting the disk
|
|||
| ----------------------------- | ----------------- | ------------------------------------------- |
|
||||
| other\_install/root | dom0 root | The root partition of dom0. |
|
||||
| other\_install/<vm>-private | VM | The /rw partition of the named VM. |
|
||||
| other\_install/<vm>-root | templateVM root | The root partition of the named TemplateVM. |
|
||||
| other\_install/<vm>-root | template root | The root partition of the named template. |
|
||||
| other\_install/pool00\_tmeta | LVM Metadata | The metadata LV of this disk. |
|
||||
|
||||
6. Mount the disk using the command `mount /dev/other_install/<lv name> <mountpoint>`.
|
||||
|
|
|
@ -244,7 +244,7 @@ optional arguments:
|
|||
--targets TARGETS Coma separated list of VMs to target
|
||||
--templates Target all templates
|
||||
--app Target all app qubes
|
||||
--all Target all non-disposables (TemplateVMs and app qubes)
|
||||
--all Target all non-disposables (templates and app qubes)
|
||||
```
|
||||
|
||||
To apply a state to all templates, call `qubesctl --templates state.highstate`.
|
||||
|
@ -263,14 +263,14 @@ Beginning with Qubes 4.0 and after [QSB #45](/news/2018/12/03/qsb-45/), we imple
|
|||
1. Added the `management_dispvm` VM property, which specifies the disposable
|
||||
Template that should be used for management, such as Salt
|
||||
configuration. App qubes inherit this property from their
|
||||
parent TemplateVMs. If the value is not set explicitly, the default
|
||||
parent templates. If the value is not set explicitly, the default
|
||||
is taken from the global `management_dispvm` property. The
|
||||
VM-specific property is set with the `qvm-prefs` command, while the
|
||||
global property is set with the `qubes-prefs` command.
|
||||
|
||||
2. Created the `default-mgmt-dvm` disposable template, which is hidden from
|
||||
the menu (to avoid accidental use), has networking disabled, and has
|
||||
a black label (the same as TemplateVMs). This VM is set as the global
|
||||
a black label (the same as templates). This VM is set as the global
|
||||
`management_dispvm`. Keep in mind that this disposable template has full control
|
||||
over the VMs it's used to manage.
|
||||
|
||||
|
@ -420,7 +420,7 @@ The default settings can be overridden in the pillar data located in:
|
|||
```
|
||||
|
||||
In dom0, you can apply a single state with `sudo qubesctl state.sls STATE_NAME`.
|
||||
For example, `sudo qubesctl state.sls qvm.personal` will create a `personal` VM (if it does not already exist) with all its dependencies (TemplateVM, `sys-firewall`, and `sys-net`).
|
||||
For example, `sudo qubesctl state.sls qvm.personal` will create a `personal` VM (if it does not already exist) with all its dependencies (template, `sys-firewall`, and `sys-net`).
|
||||
|
||||
### Available states
|
||||
|
||||
|
@ -483,27 +483,27 @@ Setup UpdatesProxy to route all templates updates through Tor (sys-whonix here).
|
|||
|
||||
#### `qvm.template-fedora-21`
|
||||
|
||||
Fedora-21 TemplateVM
|
||||
Fedora-21 template
|
||||
|
||||
#### `qvm.template-fedora-21-minimal`
|
||||
|
||||
Fedora-21 minimal TemplateVM
|
||||
Fedora-21 minimal template
|
||||
|
||||
#### `qvm.template-debian-7`
|
||||
|
||||
Debian 7 (wheezy) TemplateVM
|
||||
Debian 7 (wheezy) template
|
||||
|
||||
#### `qvm.template-debian-8`
|
||||
|
||||
Debian 8 (jessie) TemplateVM
|
||||
Debian 8 (jessie) template
|
||||
|
||||
#### `qvm.template-whonix-gw`
|
||||
|
||||
Whonix Gateway TemplateVM
|
||||
Whonix Gateway template
|
||||
|
||||
#### `qvm.template-whonix-ws`
|
||||
|
||||
Whonix Workstation TemplateVM
|
||||
Whonix Workstation template
|
||||
|
||||
#### `update.qubes-dom0`
|
||||
|
||||
|
@ -515,7 +515,7 @@ $ sudo qubesctl --show-output state.sls update.qubes-dom0
|
|||
|
||||
#### `update.qubes-vm`
|
||||
|
||||
Updates domUs. Example to update all TemplateVMs (executed in dom0):
|
||||
Updates domUs. Example to update all templates (executed in dom0):
|
||||
|
||||
```
|
||||
$ sudo qubesctl --show-output --skip-dom0 --templates state.sls update.qubes-vm
|
||||
|
@ -543,7 +543,7 @@ Additional pillar data is available to ease targeting configurations (for exampl
|
|||
VM type. Possible values:
|
||||
|
||||
- `admin` - Administration domain (`dom0`)
|
||||
- `template` - Template VM
|
||||
- `template` - template
|
||||
- `standalone` - Standalone VM
|
||||
- `app` - Template based app qube
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@ title: StandaloneVMs and HVMs
|
|||
---
|
||||
|
||||
|
||||
A [StandaloneVM](/doc/glossary/#standalonevm) is a type of VM in Qubes that is created by cloning a [TemplateVM](/doc/templates/).
|
||||
Unlike TemplateVMs, however, StandaloneVMs do not supply their root filesystems to other VMs.
|
||||
A [StandaloneVM](/doc/glossary/#standalonevm) is a type of VM in Qubes that is created by cloning a [template](/doc/templates/).
|
||||
Unlike templates, however, StandaloneVMs do not supply their root filesystems to other VMs.
|
||||
Examples of situations in which StandaloneVMs can be useful include:
|
||||
|
||||
- VMs used for development (dev environments often require a lot of specific packages and tools)
|
||||
|
@ -31,7 +31,7 @@ You can also use HVMs to run "live" distros.
|
|||
By default, every Qubes VM runs in [PVH](/doc/glossary/#pvhvm) mode (which has security advantages over both PV and HVM) except for those with attached PCI devices, which run in HVM mode.
|
||||
See [here](https://blog.invisiblethings.org/2017/07/31/qubes-40-rc1.html) for a discussion of the switch from PV to HVM and [here](/news/2018/01/11/qsb-37/) for the announcement about the change to using PVH as default.
|
||||
|
||||
The StandaloneVM/TemplateVM distinction and the HVM/PV/PVH distinctions are orthogonal.
|
||||
The StandaloneVM/template distinction and the HVM/PV/PVH distinctions are orthogonal.
|
||||
The former is about root filesystem inheritance, whereas the latter is about the virtualization mode.
|
||||
In practice, however, it is most common for StandaloneVMs to be HVMs and for HVMs to be StandaloneVMs.
|
||||
In fact, this is so common that [StandaloneHVMs](/doc/glossary/#standalonehvm) are typically just called "HVMs."
|
||||
|
@ -130,7 +130,7 @@ There is [opt-in support](/doc/networking/#ipv6) for IPv6 forwarding.
|
|||
|
||||
## Using TemplateBasedHVMs
|
||||
|
||||
Qubes allows HVMs to share a common root filesystem from a select TemplateVM (see [TemplateHVM](/doc/glossary/#templatehvm) and [TemplateBasedHVM](/doc/glossary/#templatebasedhvm)).
|
||||
Qubes allows HVMs to share a common root filesystem from a select template (see [TemplateHVM](/doc/glossary/#templatehvm) and [TemplateBasedHVM](/doc/glossary/#templatebasedhvm)).
|
||||
This mode can be used for any HVM (e.g. FreeBSD running in a HVM).
|
||||
|
||||
In order to create a TemplateHVM you use the following command, suitably adapted:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue