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 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
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]
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[2] Container-Verwalter
rkt Rkt-App-Container-Laufzeitumgebung
wsl Windows Subsystem für Linux[3]
PRoot Proot[4] Chroot/Bind-Einhängungs-Nachbildung im Anwendungsraum
pouch Pouch[5] 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.

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
2.
Podman
3.
Windows Subsystem für Linux
4.
PRoot
5.
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 247