systemd-detect-virt 中文手册
优质
小牛编辑
141浏览
2023-12-01
名称
systemd-detect-virt — 检测虚拟化环境
大纲
systemd-detect-virt
[OPTIONS...]
描述
systemd-detect-virt 用于检测系统的运行环境是否为虚拟化环境,以及更进一步检测是哪种虚拟化环境,比如是哪种虚拟机或哪种容器。systemd-detect-virt
会在检测成功时返回 0 值,而在检测失败时返回非零值。默认检测所有虚拟化类型,但是通过--container
与 --vm
选项,也可以指定仅检测特定的虚拟化类型。
如果未指定 --quiet
选项,那么将会显示检测到的虚拟化技术的简短标识。可以识别的虚拟化技术如下:
表 1. 可识别的虚拟化技术(包括硬件虚拟化与容器)
Type | ID | Product |
---|---|---|
虚拟机 | qemu | QEMU 软件虚拟机(未使用KVM) |
kvm | Linux 内核虚拟机(使用除 Oracle Virtualbox 之外的其他虚拟机管理程序) | |
zvm | s390 z/VM | |
vmware | VMware 虚拟机 | |
microsoft | Hyper-V 虚拟机 | |
oracle | Oracle VirtualBox 虚拟机 | |
xen | Xen 虚拟机(仅 domU, 非 dom0) | |
bochs | Bochs 模拟器 | |
uml | User-mode Linux | |
parallels | Parallels Desktop, Parallels Server | |
bhyve | bhyve, FreeBSD hypervisor | |
qnx | QNX hypervisor | |
容器 | openvz | OpenVZ/Virtuozzo |
lxc | LXC 容器 | |
lxc-libvirt | 通过 libvirt 实现的容器 | |
systemd-nspawn | systemd 最简容器(详见 systemd-nspawn(1)) | |
docker | Docker 容器 | |
rkt | rkt 应用容器 |
如果使用了多重虚拟化,那么将只能检测到"最内层"的虚拟化技术。例如,在虚拟机内的容器中运行时,将只能检测到容器(除非明确使用了--vm
选项)。
选项
能够识别的命令行选项如下:
-c
,--container
仅检测容器 (共享内核虚拟化)
-v
,--vm
仅检测虚拟机(虚拟化硬件)
-r
,--chroot
检测是否运行在 chroot(2) 环境中。在此模式下,没有任何输出,而是通过返回值表示是否运行在
chroot()
环境中。--private-users
检测是否运行在用户名字空间内。在此模式下,没有任何输出,而是通过返回值表示是否运行在用户名字空间内。详见 user_namespaces(7) 手册。
-q
,--quiet
禁止输出虚拟化技术的 简短标识。
--list
输出当前所有已知并可检测的容器与虚拟化环境。
-h
,--help
显示简短的帮助信息并退出。
--version
显示简短的版本信息并退出。
退出状态
返回值为 0 表示成功,非零返回值表示失败代码。