SYSTEMD-DETECT-VIRT(1)

BEZEICHNUNG
systemd-detect-virt - Erkennung der Ausführung in einer virtualisierten Umgebung

ÜBERSICHT

systemd-detect-virt [OPTIONEN…]

BESCHREIBUNG

systemd-detect-virt erkennt die Ausführung in einer virtualisierten Umgebung. Es identifiziert die Virtualisierungstechnik und kann zwischen vollständiger Maschinenvirtualisierung und Container-Virtualisierung unterscheiden. Systemd-detect-virt beendet sich mit einem Rückgabewert 0 (Erfolg), falls eine Virtualisierungstechnik erkannt wurde und einem von Null verschiedenen Wert (Fehler) anderenfalls. Standardmäßig wird jeder Virtualisierungstyp erkannt und die Optionen --container und --vm können zur Einschränkungen der erkannten Virtualisierungstypen verwandt werden.

Bei Ausführung ohne --quiet wird eine kurze Kennzeichnung für die erkannte Virtualisierungstechnik ausgegeben. Die nachfolgenden Techniken werden derzeit erkannt:

Tabelle 1. Bekannte Virtualisierungstechniken (sowohl VM, d.h. komplette Hardware-Virtualisierung und Container-, d.h. gemeinsame Kernel-Virtualisierung)
Typ | ID | Produkt
VM | qemu | Qemu-Software-Virtualisierung, ohne KVM
 | kvm | Virtuelle Linux-KVM-Kernel-Maschine, mit beliebiger Software, außer Oracle Virtualbox
 | zvm | S390 z/VM
 | vmware | VMware Workstation oder Server und zugehörige Produkte
 | microsoft | Hyper-V, auch als Viridian oder Windows Server Virtualization bekannt
 | oracle | Oracle VM VirtualBox (historisch von Innotek und Sun Microsystems vermarktet), für alte und KVM-Hypervisoren
 | xen | Xen Hypervisor (nur domU, nicht dom0)
 | bochs | Bochs Emulator
 | uml | User-mode Linux
 | parallels | Parallels Desktop, Parallels Server
 | bhyve | bhyve, FreeBSD-Hypervisor
 | qnx | QNX-Hypervisor
 | acrn | ACRN-Hypervisor[1]
Container | openvz | OpenVZ/Virtuozzo
 | lxc | Linux-Container-Implementierung von LXC
 | lxc-libvirt | Linux-Container-Implementierung von Libvirt
 | systemd-nspawn | Systemds minimale Container-Implementierung, siehe systemd-nspawn(1)
 | docker | Docker Container-Manager
 | podman | Podman[2] Container-Verwalter
 | rkt | Rkt-App-Container-Laufzeitumgebung
 | wsl | Windows Subsystem for Linux[3]

Falls mehrere Virtualisierungslösungen verwandt werden, wird nur die »innerste« erkannt und identifiziert. Das bedeutet, falls sowohl Maschinen- als auch Container-Virtualisierung zusammen benutzt werden, wird nur Letztere identifiziert (falls nicht --vm übergeben wird).

Windows Subsystem for Linux ist kein Linux-Container, sondern eine Umgebung zur Ausführung von Linux-Anwendungsprogrammen oberhalb des Windows-Kernels mittels einer Linux-kompatiblen Schnittstelle. WSL wird für praktische Zwecke als Container kategorisiert. Mehrere WSL-Umgebungen benutzen den gleichen Kernel und Dienste sollten sich im Allgemeinen so verhalten, wie sie es in einem Container täten.

OPTIONEN

Die folgenden Optionen werden verstanden:

-c, --container
    Erkennt nur Container-Virtualisierung (d.h. gemeinsame Kernel-Virtualisierung).

-v, --vm
    Erkennt nur Hardware-Virtualisierungen.

-r, --chroot
    Erkennt, ob der Aufruf in einer chroot(2)-Umgebung erfolgte. In diesem Modus wird keine Ausgabe geschrieben, aber der Rückgabewert zeigt an, ob der Prozess in einer chroot()-Umgebung aufgerufen wurde oder nicht.

--private-users
    Erkennt, ob der Aufruf in einem Benutzer-Namensraum erfolgte. In diesem Modus wird keine Ausgabe geschrieben, aber der Rückgabewert zeigt an, ob der Prozess innerhalb eines Benutzernamensraums aufgerufen wurde oder nicht. Siehe user_namespaces(7) für weitere Informationen.

-q, --quiet
    Unterdrückt die Ausgabe der Kennung der Virtualisierungstechnik.

--list
    Gibt alle derzeit bekannten und erkennbaren Container- und VM-Umgebungen aus.

-h, --help
    Zeigt einen kurzen Hilfetext an und beendet das Programm.

--version
    Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

EXIT-STATUS

Falls eine Virtualisierungstechnik erkannt wurde, wird 0 zurückgeliefert, andernfalls ein anderer Code.

SIEHE AUCH

systemd(1), systemd-nspawn(1), chroot(2), namespaces(7)

ANMERKUNGEN

1.  ACRN-Hypervisor
    https://projectacrn.org

2.  Podman
    https://podman.io

3.  Windows Subsystem für Linux
    https://docs.microsoft.com/en-us/windows/wsl/about

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.