Zusätzlich zur lokalen Entwicklung verwenden wir normalerweise Linux, um über SSH eine Verbindung zu Remote-Servern herzustellen, z. B. für die Systembereitstellung, den Betrieb und die Wartung usw.
In der aktuellen Umgebung, in der die Virtualisierung sehr ausgereift ist, laufen die meisten von uns bereitgestellten Systeme in virtuellen Maschinen. Einige davon befinden sich jedoch auf physischen Maschinen. Wie kann man also unterscheiden, ob unser System auf einer virtuellen Maschine oder einer physischen Maschine läuft?
Lassen Sie uns dieses Problem weiter unten im Detail besprechen.
Es gibt mehrere Befehle, mit denen unterschieden werden kann, ob sich die Systemlaufumgebung auf einer virtuellen Maschine oder einer physischen Maschine befindet.
1, verwenden Sie den dmidecode-Befehl
Der einfachste Weg, zwischen einer virtuellen Maschine und einer physischen Maschine zu unterscheiden, ist die Verwendung des Befehls dmidecode. Wie unten gezeigt:
sudo dmidecode -s system-manufacturer
Wenn es sich um eine physische Maschine handelt, wird der Name des Maschinenherstellers angezeigt, z. B. Dell, Lenovo usw.
Wenn es sich um eine virtuelle Maschine handelt, werden einige Ausgabeinformationen ähnlich wie bei QEMU, innotek Gmbh (für VirtualBox) usw. angezeigt.
Der Befehldmidecode wird verwendet, um die DMI-Informationen eines Computers anzuzeigen, die in einem für Menschen lesbaren Format ausgegeben werden.
DMI ist die Abkürzung für Desktop Management Interface und ein Standard, der von fast allen Systemherstellern befolgt wird. Das DMI-Framework wird zum Verwalten und Verfolgen von Komponenten in einem Desktop-, Laptop- oder Servercomputer verwendet.
Dank DMI können wir Informationen über die Systemhardware, den Systemhersteller und die Seriennummer des Geräts erhalten, und mit dem Befehl dmidecode (DMI Decode) können wir diese Informationen abrufen. Alternativ können Sie -s system-manufacturer verwenden, um Herstellerdetails zu erhalten.
Wenn es sich bei der Systemumgebung um eine physische Maschine handelt, können Sie die Herstellerinformationen sehen, wie zum Beispiel:
$ sudo dmidecode -s system-manufacturer Dell Inc.
Wenn es sich dagegen um eine virtuelle Maschine handelt, können Sie die Informationen zur virtuellen Maschine ausdrucken, wie unten gezeigt:
$ dmidecode -s system-manufacturer QEMU
Dieser Befehl ist bequemer zu verwenden. Ausführliche Informationen zum Befehl dmidecode finden Sie auch im man-Handbuch.
Wenn Sie Informationen zur Linux-Version anzeigen möchten, können Sie den Befehl uname verwenden. Da der Befehl dmidecode Hardwareinformationen anzeigt, ist er nicht auf Softwareinformationen anwendbar.
2, verwenden Sie virt-what
Eine weitere Möglichkeit, zwischen virtuellen Maschinen und physischen Maschinen zu unterscheiden, ist die Verwendung von Virt-What
Grundsätzlich kann es als Shell-Skript verstanden werden, das in den meisten Linux-Distributionen als Befehl installiert werden kann. Der Installationsbefehl lautet wie folgt:
sudo apt install virt-what
Wenn das System auf einer physischen Maschine läuft, gibt der Befehl virt-what keine Ergebnisse zurück, wenn es hingegen auf einer virtuellen Maschine läuft, werden einige Informationen über die virtuelle Maschine ausgegeben, wie unten gezeigt:
$ virt-what kvm
Das obige ist der detaillierte Inhalt vonÜberprüfen Sie, ob das Linux-System auf einer virtuellen Maschine oder einer physischen Maschine läuft. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!