Solusi 1:
hostnamectl
adalah temanmu (membutuhkan systemd
).
Beberapa contoh:
Laptop tanpa virtualisasi apa pun
$ hostnamectl status
Static hostname: earth.gangs.net
Icon name: computer-laptop
Chassis: laptop
Machine ID: 18a0752e1ccbeef09da51ad17fab1f1b
Boot ID: beefdc99969e4a4a8525ff842b383c62
Operating System: Ubuntu 16.04.2 LTS
Kernel: Linux 4.4.0-66-generic
Architecture: x86-64
Xen
$ hostnamectl status
Static hostname: pluto.gangs.net
Icon name: computer-vm
Chassis: vm
Machine ID: beef39aebbf8ba220ed0438b54497609
Boot ID: beefc71e97ed48dbb436a470fe1920e1
Virtualization: xen
Operating System: Ubuntu 16.04.2 LTS
Kernel: Linux 3.13.0-37-generic
Architecture: x86-64
BukaVZ
$ hostnamectl status
Static hostname: mars.gangs.net
Icon name: computer-container
Chassis: container
Machine ID: 55296cb0566a4aaca10b8e3a4b28beef
Boot ID: 1bb259b0eb064d9eb8a22d112211beef
Virtualization: openvz
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 2.6.32-042stab120.16
Architecture: x86-64
KVM
$ hostnamectl status
Static hostname: mercury.gangs.net
Icon name: computer-vm
Chassis: vm
Machine ID: beeffefc50ae499881b024c25895ec86
Boot ID: beef9c7662a240b3b3b04cef3d1518f0
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-514.10.2.el7.x86_64
Architecture: x86-64
Solusi 2:
Kecuali host VM berbohong kepada Anda, umumnya dapat diketahui dengan memeriksa "perangkat keras" yang dilihat tamu VM.
Mungkin yang paling mudah adalah menggunakan program seperti virt-what, yang akan melakukan penguraian untuk Anda. Di sini saya secara membabi buta berasumsi bahwa Anda menjalankan semacam distribusi berbasis Linux.
Mungkin ada baiknya juga melihat faktor boneka, yang juga menggunakan teknik serupa untuk menentukan di lingkungan VM seperti apa yang dijalankannya.
Atau Anda bisa bertanya dari siapa Anda menyewa VPS? :-)
Solusi 3:
Gunakan virt-what
perintah untuk menentukan jenis teknologi virtualisasi yang digunakan sistem.
Lihat:http://people.redhat.com/~rjones/virt-what/
Solusi 4:
Systemd menyertakan systemd-detect-virt
Solusi 5:
Debian hadir dengan paket kecil ini untuk mendeteksi jenis virtualisasi:
$ sudo apt-get install virt-what
$ virt-what
dan sedikit lebih besar karena ketergantungan Perl:
$ sudo apt-get install imvirt
$ imvirt