Se você tiver o systemd instalado, ele vem com systemd-detect-virt
.
me@real-machine:~$ systemd-detect-virt
none
me@vm:~$ systemd-detect-virt
qemu
Também é possível detectar muitos tipos diferentes de virtualização e contêineres.
Se você não tiver o systemd, há também virt-what
que tem pelo menos um pacote no Debian (e considerando de onde vem, sem surpresa para o RedHat também).
Veja também “Maneira fácil de determinar a tecnologia de virtualização” no Unix & Linux para mais abordagens.