Scroll to navigation

SYSTEMD-DETECT-VIRT(1) systemd-detect-virt 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 Linux KVM-Kernel virtuelle Maschine in Kombination mit QEMU. Nicht für andere Virtualisierer verwandt, die die KVM-Schnittstelle verwenden, wie Oracle VirtualBox oder Amazon EC2 Nitro, siehe unten.
amazon Amazon EC2 Nitro mittels Linux KVM
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
powervm IBM PowerVM Hypervisor — kommt als Firmware mit einigen IBM-POWER-Servern
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]
apple Apple Virtualisierungsrahmenwerk[2]
sre LMHS-SRE-Hypervisor[3]
google Googles Berechnungsmaschine[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-Verwalter
podman Podman[5] Container-Verwalter
rkt Rkt-App-Container-Laufzeitumgebung
wsl Windows Subsystem für Linux[6]
PRoot proot[7] Chroot/Bind-Einhängungs-Nachbildung im Anwendungsraum
pouch Pouch[8] Container-Antriebssystem

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.

When executed with --cvm, instead of printing the virtualization technology, it will display the confidential virtual machine technology, if any. The following technologies are currently identified:

Table 2. Known confidential virtualization technologies

Arch ID Technik
x86_64 sev AMD Secure Encrypted Virtualization
sev-es AMD Secure Encrypted Virtualization - Encrypted State
sev-snp AMD Secure Encrypted Virtualization - Secure Nested Paging
tdx Intel Trust Domain Extensions
S390x protvirt IBM Protected Virtualization (Secure Execution)

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.

Hinzugefügt in Version 228.

--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.

Hinzugefügt in Version 232.

--cvm

Erkennt, ob der Aufruf in einer vertraulichen virtuellen Maschine erfolgte. Das Ergebnis dieser Ermittlung kann zur Deaktivierung von Funktionalitäten verwandt werden, die in vertraulichen VMs nicht benutzt werden sollten. Dies darf nicht zur Veröffentlichung sicherheitssensibler Informationen führen. Letztere dürfen nur nach der Bescheinigung der vertraulichen Umgebung veröffentlicht werden.

Hinzugefügt in Version 254.

-q, --quiet

Unterdrückt die Ausgabe der Kennung der Virtualisierungstechnik.

--list

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

Hinzugefügt in Version 239.

--list-cvm

Gibt alle derzeit bekannten und erkennbaren vertraulichen Virtualisierungstechniken aus.

Hinzugefügt in Version 254.

-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
2.
Apple Virtualisierungsrahmenwerk
3.
LMHS-SRE-Hypervisor
4.
Googles Berechnungsmaschine
5.
Podman
6.
Windows Subsystem für Linux
7.
PRoot
8.
Pouch

Ü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 die Mailingliste der Übersetzer.

systemd 256.5