Home

systemd-detect-virt(1) - de

SYSTEMD-DETECT-VIRT(1)systemd-detect-virtSYSTEMD-DETECT-VIRT(1)

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

ÜBERSICHT

systemd-detect-virt [OPTIONEN…]

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)

TypIDProdukt
VMqemuQemu-Software-Virtualisierung, ohne KVM
kvmLinux 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.
amazonAmazon EC2 Nitro mittels Linux KVM
zvmS390 z/VM
vmwareVMware Workstation oder Server und zugehörige Produkte
microsoftHyper-V, auch als Viridian oder Windows Server Virtualization bekannt
oracleOracle VM VirtualBox (historisch von Innotek und Sun Microsystems vermarktet), für alte und KVM-Hypervisoren
powervmIBM PowerVM Hypervisor — kommt als Firmware mit einigen IBM-POWER-Servern
xenXen Hypervisor (nur domU, nicht dom0)
bochsBochs Emulator
umlUser-mode Linux
parallelsParallels Desktop, Parallels Server
bhyvebhyve, FreeBSD-Hypervisor
qnxQNX-Hypervisor
acrnACRN-Hypervisor[1]
appleApple Virtualization.framework[2]
sreLMHS-SRE-Hypervisor[3]
ContaineropenvzOpenVZ/Virtuozzo
lxcLinux-Container-Implementierung von LXC
lxc-libvirtLinux-Container-Implementierung von Libvirt
systemd-nspawnSystemds minimale Container-Implementierung, siehe systemd-nspawn(1)
dockerDocker Container-Verwalter
podmanPodman[4] Container-Verwalter
rktRkt-App-Container-Laufzeitumgebung
wslWindows Subsystem für Linux[5]
PRootproot[6] Chroot/Bind-Einhängungs-Nachbildung im Anwendungsraum
pouchPouch[7] 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.

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.

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

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

1.
ACRN-Hypervisor
https://projectacrn.org
2.
Apple Virtualization.framework
https://developer.apple.com/documentation/virtualization
3.
LMHS-SRE-Hypervisor
https://www.lockheedmartin.com/en-us/products/Hardened-Security-for-Intel-Processors.html
4.
Podman
https://podman.io
5.
Windows Subsystem für Linux
https://docs.microsoft.com/en-us/windows/wsl/about
6.
PRoot
https://proot-me.github.io/
7.
Pouch
https://github.com/alibaba/pouch

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]> 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 252