mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2025-11-25 14:06:34 -05:00
Add prompts to all code blocks with bash session
This commit is contained in:
parent
b0395e618c
commit
2d2bcb06a6
72 changed files with 513 additions and 497 deletions
|
|
@ -30,7 +30,7 @@ In this example, we want to make ``/var/lib/tor`` persistent. Enter all of the f
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo mkdir -p /rw/config/qubes-bind-dirs.d
|
||||
$ sudo mkdir -p /rw/config/qubes-bind-dirs.d
|
||||
|
||||
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ In this example, we want to make ``/var/lib/tor`` persistent. Enter all of the f
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo touch /rw/config/qubes-bind-dirs.d/50_user.conf
|
||||
$ sudo touch /rw/config/qubes-bind-dirs.d/50_user.conf
|
||||
|
||||
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ In this example, we want to make ``/var/lib/tor`` persistent. Enter all of the f
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo mkdir -p /rw/bind-dirs/var/lib/tor
|
||||
$ sudo mkdir -p /rw/bind-dirs/var/lib/tor
|
||||
|
||||
|
||||
|
||||
|
|
@ -157,7 +157,7 @@ To use this feature, first, enable it:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-service -e my-app-vm custom-persist
|
||||
$ qvm-service -e my-app-vm custom-persist
|
||||
|
||||
|
||||
|
||||
|
|
@ -165,7 +165,7 @@ Then, configure a persistent directory with ``qvm-features``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features my-app-vm custom-persist.my_persistent_dir /var/my_persistent_dir
|
||||
$ qvm-features my-app-vm custom-persist.my_persistent_dir /var/my_persistent_dir
|
||||
|
||||
|
||||
|
||||
|
|
@ -173,8 +173,8 @@ To re-enable ``/home`` and ``/usr/local`` persistence, just add them to the list
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features my-app-vm custom-persist.home /home
|
||||
qvm-features my-app-vm custom-persist.usrlocal /usr/local
|
||||
$ qvm-features my-app-vm custom-persist.home /home
|
||||
$ qvm-features my-app-vm custom-persist.usrlocal /usr/local
|
||||
|
||||
|
||||
|
||||
|
|
@ -184,8 +184,8 @@ A user may want their bind-dirs to be automatically pre-created in ``/rw/bind-di
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features my-app-vm custom-persist.downloads dir:user:user:0755:/home/user/Downloads
|
||||
qvm-features my-app-vm custom-persist.my_ssh_known_hosts_file file:user:user:0600:/home/user/.ssh/known_hosts
|
||||
$ qvm-features my-app-vm custom-persist.downloads dir:user:user:0755:/home/user/Downloads
|
||||
$ qvm-features my-app-vm custom-persist.my_ssh_known_hosts_file file:user:user:0600:/home/user/.ssh/known_hosts
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -95,11 +95,11 @@ To create one that has no PCI devices attached, such as for ``sys-firewall``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create -C DispVM -l green <SERVICE_QUBE>
|
||||
qvm-prefs <SERVICE_QUBE> autostart true
|
||||
qvm-prefs <SERVICE_QUBE> netvm <NET_QUBE>
|
||||
qvm-prefs <SERVICE_QUBE> provides_network true
|
||||
qvm-features <SERVICE_QUBE> appmenus-dispvm ''
|
||||
$ qvm-create -C DispVM -l green <SERVICE_QUBE>
|
||||
$ qvm-prefs <SERVICE_QUBE> autostart true
|
||||
$ qvm-prefs <SERVICE_QUBE> netvm <NET_QUBE>
|
||||
$ qvm-prefs <SERVICE_QUBE> provides_network true
|
||||
$ qvm-features <SERVICE_QUBE> appmenus-dispvm ''
|
||||
|
||||
|
||||
|
||||
|
|
@ -111,13 +111,13 @@ To create one with a PCI device attached such as for ``sys-net`` or ``sys-usb``,
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create -C DispVM -l red <SERVICE_QUBE>
|
||||
qvm-prefs <SERVICE_QUBE> virt_mode hvm
|
||||
qvm-service <SERVICE_QUBE> meminfo-writer off
|
||||
qvm-pci attach --persistent <SERVICE_QUBE> dom0:<BDF>
|
||||
qvm-prefs <SERVICE_QUBE> autostart true
|
||||
qvm-prefs <SERVICE_QUBE> netvm ''
|
||||
qvm-features <SERVICE_QUBE> appmenus-dispvm ''
|
||||
$ qvm-create -C DispVM -l red <SERVICE_QUBE>
|
||||
$ qvm-prefs <SERVICE_QUBE> virt_mode hvm
|
||||
$ qvm-service <SERVICE_QUBE> meminfo-writer off
|
||||
$ qvm-pci attach --persistent <SERVICE_QUBE> dom0:<BDF>
|
||||
$ qvm-prefs <SERVICE_QUBE> autostart true
|
||||
$ qvm-prefs <SERVICE_QUBE> netvm ''
|
||||
$ qvm-features <SERVICE_QUBE> appmenus-dispvm ''
|
||||
|
||||
|
||||
|
||||
|
|
@ -125,7 +125,7 @@ Optionally, if this disposable will also provide network access to other qubes:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <SERVICE_QUBE> provides_network true
|
||||
$ qvm-prefs <SERVICE_QUBE> provides_network true
|
||||
|
||||
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ Next, set the old service qube’s autostart to false, and update any references
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs sys-firewall netvm <SERVICE_QUBE>
|
||||
$ qvm-prefs sys-firewall netvm <SERVICE_QUBE>
|
||||
|
||||
|
||||
|
||||
|
|
@ -143,17 +143,17 @@ Here is an example of a complete ``sys-net`` replacement:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create -C DispVM -l red sys-net2
|
||||
qvm-prefs sys-net2 virt_mode hvm
|
||||
qvm-service sys-net2 meminfo-writer off
|
||||
qvm-pci attach --persistent sys-net2 dom0:00_1a.0
|
||||
qvm-prefs sys-net2 autostart true
|
||||
qvm-prefs sys-net2 netvm ''
|
||||
qvm-features sys-net2 appmenus-dispvm ''
|
||||
qvm-prefs sys-net2 provides_network true
|
||||
qvm-prefs sys-net autostart false
|
||||
qvm-prefs sys-firewall netvm sys-net2
|
||||
qubes-prefs clockvm sys-net2
|
||||
$ qvm-create -C DispVM -l red sys-net2
|
||||
$ qvm-prefs sys-net2 virt_mode hvm
|
||||
$ qvm-service sys-net2 meminfo-writer off
|
||||
$ qvm-pci attach --persistent sys-net2 dom0:00_1a.0
|
||||
$ qvm-prefs sys-net2 autostart true
|
||||
$ qvm-prefs sys-net2 netvm ''
|
||||
$ qvm-features sys-net2 appmenus-dispvm ''
|
||||
$ qvm-prefs sys-net2 provides_network true
|
||||
$ qvm-prefs sys-net autostart false
|
||||
$ qvm-prefs sys-firewall netvm sys-net2
|
||||
$ qubes-prefs clockvm sys-net2
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ To increase the minimum size of the video RAM buffer:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features dom0 gui-videoram-min $(($WIDTH * $HEIGHT * 4 / 1024))
|
||||
qvm-features dom0 gui-videoram-overhead 0
|
||||
$ qvm-features dom0 gui-videoram-min $(($WIDTH * $HEIGHT * 4 / 1024))
|
||||
$ qvm-features dom0 gui-videoram-overhead 0
|
||||
|
||||
|
||||
Where ``$WIDTH`` × ``$HEIGHT`` is the maximum desktop size that you anticipate needing. For example, if you expect to use a 1080p display and a 4k display side-by-side, that is ``(1920 + 3840) × 2160 × 4 / 1024 = 48600``, or slightly more than 48 MiB per qube. After making these adjustments, the qubes need to be restarted.
|
||||
|
|
@ -26,7 +26,7 @@ In the case of multiple display with different orientations or if you plug/unplu
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features dom0 gui-videoram-min $(xrandr --verbose | grep "Screen 0" | sed -e 's/.*current //' -e 's/\,.*//' | awk '{print $1*$3*4/1024}')
|
||||
$ qvm-features dom0 gui-videoram-min $(xrandr --verbose | grep "Screen 0" | sed -e 's/.*current //' -e 's/\,.*//' | awk '{print $1*$3*4/1024}')
|
||||
|
||||
|
||||
The amount of memory allocated per qube is the maximum of:
|
||||
|
|
|
|||
|
|
@ -22,22 +22,22 @@ In ``dom0``, enable the formula for ``sys-gui`` with pillar data:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl top.enable qvm.sys-gui
|
||||
sudo qubesctl top.enable qvm.sys-gui pillar=True
|
||||
$ sudo qubesctl top.enable qvm.sys-gui
|
||||
$ sudo qubesctl top.enable qvm.sys-gui pillar=True
|
||||
|
||||
|
||||
then, execute it:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl --all state.highstate
|
||||
$ sudo qubesctl --all state.highstate
|
||||
|
||||
|
||||
You can now disable the ``sys-gui`` formula:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl top.disable qvm.sys-gui
|
||||
$ sudo qubesctl top.disable qvm.sys-gui
|
||||
|
||||
|
||||
At this point, you need to shutdown all your running qubes as the ``default_guivm`` qubes global property has been set to ``sys-gui``. In order to use ``sys-gui`` as GUI domain, you need to logout and, in the top right corner, select ``lightdm`` session type to **GUI domain (sys-gui)**. Once logged, you are running ``sys-gui`` as fullscreen window and you can perform any operation as if you would be in ``dom0`` desktop.
|
||||
|
|
@ -58,29 +58,29 @@ In ``dom0``, enable the formula for ``sys-gui-gpu`` with pillar data:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl top.enable qvm.sys-gui-gpu
|
||||
sudo qubesctl top.enable qvm.sys-gui-gpu pillar=True
|
||||
$ sudo qubesctl top.enable qvm.sys-gui-gpu
|
||||
$ sudo qubesctl top.enable qvm.sys-gui-gpu pillar=True
|
||||
|
||||
|
||||
then, execute it:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl --all state.highstate
|
||||
$ sudo qubesctl --all state.highstate
|
||||
|
||||
|
||||
You can now disable the ``sys-gui-gpu`` formula:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl top.disable qvm.sys-gui-gpu
|
||||
$ sudo qubesctl top.disable qvm.sys-gui-gpu
|
||||
|
||||
|
||||
One more step is needed: attaching the actual GPU to ``sys-gui-gpu``. This can be done either manually via ``qvm-pci`` (remember to enable permissive option), or via:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl state.sls qvm.sys-gui-gpu-attach-gpu
|
||||
$ sudo qubesctl state.sls qvm.sys-gui-gpu-attach-gpu
|
||||
|
||||
|
||||
The latter option assumes Intel graphics card (it has hardcoded PCI address). If you don’t have Intel graphics card, please use the former method with ``qvm-pci`` (see :doc:`How to use PCI devices </user/how-to-guides/how-to-use-pci-devices>`).
|
||||
|
|
@ -105,29 +105,29 @@ In ``dom0``, enable the formula for ``sys-gui-vnc`` with pillar data:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl top.enable qvm.sys-gui-vnc
|
||||
sudo qubesctl top.enable qvm.sys-gui-vnc pillar=True
|
||||
$ sudo qubesctl top.enable qvm.sys-gui-vnc
|
||||
$ sudo qubesctl top.enable qvm.sys-gui-vnc pillar=True
|
||||
|
||||
|
||||
then, execute it:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl --all state.highstate
|
||||
$ sudo qubesctl --all state.highstate
|
||||
|
||||
|
||||
You can now disable the ``sys-gui-vnc`` formula:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl top.disable qvm.sys-gui-vnc
|
||||
$ sudo qubesctl top.disable qvm.sys-gui-vnc
|
||||
|
||||
|
||||
At this point, you need to shutdown all your running qubes as the ``default_guivm`` qubes global property has been set to ``sys-gui-vnc``. Then, you can start ``sys-gui-vnc``:
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-start sys-gui-vnc
|
||||
$ qvm-start sys-gui-vnc
|
||||
|
||||
|
||||
A VNC server session is running on ``localhost:5900`` in ``sys-gui-vnc``. In order to reach the ``VNC`` server, we encourage to not connect ``sys-gui-vnc`` to a ``NetVM`` but rather to use another qube for remote access, say ``sys-remote``. First, you need to bind port 5900 of ``sys-gui-vnc`` into a ``sys-remote`` local port (you may want to use another port than 5900 to reach ``sys-remote`` from the outside). For that, use ``qubes.ConnectTCP`` RPC service (see :doc:`Firewall </user/security-in-qubes/firewall>`. Then, you can use any ``VNC`` client to connect to you ``sys-remote`` on the chosen local port (5900 if you kept the default one). For the first connection, you will reach ``lightdm`` for which you can log as ``user`` where ``user`` refers to the first ``dom0`` user in ``qubes`` group and with corresponding ``dom0`` password.
|
||||
|
|
@ -195,14 +195,14 @@ and for every selected qubes not using default value for GUI domain property, fo
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs personal guivm dom0
|
||||
$ qvm-prefs personal guivm dom0
|
||||
|
||||
|
||||
You are now able to delete the GUI domain, for example ``sys-gui-gpu``:
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-remove -f sys-gui-gpu
|
||||
$ qvm-remove -f sys-gui-gpu
|
||||
|
||||
|
||||
.. |sys-gui| image:: /attachment/posts/guivm-hybrid.png
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ To downgrade a specific package in dom0:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --action=downgrade package-version
|
||||
$ sudo qubes-dom0-update --action=downgrade package-version
|
||||
|
||||
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ To re-install a package in dom0:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --action=reinstall package
|
||||
$ sudo qubes-dom0-update --action=reinstall package
|
||||
|
||||
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ If you’ve installed a package such as anti-evil-maid, you can remove it with t
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf remove anti-evil-maid
|
||||
$ sudo dnf remove anti-evil-maid
|
||||
|
||||
|
||||
|
||||
|
|
@ -96,9 +96,9 @@ To temporarily enable any of these repos, use the ``--enablerepo=<repo-name>`` o
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing
|
||||
sudo qubes-dom0-update --enablerepo=qubes-dom0-security-testing
|
||||
sudo qubes-dom0-update --enablerepo=qubes-dom0-unstable
|
||||
$ sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing
|
||||
$ sudo qubes-dom0-update --enablerepo=qubes-dom0-security-testing
|
||||
$ sudo qubes-dom0-update --enablerepo=qubes-dom0-unstable
|
||||
|
||||
|
||||
|
||||
|
|
@ -154,7 +154,7 @@ Example
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --enablerepo=qubes-dom0-unstable kernel kernel-qubes-vm
|
||||
$ sudo qubes-dom0-update --enablerepo=qubes-dom0-unstable kernel kernel-qubes-vm
|
||||
|
||||
|
||||
|
||||
|
|
@ -168,7 +168,7 @@ Replace the example version numbers with the one you are upgrading to.
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dracut -f /boot/efi/EFI/qubes/initramfs-4.14.35-1.pvops.qubes.x86_64.img 4.14.35-1.pvops.qubes.x86_64
|
||||
$ sudo dracut -f /boot/efi/EFI/qubes/initramfs-4.14.35-1.pvops.qubes.x86_64.img 4.14.35-1.pvops.qubes.x86_64
|
||||
|
||||
|
||||
|
||||
|
|
@ -178,7 +178,7 @@ Grub2
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
|
||||
|
||||
|
||||
|
|
@ -192,14 +192,25 @@ Changing default kernel
|
|||
|
||||
This section describes changing the default kernel in dom0. It is sometimes needed if you have upgraded to a newer kernel and are having problems booting, for example. On the next kernel update, the default will revert to the newest.
|
||||
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo nano /etc/default/grub
|
||||
[update the following two lines, add if needed]
|
||||
$ sudo nano /etc/default/grub
|
||||
|
||||
|
||||
Update the following two lines, add if needed:
|
||||
|
||||
.. code:: bash
|
||||
|
||||
GRUB_DISABLE_SUBMENU=false
|
||||
GRUB_SAVEDEFAULT=true
|
||||
[save and exit nano]
|
||||
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
|
||||
|
||||
Save and exit nano. Regenerate the GRUB 2 configuration.
|
||||
|
||||
.. code:: console
|
||||
|
||||
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ In dom0, use ``qubes-dom0-update``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-repo-contrib
|
||||
$ sudo qubes-dom0-update qubes-repo-contrib
|
||||
|
||||
|
||||
In a Fedora-based template, use ``dnf``:
|
||||
|
|
@ -31,7 +31,7 @@ In a Fedora-based template, use ``dnf``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf install qubes-repo-contrib
|
||||
$ sudo dnf install qubes-repo-contrib
|
||||
|
||||
|
||||
In a Debian-based template, use ``apt``:
|
||||
|
|
@ -40,7 +40,7 @@ In a Debian-based template, use ``apt``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt update && sudo apt install qubes-repo-contrib
|
||||
$ 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 template. For example, in a Fedora template on Qubes 4.0, the new repository definition would be:
|
||||
|
|
@ -65,7 +65,7 @@ For example, to install ``qvm-screenshot-tool`` in dom0:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --clean qvm-screenshot-tool
|
||||
$ sudo qubes-dom0-update --clean qvm-screenshot-tool
|
||||
|
||||
|
||||
Please see the package’s README for specific installation and setup instructions.
|
||||
|
|
|
|||
|
|
@ -117,6 +117,6 @@ The safest way to remove (most of) KDE is:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf remove kdelibs plasma-workspace
|
||||
$ sudo dnf remove kdelibs plasma-workspace
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -246,8 +246,8 @@ Both debian-9 and fedora-26 templates already have grub and related tools preins
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <clonetemplatename> virt_mode hvm
|
||||
qvm-prefs <clonetemplatename> kernel ''
|
||||
$ qvm-prefs <clonetemplatename> virt_mode hvm
|
||||
$ qvm-prefs <clonetemplatename> kernel ''
|
||||
|
||||
|
||||
|
||||
|
|
@ -263,7 +263,7 @@ If you are using a distribution kernel package (``kernel`` package), the initram
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dracut -f /boot/initramfs-4.15.14-200.fc26.x86_64.img 4.15.14-200.fc26.x86_64
|
||||
$ sudo dracut -f /boot/initramfs-4.15.14-200.fc26.x86_64.img 4.15.14-200.fc26.x86_64
|
||||
|
||||
|
||||
|
||||
|
|
@ -271,7 +271,7 @@ Once the kernel is installed, you need to setup ``grub2`` by running:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo grub2-install /dev/xvda
|
||||
$ sudo grub2-install /dev/xvda
|
||||
|
||||
|
||||
|
||||
|
|
@ -279,7 +279,7 @@ Finally, you need to create a GRUB configuration. You may want to adjust some se
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
|
||||
|
||||
|
||||
|
|
@ -321,7 +321,7 @@ Install distribution kernel image, kernel headers and the grub.
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt install linux-image-amd64 linux-headers-amd64 grub2 qubes-kernel-vm-support
|
||||
$ sudo apt install linux-image-amd64 linux-headers-amd64 grub2 qubes-kernel-vm-support
|
||||
|
||||
|
||||
|
||||
|
|
@ -329,7 +329,7 @@ If you are doing that on a qube based on “Debian Minimal” template, a grub g
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo grub-install /dev/xvda
|
||||
$ sudo grub-install /dev/xvda
|
||||
|
||||
|
||||
|
||||
|
|
@ -383,7 +383,7 @@ Run DKMS. Replace this with actual kernel version.
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dkms autoinstall -k <kernel-version>
|
||||
$ sudo dkms autoinstall -k <kernel-version>
|
||||
|
||||
|
||||
For example.
|
||||
|
|
@ -392,7 +392,7 @@ For example.
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dkms autoinstall -k 4.19.0-6-amd64
|
||||
$ sudo dkms autoinstall -k 4.19.0-6-amd64
|
||||
|
||||
|
||||
Update initramfs.
|
||||
|
|
@ -401,7 +401,7 @@ Update initramfs.
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo update-initramfs -u
|
||||
$ sudo update-initramfs -u
|
||||
|
||||
|
||||
The output should look like this:
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ Use either GUI tool Qube Settings (``qubes-vm-settings``) or the CLI tool ``qvm-
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-volume extend <vm_name>:root <size>
|
||||
$ qvm-volume extend <vm_name>:root <size>
|
||||
|
||||
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ OR
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-volume extend <vm_name>:private <size>
|
||||
$ qvm-volume extend <vm_name>:private <size>
|
||||
|
||||
|
||||
|
||||
|
|
@ -117,8 +117,8 @@ Or you can take the risk of reducing the size of the disk. For example, to reduc
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-shutdown qube1
|
||||
sudo lvresize --size 1024M /dev/qubes_dom0/vm-qube1-private
|
||||
$ qvm-shutdown qube1
|
||||
$ sudo lvresize --size 1024M /dev/qubes_dom0/vm-qube1-private
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ You can query qvm-pool to list available storage drivers:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pool --help-drivers
|
||||
$ qvm-pool --help-drivers
|
||||
|
||||
|
||||
qvm-pool driver explanation:
|
||||
|
|
@ -50,8 +50,8 @@ First, collect some information in a dom0 terminal:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo pvs
|
||||
sudo lvs
|
||||
$ sudo pvs
|
||||
$ sudo lvs
|
||||
|
||||
|
||||
Take note of the VG and thin pool names for your second drive., then register it with Qubes:
|
||||
|
|
@ -61,7 +61,7 @@ Take note of the VG and thin pool names for your second drive., then register it
|
|||
# <pool_name> is a freely chosen pool name
|
||||
# <vg_name> is LVM volume group name
|
||||
# <thin_pool_name> is LVM thin pool name
|
||||
qvm-pool --add <pool_name> lvm_thin -o volume_group=<vg_name>,thin_pool=<thin_pool_name>,revisions_to_keep=2
|
||||
$ qvm-pool --add <pool_name> lvm_thin -o volume_group=<vg_name>,thin_pool=<thin_pool_name>,revisions_to_keep=2
|
||||
|
||||
|
||||
|
||||
|
|
@ -85,7 +85,7 @@ To register the storage to qubes:
|
|||
|
||||
# <pool_name> is a freely chosen pool name
|
||||
# <dir_path> is the mounted path to the second btrfs storage
|
||||
qvm-pool --add <pool_name> file-reflink -o dir_path=<dir_path>,revisions_to_keep=2
|
||||
$ qvm-pool --add <pool_name> file-reflink -o dir_path=<dir_path>,revisions_to_keep=2
|
||||
|
||||
|
||||
Using the new pool
|
||||
|
|
@ -96,22 +96,22 @@ Now, you can create qubes in that pool:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create -P <pool_name> --label red <vmname>
|
||||
$ qvm-create -P <pool_name> --label red <vmname>
|
||||
|
||||
|
||||
It isn’t possible to directly migrate an existing qube to the new pool, but you can clone it there, then remove the old one:
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-clone -P <pool_name> <sourceVMname> <cloneVMname>
|
||||
qvm-remove <sourceVMname>
|
||||
$ qvm-clone -P <pool_name> <sourceVMname> <cloneVMname>
|
||||
$ qvm-remove <sourceVMname>
|
||||
|
||||
|
||||
If that was a template, or other qube referenced elsewhere (netVM or such), you will need to adjust those references manually after moving. For example:
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <appvmname_based_on_old_template> template <new_template_name>
|
||||
$ qvm-prefs <appvmname_based_on_old_template> template <new_template_name>
|
||||
|
||||
|
||||
Example setup of second drive.
|
||||
|
|
@ -122,8 +122,8 @@ Assuming the secondary hard disk is at /dev/sdb , you can encrypt the drive as f
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo cryptsetup luksFormat --sector-size=512 /dev/sdb
|
||||
sudo blkid /dev/sdb
|
||||
$ sudo cryptsetup luksFormat --sector-size=512 /dev/sdb
|
||||
$ sudo blkid /dev/sdb
|
||||
|
||||
|
||||
|
||||
|
|
@ -146,28 +146,28 @@ First create the physical volume:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo pvcreate /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde
|
||||
$ sudo pvcreate /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde
|
||||
|
||||
|
||||
Then create the LVM volume group, we will use for example “qubes” as the :
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo vgcreate qubes /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde
|
||||
$ sudo vgcreate qubes /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde
|
||||
|
||||
|
||||
And then use “poolhd0” as the (LVM thin pool name):
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo lvcreate -T -n poolhd0 -l +100%FREE qubes
|
||||
$ sudo lvcreate -T -n poolhd0 -l +100%FREE qubes
|
||||
|
||||
|
||||
Finally we will tell Qubes to add a new pool on the just created thin pool:
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-pool --add poolhd0_qubes lvm_thin -o volume_group=qubes,thin_pool=poolhd0,revisions_to_keep=2
|
||||
$ qvm-pool --add poolhd0_qubes lvm_thin -o volume_group=qubes,thin_pool=poolhd0,revisions_to_keep=2
|
||||
|
||||
|
||||
For Btrfs
|
||||
|
|
@ -179,22 +179,22 @@ First create the physical volume:
|
|||
.. code:: console
|
||||
|
||||
# <label> Btrfs Label
|
||||
sudo mkfs.btrfs -L <label> /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde
|
||||
$ sudo mkfs.btrfs -L <label> /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde
|
||||
|
||||
|
||||
Then mount the new Btrfs to a temporary path:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo mkdir -p /mnt/new_qube_storage
|
||||
sudo mount /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde /mnt/new_qube_storage
|
||||
$ sudo mkdir -p /mnt/new_qube_storage
|
||||
$ sudo mount /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde /mnt/new_qube_storage
|
||||
|
||||
|
||||
Create a subvolume to hold the data:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo btrfs subvolume create /mnt/new_qube_storage/qubes
|
||||
$ sudo btrfs subvolume create /mnt/new_qube_storage/qubes
|
||||
|
||||
|
||||
|
||||
|
|
@ -202,8 +202,8 @@ Unmount the temporary Btrfs filesystem:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo umount /mnt/new_qube_storage
|
||||
rmdir /mnt/new_qube_storage
|
||||
$ sudo umount /mnt/new_qube_storage
|
||||
$ rmdir /mnt/new_qube_storage
|
||||
|
||||
|
||||
Mount the subvolume with compression enabled if desired:
|
||||
|
|
@ -212,21 +212,21 @@ Mount the subvolume with compression enabled if desired:
|
|||
|
||||
# <compression> zlib|lzo|zstd
|
||||
# <subvol> btrfs subvolume "qubes" in this example
|
||||
sudo mount /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde /var/lib/qubes_newpool -o compress=<compression>,subvol=qubes
|
||||
$ sudo mount /dev/mapper/luks-b20975aa-8318-433d-8508-6c23982c6cde /var/lib/qubes_newpool -o compress=<compression>,subvol=qubes
|
||||
|
||||
|
||||
Finally we will tell Qubes to add a new pool on the just created Btrfs subvolume:
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-pool --add poolhd0_qubes file-reflink -o dir_path=/var/lib/qubes_newpool,revisions_to_keep=2
|
||||
$ qvm-pool --add poolhd0_qubes file-reflink -o dir_path=/var/lib/qubes_newpool,revisions_to_keep=2
|
||||
|
||||
|
||||
By default VMs will be created on the main Qubes disk (i.e. a small SSD), to create them on this secondary drive do the following on a dom0 terminal:
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-create -P poolhd0_qubes --label red unstrusted-hdd
|
||||
$ qvm-create -P poolhd0_qubes --label red unstrusted-hdd
|
||||
|
||||
|
||||
Verify that corresponding lines were added to /etc/fstab and /etc/cryptab to enable auto mounting of the new pool.
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ Alternatively, to create an empty standalone from the dom0 command line:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class StandaloneVM --label <YOUR_COLOR> --property virt_mode=hvm <NEW_STANDALONE_NAME>
|
||||
$ qvm-create --class StandaloneVM --label <YOUR_COLOR> --property virt_mode=hvm <NEW_STANDALONE_NAME>
|
||||
|
||||
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ Or to create a standalone copied from a template:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class StandaloneVM --label <YOUR_COLOR> --property virt_mode=hvm --template <TEMPLATE_QUBE_NAME> <NEW_STANDALONE_NAME>
|
||||
$ qvm-create --class StandaloneVM --label <YOUR_COLOR> --property virt_mode=hvm --template <TEMPLATE_QUBE_NAME> <NEW_STANDALONE_NAME>
|
||||
|
||||
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ Qubes are template-based (i.e., :ref:`app qubes <user/reference/glossary:app qub
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create my-new-vm --class StandaloneVM --property virt_mode=hvm --property kernel='' --label=green
|
||||
$ qvm-create my-new-vm --class StandaloneVM --property virt_mode=hvm --property kernel='' --label=green
|
||||
|
||||
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ You will have to boot the qube with the installation media “attached” to it.
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start <YOUR_HVM> --cdrom=/dev/cdrom
|
||||
$ qvm-start <YOUR_HVM> --cdrom=/dev/cdrom
|
||||
|
||||
|
||||
|
||||
|
|
@ -122,7 +122,7 @@ You will have to boot the qube with the installation media “attached” to it.
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start <YOUR_HVM> --cdrom=dom0:/usr/local/iso/<YOUR_INSTALLER.ISO>
|
||||
$ qvm-start <YOUR_HVM> --cdrom=dom0:/usr/local/iso/<YOUR_INSTALLER.ISO>
|
||||
|
||||
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ You will have to boot the qube with the installation media “attached” to it.
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start <YOUR_HVM> --cdrom=<YOUR_OTHER_QUBE>:/home/user/<YOUR_INSTALLER.ISO>
|
||||
$ qvm-start <YOUR_HVM> --cdrom=<YOUR_OTHER_QUBE>:/home/user/<YOUR_INSTALLER.ISO>
|
||||
|
||||
|
||||
|
||||
|
|
@ -201,7 +201,7 @@ In order to create an HVM template, you use the following command, suitably adap
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class TemplateVM <YOUR_HVM_TEMPLATE_NAME> --property virt_mode=HVM --property kernel='' -l <YOUR_COLOR>
|
||||
$ qvm-create --class TemplateVM <YOUR_HVM_TEMPLATE_NAME> --property virt_mode=HVM --property kernel='' -l <YOUR_COLOR>
|
||||
|
||||
|
||||
|
||||
|
|
@ -377,7 +377,7 @@ In a Debian app qube, install ``qemu-utils`` and ``unzip``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt install qemu-utils unzip
|
||||
$ sudo apt install qemu-utils unzip
|
||||
|
||||
|
||||
|
||||
|
|
@ -385,7 +385,7 @@ In a Fedora app qube:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf install qemu-img
|
||||
$ sudo dnf install qemu-img
|
||||
|
||||
|
||||
|
||||
|
|
@ -417,7 +417,7 @@ Copy the root image file from the originating qube (here called ``untrusted``) t
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-run --pass-io untrusted 'cat "/media/user/externalhd/win10.raw"' > /home/user/win10-root.img
|
||||
$ qvm-run --pass-io untrusted 'cat "/media/user/externalhd/win10.raw"' > /home/user/win10-root.img
|
||||
|
||||
|
||||
|
||||
|
|
@ -425,7 +425,7 @@ From within dom0, create a new HVM (here called ``win10``) with the root image w
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --property=virt_mode=hvm --property=memory=4096 --property=kernel='' --label red --standalone --root-move-from /home/user/win10-root.img win10
|
||||
$ qvm-create --property=virt_mode=hvm --property=memory=4096 --property=kernel='' --label red --standalone --root-move-from /home/user/win10-root.img win10
|
||||
|
||||
|
||||
|
||||
|
|
@ -433,7 +433,7 @@ Start ``win10``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start win10
|
||||
$ qvm-start win10
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ First, make sure you have the latest ``qubes-mgmt-salt-dom0-virtual-machines`` p
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl state.sls qvm.usb-keyboard
|
||||
$ sudo qubesctl state.sls qvm.usb-keyboard
|
||||
|
||||
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ You can create a USB qube using the management stack by executing the following
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubesctl state.sls qvm.sys-usb
|
||||
$ sudo qubesctl state.sls qvm.sys-usb
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ For the private volume associated with a VM named *vmname*, you may inspect the
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-volume info vmname:private
|
||||
$ qvm-volume info vmname:private
|
||||
|
||||
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ The output of the above command will also display the “Available revisions (fo
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-volume config vmname:private revisions_to_keep 2
|
||||
$ qvm-volume config vmname:private revisions_to_keep 2
|
||||
|
||||
|
||||
|
||||
|
|
@ -30,6 +30,6 @@ With the VM stopped, you may revert to an older snapshot of the private volume f
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-volume revert vmname:private <revision>
|
||||
$ qvm-volume revert vmname:private <revision>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -64,8 +64,8 @@ To temporarily enable any of these repos, use the ``--enablerepo=<repo-name>`` o
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-template --enablerepo=qubes-templates-itl-testing list --available
|
||||
qvm-template --enablerepo=qubes-templates-itl-testing install <template_name>
|
||||
$ qvm-template --enablerepo=qubes-templates-itl-testing list --available
|
||||
$ qvm-template --enablerepo=qubes-templates-itl-testing install <template_name>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ Note that dom0 in R2 is based on Fedora 20, in contrast to Fedora 18 in previous
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update
|
||||
$ sudo qubes-dom0-update
|
||||
|
||||
|
||||
|
||||
|
|
@ -51,8 +51,8 @@ After this step you should have ``qubes-release-2-5`` in your Dom0. Important: i
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-dom0-dist-upgrade
|
||||
sudo qubes-dom0-update
|
||||
$ sudo qubes-dom0-update qubes-dom0-dist-upgrade
|
||||
$ sudo qubes-dom0-update
|
||||
|
||||
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ After this step you should have ``qubes-release-2-5`` in your Dom0. Important: i
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-template-fedora-20-x64
|
||||
$ sudo qubes-dom0-update qubes-template-fedora-20-x64
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ By default, in Qubes R1, there is only one template, however users are free to c
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum install qubes-upgrade-vm
|
||||
$ sudo yum install qubes-upgrade-vm
|
||||
|
||||
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ By default, in Qubes R1, there is only one template, however users are free to c
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum update
|
||||
$ sudo yum update
|
||||
|
||||
|
||||
The installer (yum) will prompt to accept the new Qubes R2 signing key:
|
||||
|
|
@ -72,7 +72,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-release
|
||||
$ sudo qubes-dom0-update qubes-release
|
||||
|
||||
|
||||
This should install ``qubes-release-1-6`` in your Dom0.
|
||||
|
|
@ -81,7 +81,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --releasever=2
|
||||
$ sudo qubes-dom0-update --releasever=2
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ By default, in Qubes R1, there is only one template, however users are free to c
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum install qubes-upgrade-vm
|
||||
$ sudo yum install qubes-upgrade-vm
|
||||
|
||||
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ By default, in Qubes R1, there is only one template, however users are free to c
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum update
|
||||
$ sudo yum update
|
||||
|
||||
|
||||
The installer (yum) will prompt to accept the new Qubes R2 signing key:
|
||||
|
|
@ -88,7 +88,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-release
|
||||
$ sudo qubes-dom0-update qubes-release
|
||||
|
||||
|
||||
This should install ``qubes-release-1-6`` in your Dom0.
|
||||
|
|
@ -97,7 +97,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --releasever=1 qubes-dist-upgrade
|
||||
$ sudo qubes-dom0-update --releasever=1 qubes-dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -105,7 +105,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dist-upgrade
|
||||
$ sudo qubes-dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -117,7 +117,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dist-upgrade
|
||||
$ sudo qubes-dist-upgrade
|
||||
|
||||
|
||||
again. This will start second stage of upgrade, here most packages will be upgraded, so this will take a while.
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ It is critical to complete this step **before** proceeding to dom0 upgrade. Othe
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum update
|
||||
$ sudo yum update
|
||||
|
||||
|
||||
|
||||
|
|
@ -39,7 +39,7 @@ It is critical to complete this step **before** proceeding to dom0 upgrade. Othe
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum --enablerepo=qubes-vm-r2b3-current update
|
||||
$ sudo yum --enablerepo=qubes-vm-r2b3-current update
|
||||
|
||||
|
||||
|
||||
|
|
@ -59,7 +59,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-release
|
||||
$ sudo qubes-dom0-update qubes-release
|
||||
|
||||
|
||||
This should install ``qubes-release-2-3.1`` in your Dom0.
|
||||
|
|
@ -68,7 +68,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --enablerepo=qubes-dom0-r2b3-current
|
||||
$ sudo qubes-dom0-update --enablerepo=qubes-dom0-r2b3-current
|
||||
|
||||
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-shutdown --all --wait
|
||||
$ qvm-shutdown --all --wait
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Upgrade Fedora template:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum install qubes-upgrade-vm
|
||||
$ sudo yum install qubes-upgrade-vm
|
||||
|
||||
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ Upgrade Fedora template:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum update
|
||||
$ sudo yum update
|
||||
|
||||
|
||||
You’ll need to accept “Qubes Release 3 Signing Key” - it is delivered by signed qubes-upgrade-vm package (verify that the message is about local file), so you don’t need to manually verify it.
|
||||
|
|
@ -56,9 +56,8 @@ Upgrade Debian template:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo cp /etc/apt/sources.list.d/qubes-r2.list
|
||||
/etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
sudo sed -i 's/r2/r3.0/' /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
$ sudo cp /etc/apt/sources.list.d/qubes-r2.list /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
$ sudo sed -i 's/r2/r3.0/' /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
|
||||
|
||||
|
||||
|
|
@ -66,8 +65,8 @@ Upgrade Debian template:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get dist-upgrade
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get dist-upgrade
|
||||
|
||||
|
||||
There will be some error messages during the process, but our tests does not revealed any negative consequences. Update of ``qubesdb-vm`` package will restart the service, which will fail (after 3min timeout), but you can ignore this problem for now. After completing the whole upgrade the service will be properly restarted.
|
||||
|
|
@ -88,7 +87,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-release
|
||||
$ sudo qubes-dom0-update qubes-release
|
||||
|
||||
|
||||
This should install ``qubes-release-2-12`` in your Dom0.
|
||||
|
|
@ -97,7 +96,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --releasever=3.0
|
||||
$ sudo qubes-dom0-update --releasever=3.0
|
||||
|
||||
|
||||
After this step, until you reboot the system, most of the qvm-* tools will not work.
|
||||
|
|
@ -108,7 +107,7 @@ Be sure to do steps described in this section after *all* your template and stan
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo systemctl enable xenconsoled.service xenstored.service
|
||||
$ sudo systemctl enable xenconsoled.service xenstored.service
|
||||
|
||||
|
||||
|
||||
|
|
@ -126,7 +125,7 @@ Now, when you have dom0 upgraded, you can install new templates from Qubes R3.0
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-template-fedora-21
|
||||
$ sudo qubes-dom0-update qubes-template-fedora-21
|
||||
|
||||
|
||||
|
||||
|
|
@ -186,10 +185,10 @@ Because of above limitations, you will need to configure some of those manually.
|
|||
|
||||
.. code:: console
|
||||
|
||||
ip addr add 10.137.1.53/32 dev eth0
|
||||
ip route add 10.137.1.1/32 dev eth0
|
||||
ip route add via 10.137.1.1
|
||||
echo nameserver 10.137.1.1 > /etc/resolv.conf
|
||||
$ ip addr add 10.137.1.53/32 dev eth0
|
||||
$ ip route add 10.137.1.1/32 dev eth0
|
||||
$ ip route add via 10.137.1.1
|
||||
$ echo nameserver 10.137.1.1 > /etc/resolv.conf
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Upgrade Fedora templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum install qubes-upgrade-vm
|
||||
$ sudo yum install qubes-upgrade-vm
|
||||
|
||||
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ Upgrade Fedora templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo yum upgrade
|
||||
$ sudo yum upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -49,8 +49,8 @@ Upgrade Debian (and Whonix) templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo cp /etc/apt/sources.list.d/qubes-r3.list /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
sudo sed -i 's/r3.0/r3.1/' /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
$ sudo cp /etc/apt/sources.list.d/qubes-r3.list /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
$ sudo sed -i 's/r3.0/r3.1/' /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
|
||||
|
||||
|
||||
|
|
@ -58,8 +58,8 @@ Upgrade Debian (and Whonix) templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get dist-upgrade
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -67,7 +67,7 @@ Upgrade Debian (and Whonix) templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo rm -f /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
$ sudo rm -f /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
|
||||
|
||||
|
||||
|
|
@ -87,7 +87,7 @@ Upgrading dom0
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --releasever=3.1
|
||||
$ sudo qubes-dom0-update --releasever=3.1
|
||||
|
||||
|
||||
At this point, most of the ``qvm-*`` tools will stop working until after you reboot the system.
|
||||
|
|
@ -110,6 +110,6 @@ Once you have upgraded dom0, you can install new templates from Qubes R3.1 repos
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-template-fedora-23
|
||||
$ sudo qubes-dom0-update qubes-template-fedora-23
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ Upgrading dom0
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --releasever=3.2 qubes-release
|
||||
$ sudo qubes-dom0-update --releasever=3.2 qubes-release
|
||||
|
||||
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ Upgrading dom0
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update systemd-compat-libs perl-libwww-perl perl-Term-ANSIColor perl-Term-Cap gdk-pixbuf2-xlib speexdsp qubes-mgmt-salt-admin-tools lvm2
|
||||
$ sudo qubes-dom0-update systemd-compat-libs perl-libwww-perl perl-Term-ANSIColor perl-Term-Cap gdk-pixbuf2-xlib speexdsp qubes-mgmt-salt-admin-tools lvm2
|
||||
(...)
|
||||
Transaction Summary
|
||||
===============================================================
|
||||
|
|
@ -50,7 +50,7 @@ Upgrading dom0
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update
|
||||
$ sudo qubes-dom0-update
|
||||
|
||||
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ Upgrade Fedora templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf install --refresh qubes-upgrade-vm
|
||||
$ sudo dnf install --refresh qubes-upgrade-vm
|
||||
|
||||
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ Upgrade Fedora templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf upgrade --refresh
|
||||
$ sudo dnf upgrade --refresh
|
||||
|
||||
|
||||
|
||||
|
|
@ -134,7 +134,7 @@ Upgrade Fedora templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf install qubes-mgmt-salt-vm-connector
|
||||
$ sudo dnf install qubes-mgmt-salt-vm-connector
|
||||
|
||||
|
||||
|
||||
|
|
@ -152,8 +152,8 @@ Upgrade Debian (and Whonix) templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo cp /etc/apt/sources.list.d/qubes-r3.list /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
sudo sed -i 's/r3.1/r3.2/' /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
$ sudo cp /etc/apt/sources.list.d/qubes-r3.list /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
$ sudo sed -i 's/r3.1/r3.2/' /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
|
||||
|
||||
|
||||
|
|
@ -161,8 +161,8 @@ Upgrade Debian (and Whonix) templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt-get dist-upgrade
|
||||
$ sudo apt-get update
|
||||
$ sudo apt-get dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ Upgrade Debian (and Whonix) templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-get install qubes-mgmt-salt-vm-connector
|
||||
$ sudo apt-get install qubes-mgmt-salt-vm-connector
|
||||
|
||||
|
||||
|
||||
|
|
@ -178,7 +178,7 @@ Upgrade Debian (and Whonix) templates:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo rm -f /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
$ sudo rm -f /etc/apt/sources.list.d/qubes-r3-upgrade.list
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ Restore from your backup
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update
|
||||
$ sudo qubes-dom0-update
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ In place upgrade is a complex operation. For this reason, we provide a ``qubes-d
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update -y qubes-dist-upgrade
|
||||
$ sudo qubes-dom0-update -y qubes-dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -84,7 +84,7 @@ After installing the tool, upgrade can be performed all at once with:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dist-upgrade --all
|
||||
$ sudo qubes-dist-upgrade --all
|
||||
|
||||
|
||||
|
||||
|
|
@ -96,7 +96,7 @@ After completing “STAGE 0” through “STAGE 5”, restart the system. Then p
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dist-upgrade --resync-appmenus-features
|
||||
$ sudo qubes-dist-upgrade --resync-appmenus-features
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ If you would prefer to perform a clean installation rather than upgrading in-pla
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update -y qubes-dist-upgrade
|
||||
$ sudo qubes-dom0-update -y qubes-dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ In place upgrade is a complex operation. For this reason, we provide a ``qubes-d
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update -y qubes-dist-upgrade
|
||||
$ sudo qubes-dom0-update -y qubes-dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -104,7 +104,7 @@ After installing the tool, before-reboot stages can be performed at once with:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dist-upgrade --all-pre-reboot
|
||||
$ sudo qubes-dist-upgrade --all-pre-reboot
|
||||
|
||||
|
||||
|
||||
|
|
@ -116,7 +116,7 @@ After completing “STAGE 1” through “STAGE 3”, restart the system. Then p
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dist-upgrade --all-post-reboot
|
||||
$ sudo qubes-dist-upgrade --all-post-reboot
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,13 +30,13 @@ The same operations are also available via these command-line tools:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-copy [--without-progress] file [file]+
|
||||
$ qvm-copy [--without-progress] file [file]+
|
||||
|
||||
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-move [--without-progress] file [file]+
|
||||
$ qvm-move [--without-progress] file [file]+
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ To enable automatic wiping of the clipboard after a minute use ``qvm-service``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-service --enable VMNAME gui-agent-clipboard-wipe
|
||||
$ qvm-service --enable VMNAME gui-agent-clipboard-wipe
|
||||
|
||||
|
||||
|
||||
|
|
@ -80,8 +80,8 @@ The copy/paste shortcuts are configurable via ``qvm-features``, e.g.
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features dom0 gui-default-secure-copy-sequence 'Mod4-c'
|
||||
qvm-features dom0 gui-default-secure-paste-sequence 'Mod4-v'
|
||||
$ qvm-features dom0 gui-default-secure-copy-sequence 'Mod4-c'
|
||||
$ qvm-features dom0 gui-default-secure-paste-sequence 'Mod4-v'
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ To copy a file from dom0 to a VM, simply use ``qvm-copy-to-vm``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-copy-to-vm <target_vm> <file>
|
||||
$ qvm-copy-to-vm <target_vm> <file>
|
||||
|
||||
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ If you are determined to copy some files to dom0 anyway, you can use the followi
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-run --pass-io <src-vm> 'cat /path/to/file_in_src_domain' > /path/to/file_name_in_dom0
|
||||
$ qvm-run --pass-io <src-vm> 'cat /path/to/file_in_src_domain' > /path/to/file_name_in_dom0
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -157,9 +157,9 @@ To temporarily enable any of these repos, use the ``--enablerepo=<repo-name>`` o
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf upgrade --enablerepo=qubes-vm-*-current-testing
|
||||
sudo dnf upgrade --enablerepo=qubes-vm-*-security-testing
|
||||
sudo dnf upgrade --enablerepo=qubes-vm-*-unstable
|
||||
$ sudo dnf upgrade --enablerepo=qubes-vm-*-current-testing
|
||||
$ sudo dnf upgrade --enablerepo=qubes-vm-*-security-testing
|
||||
$ sudo dnf upgrade --enablerepo=qubes-vm-*-unstable
|
||||
|
||||
|
||||
|
||||
|
|
@ -195,11 +195,11 @@ If you would like to enable the `RPM Fusion <https://rpmfusion.org/>`__ reposito
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf config-manager setopt rpmfusion-free.enabled=1
|
||||
sudo dnf config-manager setopt rpmfusion-free-updates.enabled=1
|
||||
sudo dnf config-manager setopt rpmfusion-nonfree.enabled=1
|
||||
sudo dnf config-manager setopt rpmfusion-nonfree-updates.enabled=1
|
||||
sudo dnf upgrade --refresh
|
||||
$ sudo dnf config-manager setopt rpmfusion-free.enabled=1
|
||||
$ sudo dnf config-manager setopt rpmfusion-free-updates.enabled=1
|
||||
$ sudo dnf config-manager setopt rpmfusion-nonfree.enabled=1
|
||||
$ sudo dnf config-manager setopt rpmfusion-nonfree-updates.enabled=1
|
||||
$ sudo dnf upgrade --refresh
|
||||
|
||||
|
||||
|
||||
|
|
@ -231,7 +231,7 @@ Root revert
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-volume revert <template>:root
|
||||
$ qvm-volume revert <template>:root
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -29,9 +29,9 @@ If not specified otherwise, block devices will show up as ``/dev/xvdi*`` in a li
|
|||
|
||||
.. code:: console
|
||||
|
||||
cd ~
|
||||
mkdir mnt
|
||||
sudo mount /dev/xvdi2 mnt
|
||||
$ cd ~
|
||||
$ mkdir mnt
|
||||
$ sudo mount /dev/xvdi2 mnt
|
||||
|
||||
|
||||
|
||||
|
|
@ -57,7 +57,7 @@ In case of a USB-drive, make sure it’s attached to your computer. If you don
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-block
|
||||
$ qvm-block
|
||||
|
||||
|
||||
This will list all available block devices in your system across all VMs. The name of the qube hosting the block device is displayed before the colon in the device ID. The string after the colon is the ID of the device used within the qube, like so:
|
||||
|
|
@ -73,7 +73,7 @@ In case of a USB-drive, make sure it’s attached to your computer. If you don
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-block attach work sys-usb:sdb
|
||||
$ qvm-block attach work sys-usb:sdb
|
||||
|
||||
|
||||
|
||||
|
|
@ -87,9 +87,9 @@ In case of a USB-drive, make sure it’s attached to your computer. If you don
|
|||
|
||||
.. code:: console
|
||||
|
||||
cd ~
|
||||
mkdir mnt
|
||||
sudo mount /dev/xvdi mnt
|
||||
$ cd ~
|
||||
$ mkdir mnt
|
||||
$ sudo mount /dev/xvdi mnt
|
||||
|
||||
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ In case of a USB-drive, make sure it’s attached to your computer. If you don
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo umount mnt
|
||||
$ sudo umount mnt
|
||||
|
||||
|
||||
|
||||
|
|
@ -109,7 +109,7 @@ In case of a USB-drive, make sure it’s attached to your computer. If you don
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-block detach work sys-usb:sdb
|
||||
$ qvm-block detach work sys-usb:sdb
|
||||
|
||||
|
||||
|
||||
|
|
@ -177,7 +177,7 @@ To attach a file as block device to another qube, first turn it into a loopback
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo losetup -f --show /path/to/file
|
||||
$ sudo losetup -f --show /path/to/file
|
||||
|
||||
|
||||
`This command <https://linux.die.net/man/8/losetup>`__ will create the device node ``/dev/loop0`` or, if that is already in use, increase the trailing integer until that name is still available. Afterwards it prints the device-node-name it found.
|
||||
|
|
@ -201,7 +201,7 @@ To attach a file as block device to another qube, first turn it into a loopback
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-block a targetVM sourceVM:loop0
|
||||
$ qvm-block a targetVM sourceVM:loop0
|
||||
|
||||
|
||||
|
||||
|
|
@ -209,7 +209,7 @@ To attach a file as block device to another qube, first turn it into a loopback
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo losetup -d /dev/loop0
|
||||
$ sudo losetup -d /dev/loop0
|
||||
|
||||
|
||||
|
||||
|
|
@ -231,7 +231,7 @@ usage example:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-block a work sys-usb:sda1 -o frontend-dev=xvdz
|
||||
$ qvm-block a work sys-usb:sda1 -o frontend-dev=xvdz
|
||||
|
||||
|
||||
|
||||
|
|
@ -249,7 +249,7 @@ usage example:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-block a work sys-usb:sda1 -o read-only=true
|
||||
$ qvm-block a work sys-usb:sda1 -o read-only=true
|
||||
|
||||
|
||||
|
||||
|
|
@ -257,7 +257,7 @@ There exists a shortcut to set read-only ``true``, ``--ro``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-block a work sys-usb:sda1 --ro
|
||||
$ qvm-block a work sys-usb:sda1 --ro
|
||||
|
||||
|
||||
|
||||
|
|
@ -273,7 +273,7 @@ usage example:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-block a work sys-usb:sda1 -o devtype=cdrom
|
||||
$ qvm-block a work sys-usb:sda1 -o devtype=cdrom
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ You can set any app qube to have the ability to act as a disposable template wit
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <APP_QUBE> template_for_dispvms True
|
||||
$ qvm-prefs <APP_QUBE> template_for_dispvms True
|
||||
|
||||
|
||||
|
||||
|
|
@ -75,7 +75,7 @@ You can change this behavior for individual qubes: in the Application Menu, open
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <QUBE> default_dispvm <DISPOSABLE_TEMPLATE>
|
||||
$ qvm-prefs <QUBE> default_dispvm <DISPOSABLE_TEMPLATE>
|
||||
|
||||
|
||||
|
||||
|
|
@ -91,7 +91,7 @@ A disposable launched from the app menu inherits the net qube and firewall setti
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features <DISPOSABLE_TEMPLATE> appmenus-dispvm 1
|
||||
$ qvm-features <DISPOSABLE_TEMPLATE> appmenus-dispvm 1
|
||||
|
||||
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ To launch a disposable template from the command line, execute the following com
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-run --dispvm=<DISPOSABLE_TEMPLATE> --service qubes.StartApp+<APPLICATION>
|
||||
$ qvm-run --dispvm=<DISPOSABLE_TEMPLATE> --service qubes.StartApp+<APPLICATION>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ To figure out what device to attach, first list the available PCI devices by run
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pci
|
||||
$ qvm-pci
|
||||
|
||||
|
||||
|
||||
|
|
@ -63,7 +63,7 @@ This will show you the ``backend:BDF`` (Bus_Device.Function) address of each PCI
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pci attach targetVM sourceVM:[BDF] --persistent
|
||||
$ qvm-pci attach targetVM sourceVM:[BDF] --persistent
|
||||
|
||||
|
||||
|
||||
|
|
@ -73,7 +73,7 @@ For example, if ``00_1a.0`` is the BDF of the device you want to attach to the
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pci attach work dom0:00_1a.0 --persistent
|
||||
$ qvm-pci attach work dom0:00_1a.0 --persistent
|
||||
|
||||
|
||||
|
||||
|
|
@ -101,7 +101,7 @@ usage example:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pci a work dom0:00_1a.0 --persistent -o no-strict-reset=true
|
||||
$ qvm-pci a work dom0:00_1a.0 --persistent -o no-strict-reset=true
|
||||
|
||||
|
||||
|
||||
|
|
@ -115,7 +115,7 @@ usage example:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pci a work dom0:00_1a.0 --persistent -o permissive=true
|
||||
$ qvm-pci a work dom0:00_1a.0 --persistent -o permissive=true
|
||||
|
||||
|
||||
|
||||
|
|
@ -141,10 +141,10 @@ or
|
|||
|
||||
.. code:: console
|
||||
|
||||
echo <BDF> > /sys/bus/pci/drivers/pciback/unbind
|
||||
MODALIAS=`cat /sys/bus/pci/devices/<BDF>/modalias`
|
||||
MOD=`modprobe -R $MODALIAS | head -n 1`
|
||||
echo <BDF> > /sys/bus/pci/drivers/$MOD/bind
|
||||
$ echo <BDF> > /sys/bus/pci/drivers/pciback/unbind
|
||||
$ MODALIAS=`cat /sys/bus/pci/devices/<BDF>/modalias`
|
||||
$ MOD=`modprobe -R $MODALIAS | head -n 1`
|
||||
$ echo <BDF> > /sys/bus/pci/drivers/$MOD/bind
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ If you receive this error: ``ERROR: qubes-usb-proxy not installed in the qube``,
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf install qubes-usb-proxy
|
||||
$ sudo dnf install qubes-usb-proxy
|
||||
|
||||
|
||||
|
||||
|
|
@ -112,7 +112,7 @@ If you receive this error: ``ERROR: qubes-usb-proxy not installed in the qube``,
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-get install qubes-usb-proxy
|
||||
$ sudo apt-get install qubes-usb-proxy
|
||||
|
||||
|
||||
|
||||
|
|
@ -138,7 +138,7 @@ First, find out which USB bus the device is connected to (note that these steps
|
|||
|
||||
.. code:: console
|
||||
|
||||
lsusb
|
||||
$ lsusb
|
||||
|
||||
|
||||
|
||||
|
|
@ -174,7 +174,7 @@ Now you see the path: the text between ``/pci0000:00/0000:`` and ``/usb3`` i.e.
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pci attach --persistent personal dom0:00_1a.0
|
||||
$ qvm-pci attach --persistent personal dom0:00_1a.0
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ In Dom0 install ``anti-evil-maid``:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update anti-evil-maid
|
||||
$ sudo qubes-dom0-update anti-evil-maid
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -106,8 +106,8 @@ If your USB qube is named differently than ``sys-usb``, then do the following in
|
|||
|
||||
.. code:: console
|
||||
|
||||
systemctl enable qubes-ctapproxy@USB_QUBE.service
|
||||
systemctl disable qubes-ctapproxy@sys-usb.service
|
||||
$ systemctl enable qubes-ctapproxy@USB_QUBE.service
|
||||
$ systemctl disable qubes-ctapproxy@sys-usb.service
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ Normally Qubes doesn’t let the user stop a NetVM if there are other qubes runn
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <vm> netvm <netvm>
|
||||
$ qvm-prefs <vm> netvm <netvm>
|
||||
|
||||
|
||||
|
||||
|
|
@ -71,7 +71,7 @@ Normally qubes do not connect directly to the actual NetVM (sys-net by default)
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs sys-firewall netvm sys-net
|
||||
$ qvm-prefs sys-firewall netvm sys-net
|
||||
|
||||
|
||||
|
||||
|
|
@ -123,7 +123,7 @@ In order to allow networking from qube A (client) to qube B (server) follow thes
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo nft add rule ip qubes custom-forward ip saddr <IP address of A> ip daddr <IP address of B> ct state new,established,related counter accept
|
||||
$ sudo nft add rule ip qubes custom-forward ip saddr <IP address of A> ip daddr <IP address of B> ct state new,established,related counter accept
|
||||
|
||||
|
||||
|
||||
|
|
@ -133,7 +133,7 @@ In order to allow networking from qube A (client) to qube B (server) follow thes
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo nft add rule qubes custom-input ip saddr <IP address of A> ct state new,established,related counter accept
|
||||
$ sudo nft add rule qubes custom-input ip saddr <IP address of A> ct state new,established,related counter accept
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ In order to allow networking between qubes A and B follow these steps:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo iptables -I FORWARD 2 -s <IP address of A> -d <IP address of B> -j ACCEPT
|
||||
$ sudo iptables -I FORWARD 2 -s <IP address of A> -d <IP address of B> -j ACCEPT
|
||||
|
||||
|
||||
|
||||
|
|
@ -121,7 +121,7 @@ In order to allow networking between qubes A and B follow these steps:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo iptables -I INPUT -s <IP address of A> -j ACCEPT
|
||||
$ sudo iptables -I INPUT -s <IP address of A> -j ACCEPT
|
||||
|
||||
|
||||
|
||||
|
|
@ -380,7 +380,7 @@ Once you have confirmed that the counters increase, store these command in ``/rw
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo nano /rw/config/rc.local
|
||||
$ sudo nano /rw/config/rc.local
|
||||
|
||||
|
||||
|
||||
|
|
@ -485,7 +485,7 @@ Once you have confirmed that the counters increase, store these command in ``/rw
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo nano /rw/config/qubes-firewall-user-script
|
||||
$ sudo nano /rw/config/qubes-firewall-user-script
|
||||
|
||||
|
||||
|
||||
|
|
@ -550,7 +550,7 @@ Finally make this file executable (so it runs at every Firewall VM update)
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo chmod +x /rw/config/qubes-firewall-user-script
|
||||
$ sudo chmod +x /rw/config/qubes-firewall-user-script
|
||||
|
||||
|
||||
|
||||
|
|
@ -562,7 +562,7 @@ Here no routing is required, only filtering. Proceed in the same way as above bu
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo nano /rw/config/rc.local
|
||||
$ sudo nano /rw/config/rc.local
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ As the name implies, this generates authentication code that is time-dependent.
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update google-authenticator
|
||||
$ sudo qubes-dom0-update google-authenticator
|
||||
|
||||
|
||||
|
||||
|
|
@ -86,7 +86,7 @@ Now we are going to add the authenticator as a login requirement:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo authselect select custom/mfa
|
||||
$ sudo authselect select custom/mfa
|
||||
|
||||
|
||||
|
||||
|
|
@ -110,7 +110,7 @@ The following assumes you haven’t restarted your computer since setting up TOT
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo authselect select sssd
|
||||
$ sudo authselect select sssd
|
||||
|
||||
|
||||
|
||||
|
|
@ -170,7 +170,7 @@ All these requirements are described below, step by step, for the YubiKey and Ni
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf install ykpers
|
||||
$ sudo dnf install ykpers
|
||||
|
||||
|
||||
|
||||
|
|
@ -180,7 +180,7 @@ All these requirements are described below, step by step, for the YubiKey and Ni
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-get install yubikey-personalization
|
||||
$ sudo apt-get install yubikey-personalization
|
||||
|
||||
|
||||
|
||||
|
|
@ -204,7 +204,7 @@ All these requirements are described below, step by step, for the YubiKey and Ni
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-yubikey-dom0
|
||||
$ sudo qubes-dom0-update qubes-yubikey-dom0
|
||||
|
||||
|
||||
|
||||
|
|
@ -291,7 +291,7 @@ All these requirements are described below, step by step, for the YubiKey and Ni
|
|||
|
||||
.. code:: console
|
||||
|
||||
echo -n "$password" | openssl dgst -sha1 | cut -f2 -d ' '
|
||||
$ echo -n "$password" | openssl dgst -sha1 | cut -f2 -d ' '
|
||||
|
||||
|
||||
|
||||
|
|
@ -363,7 +363,7 @@ In dom0:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo chmod +x /etc/qubes-rpc/custom.LockScreen
|
||||
$ sudo chmod +x /etc/qubes-rpc/custom.LockScreen
|
||||
|
||||
|
||||
|
||||
|
|
@ -400,7 +400,7 @@ In your USB VM:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo chmod +x /rw/config/rc.local
|
||||
$ sudo chmod +x /rw/config/rc.local
|
||||
|
||||
|
||||
|
||||
|
|
@ -408,7 +408,7 @@ In your USB VM:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo /rw/config/rc.local
|
||||
$ sudo /rw/config/rc.local
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -75,9 +75,9 @@ If you have a Debian template from an earlier release that you want to use for s
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-mark hold salt-common salt-ssh
|
||||
sudo apt update
|
||||
sudo apt upgrade
|
||||
$ sudo apt-mark hold salt-common salt-ssh
|
||||
$ sudo apt update
|
||||
$ sudo apt upgrade
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -205,14 +205,14 @@ When you install a new template or :ref:`upgrade <user/how-to-guides/how-to-upda
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-shutdown --wait --all; qvm-prefs <SYS_USB_DISPOSABLE_TEMPLATE> template <NEW_TEMPLATE>; qvm-start <USB_QUBE>
|
||||
$ qvm-shutdown --wait --all; qvm-prefs <SYS_USB_DISPOSABLE_TEMPLATE> template <NEW_TEMPLATE>; qvm-start <USB_QUBE>
|
||||
|
||||
|
||||
With substitutions, your command should look similar to this example. (**Warning:** This is just an example. Do not attempt to use it.)
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-shutdown --wait --all; qvm-prefs fedora-01-dvm template fedora-02; qvm-start sys-usb
|
||||
$ qvm-shutdown --wait --all; qvm-prefs fedora-01-dvm template fedora-02; qvm-start sys-usb
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -122,8 +122,8 @@ This will allow you to install the Qubes Windows Tools on Windows 10 both as a S
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features <VMname> gui 1
|
||||
qvm-prefs <VMname> qrexec_timeout 300
|
||||
$ qvm-features <VMname> gui 1
|
||||
$ qvm-prefs <VMname> qrexec_timeout 300
|
||||
|
||||
|
||||
|
||||
|
|
@ -135,7 +135,7 @@ This will allow you to install the Qubes Windows Tools on Windows 10 both as a S
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <VMname> default_user <username>
|
||||
$ qvm-prefs <VMname> default_user <username>
|
||||
|
||||
|
||||
|
||||
|
|
@ -159,7 +159,7 @@ First, make sure that ``qubes-windows-tools`` is installed in your system:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-windows-tools
|
||||
$ sudo qubes-dom0-update qubes-windows-tools
|
||||
|
||||
|
||||
|
||||
|
|
@ -169,7 +169,7 @@ You can also install the package from testing repositories, where we usually pub
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing qubes-windows-tools
|
||||
$ sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing qubes-windows-tools
|
||||
|
||||
|
||||
|
||||
|
|
@ -191,7 +191,7 @@ To install the Qubes Windows Tools in a Windows VM one should start the VM passi
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start lab-win7 --install-windows-tools
|
||||
$ qvm-start lab-win7 --install-windows-tools
|
||||
|
||||
|
||||
|
||||
|
|
@ -203,7 +203,7 @@ Qubes will automatically detect the tools has been installed in the VM and will
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <your-appvm-name>
|
||||
$ qvm-prefs <your-appvm-name>
|
||||
|
||||
|
||||
|
||||
|
|
@ -211,7 +211,7 @@ Qubes will automatically detect the tools has been installed in the VM and will
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <vm-name> qrexec_timeout 300
|
||||
$ qvm-prefs <vm-name> qrexec_timeout 300
|
||||
|
||||
|
||||
|
||||
|
|
@ -247,7 +247,7 @@ With Qubes Windows Tools installed the early graphical console provided in debug
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs -s win7new debug false
|
||||
$ qvm-prefs -s win7new debug false
|
||||
|
||||
|
||||
|
||||
|
|
@ -261,7 +261,7 @@ Once you start a Windows-based AppVM with Qubes Tools installed, you can easily
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-run -a my-win7-appvm explorer.exe
|
||||
$ qvm-run -a my-win7-appvm explorer.exe
|
||||
|
||||
|
||||
|
||||
|
|
@ -305,7 +305,7 @@ In order to create a HVM TemplateVM one can use the following command, suitably
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class TemplateVM win-template --property virt_mode=HVM --property kernel='' -l green
|
||||
$ qvm-create --class TemplateVM win-template --property virt_mode=HVM --property kernel='' -l green
|
||||
|
||||
|
||||
|
||||
|
|
@ -335,7 +335,7 @@ Once the template has been created and installed it is easy to create AppVMs bas
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --property virt_mode=hvm <new windows appvm name> --template <name of template vm> --label <label color>
|
||||
$ qvm-create --property virt_mode=hvm <new windows appvm name> --template <name of template vm> --label <label color>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ Qubes Windows Tools (QWT) are a set of programs and drivers that provide integra
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-windows-tools-4.1.68
|
||||
$ sudo qubes-dom0-update qubes-windows-tools-4.1.68
|
||||
|
||||
|
||||
|
||||
|
|
@ -47,7 +47,7 @@ for Qubes R4.1.2, or
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-windows-tools-4.1.69
|
||||
$ sudo qubes-dom0-update qubes-windows-tools-4.1.69
|
||||
|
||||
|
||||
|
||||
|
|
@ -162,7 +162,7 @@ Installing the Qubes Windows Tools on Windows 7, 8.1, 10 and 11 both as a Standa
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update qubes-windows-tools
|
||||
$ sudo qubes-dom0-update qubes-windows-tools
|
||||
|
||||
|
||||
(If the above command does not work, it could be that the Qubes Tools are not in the stable repo yet. Try installing from the testing repo instead.)
|
||||
|
|
@ -170,14 +170,14 @@ Installing the Qubes Windows Tools on Windows 7, 8.1, 10 and 11 both as a Standa
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing qubes-windows-tools
|
||||
$ sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing qubes-windows-tools
|
||||
|
||||
|
||||
If an earlier version of Qubes Windows Tools is already installed, with enabled current-testing repo you need to specify as action to ``upgrade`` the existing package, because the default action is ``install``, which will fail if it detects that QWT is already present in Dom0:
|
||||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing --action=upgrade qubes-windows-tools
|
||||
$ sudo qubes-dom0-update --enablerepo=qubes-dom0-current-testing --action=upgrade qubes-windows-tools
|
||||
|
||||
|
||||
This package brings the ISO with Qubes Windows Tools that is passed to the VM when ``--install-windows-tools`` is specified for the ``qvm-start`` command. Please note that none of this software ever runs in Dom0 or any other part of the system except for the Windows AppVM in which it is to be installed.
|
||||
|
|
@ -195,7 +195,7 @@ Installing the Qubes Windows Tools on Windows 7, 8.1, 10 and 11 both as a Standa
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start <VMname> --install-windows-tools
|
||||
$ qvm-start <VMname> --install-windows-tools
|
||||
|
||||
|
||||
Once the Windows VM boots, a CDROM should appear in the ‘My Computer’ menu (typically as ``D:`` or ``E:``) with the setup program ``qubes-tools-x64.msi`` in its main directory.
|
||||
|
|
|
|||
|
|
@ -124,8 +124,8 @@ Importing should work, simply make sure that you are not using Xen’s newer lin
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features VMNAME linux-stubdom ''
|
||||
qvm-prefs VMNAME virt_mode hvm
|
||||
$ qvm-features VMNAME linux-stubdom ''
|
||||
$ qvm-prefs VMNAME virt_mode hvm
|
||||
|
||||
|
||||
|
||||
|
|
@ -147,23 +147,23 @@ Summary
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class StandaloneVM --label red --property virt_mode=hvm win7new
|
||||
qvm-prefs win7new memory 4096
|
||||
qvm-prefs win7new maxmem 4096
|
||||
qvm-prefs win7new kernel ''
|
||||
qvm-volume extend win7new:root 25g
|
||||
qvm-prefs win7new debug true
|
||||
qvm-features win7new video-model cirrus
|
||||
qvm-start --cdrom=untrusted:/home/user/windows_install.iso win7new
|
||||
$ qvm-create --class StandaloneVM --label red --property virt_mode=hvm win7new
|
||||
$ qvm-prefs win7new memory 4096
|
||||
$ qvm-prefs win7new maxmem 4096
|
||||
$ qvm-prefs win7new kernel ''
|
||||
$ qvm-volume extend win7new:root 25g
|
||||
$ qvm-prefs win7new debug true
|
||||
$ qvm-features win7new video-model cirrus
|
||||
$ qvm-start --cdrom=untrusted:/home/user/windows_install.iso win7new
|
||||
# restart after the first part of the windows installation process ends
|
||||
qvm-start win7new
|
||||
$ qvm-start win7new
|
||||
# once Windows is installed and working
|
||||
qvm-prefs win7new memory 2048
|
||||
qvm-prefs win7new maxmem 2048
|
||||
qvm-features --unset win7new video-model
|
||||
qvm-prefs win7new qrexec_timeout 300
|
||||
$ qvm-prefs win7new memory 2048
|
||||
$ qvm-prefs win7new maxmem 2048
|
||||
$ qvm-features --unset win7new video-model
|
||||
$ qvm-prefs win7new qrexec_timeout 300
|
||||
# with Qubes Windows Tools installed:
|
||||
qvm-prefs win7new debug false
|
||||
$ qvm-prefs win7new debug false
|
||||
|
||||
|
||||
|
||||
|
|
@ -187,7 +187,7 @@ Create a VM named win7new in :doc:`HVM </user/advanced-topics/standalones-and-hv
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class StandaloneVM --label red --property virt_mode=hvm win7new
|
||||
$ qvm-create --class StandaloneVM --label red --property virt_mode=hvm win7new
|
||||
|
||||
|
||||
|
||||
|
|
@ -207,8 +207,8 @@ So, increase the VM’s memory to 4096MB (memory = maxmem because we don’t use
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs win7new memory 4096
|
||||
qvm-prefs win7new maxmem 4096
|
||||
$ qvm-prefs win7new memory 4096
|
||||
$ qvm-prefs win7new maxmem 4096
|
||||
|
||||
|
||||
|
||||
|
|
@ -216,7 +216,7 @@ Disable direct boot so that the VM will go through the standard cdrom/HDD boot s
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs win7new kernel ''
|
||||
$ qvm-prefs win7new kernel ''
|
||||
|
||||
|
||||
|
||||
|
|
@ -224,7 +224,7 @@ A typical Windows 7 installation requires between 15GB up to 19GB of disk space
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-volume extend win7new:root 25g
|
||||
$ qvm-volume extend win7new:root 25g
|
||||
|
||||
|
||||
|
||||
|
|
@ -232,7 +232,7 @@ Set the debug flag in order to have a graphical console:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs win7new debug true
|
||||
$ qvm-prefs win7new debug true
|
||||
|
||||
|
||||
|
||||
|
|
@ -248,7 +248,7 @@ To avoid that error we temporarily have to switch the video adapter to ‘cirrus
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features win7new video-model cirrus
|
||||
$ qvm-features win7new video-model cirrus
|
||||
|
||||
|
||||
|
||||
|
|
@ -256,7 +256,7 @@ The VM is now ready to be started; the best practice is to use an installation I
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start --cdrom=untrusted:/home/user/windows_install.iso win7new
|
||||
$ qvm-start --cdrom=untrusted:/home/user/windows_install.iso win7new
|
||||
|
||||
|
||||
|
||||
|
|
@ -280,8 +280,8 @@ Decrease the VM’s memory to a more reasonable value (memory balancing on Windo
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs win7new memory 2048
|
||||
qvm-prefs win7new maxmem 2048
|
||||
$ qvm-prefs win7new memory 2048
|
||||
$ qvm-prefs win7new maxmem 2048
|
||||
|
||||
|
||||
|
||||
|
|
@ -289,7 +289,7 @@ Revert to the standard VGA adapter: the ‘cirrus’ adapter will limit the maxi
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-features --unset win7new video-model
|
||||
$ qvm-features --unset win7new video-model
|
||||
|
||||
|
||||
|
||||
|
|
@ -297,7 +297,7 @@ Finally, increase the VM’s ``qrexec_timeout``: in case you happen to get a BSO
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs win7new qrexec_timeout 300
|
||||
$ qvm-prefs win7new qrexec_timeout 300
|
||||
|
||||
|
||||
|
||||
|
|
@ -311,7 +311,7 @@ Windows 7 and 10 can be installed as TemplateVM by selecting
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class TemplateVM --property virt_mode=HVM --property kernel='' --label black Windows-template
|
||||
$ qvm-create --class TemplateVM --property virt_mode=HVM --property kernel='' --label black Windows-template
|
||||
|
||||
|
||||
|
||||
|
|
@ -329,7 +329,7 @@ AppVMs based on these templates can be created the normal way by using the Qube
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class=AppVM --template=<VMname>
|
||||
$ qvm-create --class=AppVM --template=<VMname>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -132,14 +132,14 @@ Create a VM named WindowsNew in :doc:`HVM </user/advanced-topics/standalones-and
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class StandaloneVM --label orange --property virt_mode=hvm WindowsNew
|
||||
$ qvm-create --class StandaloneVM --label orange --property virt_mode=hvm WindowsNew
|
||||
|
||||
|
||||
and for a template:
|
||||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class TemplateVM --label black --property virt_mode=hvm WindowsNew
|
||||
$ qvm-create --class TemplateVM --label black --property virt_mode=hvm WindowsNew
|
||||
|
||||
|
||||
|
||||
|
|
@ -149,11 +149,11 @@ Create a VM named WindowsNew in :doc:`HVM </user/advanced-topics/standalones-and
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-volume extend WindowsNew:root 60g
|
||||
qvm-prefs WindowsNew memory 4096
|
||||
qvm-prefs WindowsNew maxmem 4096
|
||||
qvm-prefs WindowsNew kernel ''
|
||||
qvm-prefs WindowsNew qrexec_timeout 7200
|
||||
$ qvm-volume extend WindowsNew:root 60g
|
||||
$ qvm-prefs WindowsNew memory 4096
|
||||
$ qvm-prefs WindowsNew maxmem 4096
|
||||
$ qvm-prefs WindowsNew kernel ''
|
||||
$ qvm-prefs WindowsNew qrexec_timeout 7200
|
||||
|
||||
|
||||
|
||||
|
|
@ -184,7 +184,7 @@ These parameters are set for the following reasons:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs WindowsNew qrexec_timeout 7200
|
||||
$ qvm-prefs WindowsNew qrexec_timeout 7200
|
||||
|
||||
|
||||
|
||||
|
|
@ -215,7 +215,7 @@ These parameters are set for the following reasons:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start --cdrom=untrusted:/home/user/windows_install.iso WindowsNew
|
||||
$ qvm-start --cdrom=untrusted:/home/user/windows_install.iso WindowsNew
|
||||
|
||||
|
||||
|
||||
|
|
@ -396,7 +396,7 @@ AppVMs based on these templates can be created the normal way by using the Qube
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-create --class=AppVM --template=<VMname>
|
||||
$ qvm-create --class=AppVM --template=<VMname>
|
||||
|
||||
|
||||
|
||||
|
|
@ -408,7 +408,7 @@ Furthermore, if manual IP setup was used for the template, the IP address select
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs WindowsNew ip 10.137.0.x
|
||||
$ qvm-prefs WindowsNew ip 10.137.0.x
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -208,8 +208,8 @@ Actual command lines for the menu shortcuts involve the ``qvm-run`` command whic
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-run -q -a --service -- %VMNAME% qubes.StartApp+firefox
|
||||
qvm-run -q -a --service -- %VMNAME% qubes.StartApp+7-Zip-7-Zip_File_Manager
|
||||
$ qvm-run -q -a --service -- %VMNAME% qubes.StartApp+firefox
|
||||
$ qvm-run -q -a --service -- %VMNAME% qubes.StartApp+7-Zip-7-Zip_File_Manager
|
||||
|
||||
|
||||
|
||||
|
|
@ -217,7 +217,7 @@ Note that you can create a shortcut that points to a ``.desktop`` file in your a
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-run -q -a --service -- personal qubes.StartApp+firefox
|
||||
$ qvm-run -q -a --service -- personal qubes.StartApp+firefox
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ After running the commands to update Debian or Whonix, hopefully everything will
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-get update && sudo apt-get dist-upgrade
|
||||
$ sudo apt-get update && sudo apt-get dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
@ -78,7 +78,7 @@ And then trying running the ``update`` and ``upgrade`` commands again.
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo apt-get update && sudo apt-get dist-upgrade
|
||||
$ sudo apt-get update && sudo apt-get dist-upgrade
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ In any case you’ll need some disk space to start the VM. Check ``df -h`` outpu
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo dnf clean all
|
||||
$ sudo dnf clean all
|
||||
|
||||
|
||||
|
||||
|
|
@ -38,7 +38,7 @@ In any case you’ll need some disk space to start the VM. Check ``df -h`` outpu
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-remove <VMname>
|
||||
$ qvm-remove <VMname>
|
||||
|
||||
|
||||
With this method, you lose the data of one VM, but it’ll work more reliably.
|
||||
|
|
@ -47,7 +47,7 @@ In any case you’ll need some disk space to start the VM. Check ``df -h`` outpu
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo tune2fs -m 4 /dev/mapper/vg_dom0-lv_root
|
||||
$ sudo tune2fs -m 4 /dev/mapper/vg_dom0-lv_root
|
||||
|
||||
|
||||
|
||||
|
|
@ -98,8 +98,8 @@ After freeing some initial space, it may be possible to recover more space by de
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start <VMname>
|
||||
qvm-console-dispvm <VMname>
|
||||
$ qvm-start <VMname>
|
||||
$ qvm-console-dispvm <VMname>
|
||||
|
||||
|
||||
|
||||
|
|
@ -117,7 +117,7 @@ To fix this issue:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-console-dispvm sys-usb
|
||||
$ qvm-console-dispvm sys-usb
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -56,15 +56,15 @@ If you can start your VM, but can’t launch any applications, then you need to
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-start <VMname> # Make sure the VM is started
|
||||
qvm-console-dispvm <VMname>
|
||||
$ qvm-start <VMname> # Make sure the VM is started
|
||||
$ qvm-console-dispvm <VMname>
|
||||
|
||||
|
||||
After launching a VM console using ``qvm-console-dispvm``, you may look at the ``qubes-gui-agent`` service state with:
|
||||
|
||||
.. code:: console
|
||||
|
||||
systemctl status -l qubes-gui-agent
|
||||
$ systemctl status -l qubes-gui-agent
|
||||
|
||||
|
||||
|
||||
|
|
@ -80,8 +80,8 @@ During troubleshooting, you may be getting a lot of ‘audit’ messages which m
|
|||
|
||||
.. code:: console
|
||||
|
||||
previous_kernel_parameters=$(qvm-prefs --get <VMname> kernelopts) # Get current kernel parameters
|
||||
qvm-prefs --set <VMname> kernelopts "<previous_kernel_parameters> audit=0"
|
||||
$ previous_kernel_parameters=$(qvm-prefs --get <VMname> kernelopts) # Get current kernel parameters
|
||||
$ qvm-prefs --set <VMname> kernelopts "<previous_kernel_parameters> audit=0"
|
||||
|
||||
|
||||
Then, restart your VM.
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ By default, the kernel that is installed in dom0 comes from the ``kernel`` packa
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo qubes-dom0-update kernel-latest
|
||||
$ sudo qubes-dom0-update kernel-latest
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ If you see a screen popup with SeaBios and 4 lines, last one being ``Probing EDD
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <HVMname> kernel ""
|
||||
$ qvm-prefs <HVMname> kernel ""
|
||||
|
||||
|
||||
HVM crashes when booting from ISO
|
||||
|
|
@ -92,7 +92,7 @@ To give the VM a RAM of 2GB, open a terminal in ``dom0`` and enter:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs <HVMname> memory 2000
|
||||
$ qvm-prefs <HVMname> memory 2000
|
||||
|
||||
|
||||
Attached devices in Windows HVM stop working on suspend/resume
|
||||
|
|
|
|||
|
|
@ -73,8 +73,8 @@ Using the command line
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo su
|
||||
echo -n "1" > /sys/bus/pci/devices/0000:03:00.0/remove
|
||||
$ sudo su
|
||||
$ echo -n "1" > /sys/bus/pci/devices/0000:03:00.0/remove
|
||||
|
||||
|
||||
|
||||
|
|
@ -109,7 +109,7 @@ NOTE: The ``permissive`` flag increases attack surface and possibility of `side
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pci attach --persistent --option permissive=true --option no-strict-reset=true sys-usb dom0:<BDF_OF_DEVICE>
|
||||
$ qvm-pci attach --persistent --option permissive=true --option no-strict-reset=true sys-usb dom0:<BDF_OF_DEVICE>
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ Some firmware will not recognize the default Qubes EFI configuration. As such, i
|
|||
|
||||
.. code:: console
|
||||
|
||||
cp /mnt/sysimage/boot/efi/EFI/qubes/grubx64.efi /mnt/sysimage/boot/efi/EFI/BOOT/bootx64.efi
|
||||
$ cp /mnt/sysimage/boot/efi/EFI/qubes/grubx64.efi /mnt/sysimage/boot/efi/EFI/BOOT/bootx64.efi
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ Most likely the offending controller is a USB 3.0 device. You can remove this co
|
|||
|
||||
.. code:: console
|
||||
|
||||
lspci -nn | grep USB | cut -d '[' -f3 | cut -d ']' -f1 | xargs -I@ setpci -H1 -d @ d0.l=0
|
||||
$ lspci -nn | grep USB | cut -d '[' -f3 | cut -d ']' -f1 | xargs -I@ setpci -H1 -d @ d0.l=0
|
||||
|
||||
|
||||
|
||||
|
|
@ -74,7 +74,7 @@ Another solution would be to set the pci_strictreset option in dom0:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-pci attach --persistent --option no-strict-reset=true usbVM dom0:<BDF>
|
||||
$ qvm-pci attach --persistent --option no-strict-reset=true usbVM dom0:<BDF>
|
||||
|
||||
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ Another solution would be to set the pci_strictreset option in dom0:
|
|||
|
||||
.. code:: console
|
||||
|
||||
qvm-prefs usbVM -s pci_strictreset false
|
||||
$ qvm-prefs usbVM -s pci_strictreset false
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ Tips
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo journalctl -u qubes-vpn-handler
|
||||
$ sudo journalctl -u qubes-vpn-handler
|
||||
|
||||
|
||||
|
||||
|
|
@ -55,7 +55,7 @@ To check this tool is working properly run:
|
|||
|
||||
.. code:: console
|
||||
|
||||
sudo notify-send "$(hostname): Test notify-send OK" --icon=network-idle
|
||||
$ sudo notify-send "$(hostname): Test notify-send OK" --icon=network-idle
|
||||
|
||||
|
||||
You should see the ``info`` message appear on the top of your screen. If that is the case then ``notify-send`` is not the issue. If it is not, and you have an error of some sort you can:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue