SYSTEMD-DETECT-VIRT(1) systemd-detect-virt SYSTEMD-DETECT-VIRT(1) BEZEICHNUNG systemd-detect-virt - Erkennung der Ausfuhrung in einer virtualisierten Umgebung UBERSICHT systemd-detect-virt [OPTIONEN] BESCHREIBUNG systemd-detect-virt erkennt die Ausfuhrung in einer virtualisierten Umgebung. Es identifiziert die Virtualisierungstechnik und kann zwischen vollstandiger Maschinenvirtualisierung und Container-Virtualisierung unterscheiden. Systemd-detect-virt beendet sich mit einem Ruckgabewert 0 (Erfolg), falls eine Virtualisierungstechnik erkannt wurde und einem von Null verschiedenen Wert (Fehler) anderenfalls. Standardmassig wird jeder Virtualisierungstyp erkannt und die Optionen --container und --vm konnen zur Einschrankungen der erkannten Virtualisierungstypen verwandt werden. Bei Ausfuhrung ohne --quiet wird eine kurze Kennzeichnung fur 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 fur | | | | 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 | | | | zugehorige Produkte | | +------------------------+---------------------------------------+ | | microsoft | Hyper-V, auch als Viridian oder | | | | Windows Server Virtualization bekannt | | +------------------------+---------------------------------------+ | | oracle | Oracle VM VirtualBox (historisch von | | | | Innotek und Sun Microsystems | | | | vermarktet), fur 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 fur Linux[6] | | +------------------------+---------------------------------------+ | | PRoot | proot[7] | | | | Chroot/Bind-Einhangungs-Nachbildung | | | | im Anwendungsraum | | +------------------------+---------------------------------------+ | | pouch | Pouch[8] Container-Antriebssystem | +----------+------------------------+---------------------------------------+ Falls mehrere Virtualisierungslosungen 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 ubergeben wird). Windows Subsystem for Linux ist kein Linux-Container, sondern eine Umgebung zur Ausfuhrung von Linux-Anwendungsprogrammen oberhalb des Windows-Kernels mittels einer Linux-kompatiblen Schnittstelle. WSL wird fur 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 taten. 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 Ruckgabewert zeigt an, ob der Prozess in einer chroot()-Umgebung aufgerufen wurde oder nicht. Hinzugefugt in Version 228. --private-users Erkennt, ob der Aufruf in einem Benutzer-Namensraum erfolgte. In diesem Modus wird keine Ausgabe geschrieben, aber der Ruckgabewert zeigt an, ob der Prozess innerhalb eines Benutzernamensraums aufgerufen wurde oder nicht. Siehe user_namespaces(7) fur weitere Informationen. Hinzugefugt in Version 232. --cvm Erkennt, ob der Aufruf in einer vertraulichen virtuellen Maschine erfolgte. Das Ergebnis dieser Ermittlung kann zur Deaktivierung von Funktionalitaten verwandt werden, die in vertraulichen VMs nicht benutzt werden sollten. Dies darf nicht zur Veroffentlichung sicherheitssensibler Informationen fuhren. Letztere durfen nur nach der Bescheinigung der vertraulichen Umgebung veroffentlicht werden. Hinzugefugt in Version 254. -q, --quiet Unterdruckt die Ausgabe der Kennung der Virtualisierungstechnik. --list Gibt alle derzeit bekannten und erkennbaren Container- und VM-Umgebungen aus. Hinzugefugt in Version 239. --list-cvm Gibt alle derzeit bekannten und erkennbaren vertraulichen Virtualisierungstechniken aus. Hinzugefugt 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 zuruckgeliefert, andernfalls ein anderer Code. SIEHE AUCH systemd(1), systemd-nspawn(1), chroot(2), namespaces(7) ANMERKUNGEN 1. ACRN-Hypervisor https://projectacrn.org 2. Apple Virtualisierungsrahmenwerk https://developer.apple.com/documentation/virtualization 3. LMHS-SRE-Hypervisor https://www.lockheedmartin.com/en-us/products/Hardened-Security-for-Intel-Processors.html 4. Googles Berechnungsmaschine https://cloud.google.com/compute?hl=de 5. Podman https://podman.io 6. Windows Subsystem fur Linux https://docs.microsoft.com/en-us/windows/wsl/about 7. PRoot https://proot-me.github.io/ 8. Pouch https://github.com/alibaba/pouch UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . systemd 255 SYSTEMD-DETECT-VIRT(1)