Aceasta este comanda virt-what care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
virt-what - detectează dacă rulăm într-o mașină virtuală
REZUMAT
virt-what [opțiuni]
DESCRIERE
„virt-what” este un script shell care poate fi folosit pentru a detecta dacă programul rulează într-un
mașină virtuală.
Programul tipărește o listă de „fapte” despre mașina virtuală, derivate din
euristică. Un fapt este tipărit pe rând.
Dacă nimic nu este tipărit și scriptul iese cu codul 0 (nicio eroare), atunci poate însemna oricare
că programul rulează pe bare-metal or programul rulează într-un tip de
mașină virtuală despre care nu știm sau nu putem detecta.
FAPTE
hiperv
Acesta este hypervisor Microsoft Hyper-V.
Stare: confirmată de RWMJ
ibm_systemz
Acesta este un sistem de partiționare hardware IBM SystemZ (sau alt S/390). Adiţional
faptele enumerate mai jos pot fi, de asemenea, tipărite.
ibm_systemz-direct
Acesta este Linux care rulează direct pe un sistem de partiționare hardware IBM SystemZ.
Aceasta este de așteptat să fie o configurație extrem de neobișnuită - dacă vedeți acest rezultat, dvs
ar trebui să-l trateze cu suspiciune.
Stare: neconfirmat
ibm_systemz-lpar
Acesta este Linux care rulează direct pe un LPAR pe o partiționare hardware IBM SystemZ
sistemului.
Stare: neconfirmat
ibm_systemz-zvm
Acesta este oaspetele az/VM care rulează într-un LPAR pe o partiționare hardware IBM SystemZ
sistemului.
Stare: confirmată de RWMJ folosind un invitat Fedora care rulează în z/VM
linux_vserver
Acest lucru este tipărit pentru compatibilitate inversă cu virt mai vechi, ceea ce nu ar putea
distinge între un oaspete de container Linux VServer și o gazdă.
linux_vserver-guest
Acest proces rulează într-un container Linux VServer.
Status: contribuit de BarXX Metin
linux_vserver-host
Acest proces rulează ca gazdă Linux VServer (VxID 0).
Status: contribuție de BarXX Metin și Elan Ruusamaee
lxc Acest proces rulează într-un container Linux LXC.
Status: contribuție de Marc Fournier
kvm Acest oaspete rulează pe hypervisorul KVM folosind accelerarea hardware.
Rețineți că, dacă hypervisorul utilizează accelerarea software, ar trebui nu Vezi asta,
dar ar trebui să vadă în schimb faptul „qemu”.
Stare: confirmată de RWMJ.
openvz
Invitatul pare să ruleze într-un container OpenVZ sau Virtuozzo.
Stare: contribuție de Evgeniy Sokolov
paralele
Invitatul rulează în cadrul platformei virtuale Parallels (Parallels Desktop, Parallels
Server).
Stare: contribuție de Justin Clift
powervm_lx86
Invitatul rulează în cadrul emulatorului IBM PowerVM Lx86 Linux/x86.
Stare: date furnizate inițial de Jeffrey Scheel, confirmate de Yufang Zhang și RWMJ
whoa
Acesta este un hypervisor QEMU care utilizează emularea software.
Rețineți că pentru oaspeții KVM (accelerați hardware) ar trebui nu Vezi asta.
Stare: confirmată de RWMJ.
mental Acesta este un invitat Linux în modul utilizator (UML).
Status: contribuție de Laurent Leonard
virtute
Un fel de virtualizare pare să fie prezentă, dar nu suntem siguri ce este. În
unele cazuri de colț foarte rare în care știm că virtualizarea este greu de detectat, noi
va încerca un atac de sincronizare pentru a vedea dacă anumite instrucțiuni ale mașinii rulează mult mai mult
încet decât ar trebui să fie, ceea ce ar indica virtualizarea. În acest caz,
fapt generic „virt” este tipărit.
virtaj
Acesta este sistemul de partiționare hardware Virtage Hitachi Virtualization Manager (HVM).
Stare: date furnizate de Bhavna Sarathy, neconfirmate
VirtualBox
Acesta este un invitat VirtualBox.
Status: contribuție de Laurent Leonard
pc virtual
Invitatul pare să ruleze pe Microsoft VirtualPC.
Stare: neconfirmat
VMware
Invitatul pare să ruleze pe hypervisor VMware.
Stare: confirmată de RWMJ
Xen Invitatul pare să ruleze pe hypervisor Xen.
Stare: confirmată de RWMJ
xen-dom0
Acesta este Xen dom0 (domeniu privilegiat).
Stare: confirmată de RWMJ
xen-domU
Acesta este un Xen domU (domeniu invitat paravirtualizat).
Stare: confirmată de RWMJ
xen-hvm
Acesta este un invitat Xen complet virtualizat (HVM).
Stare: confirmată de RWMJ
EXIT STAREA
Programele care folosesc sau împachetează „virt-what” ar trebui să verifice dacă starea de ieșire este 0 înaintea lor
încercați să analizați rezultatul comenzii.
O stare de ieșire diferită de zero indică o eroare, de exemplu, o linie de comandă nerecunoscută
argument. Dacă starea de ieșire este diferită de zero, atunci „faptele” de ieșire (dacă au fost tipărite)
nu poate fi garantată și trebuie ignorată.
Starea de ieșire face nu au vreo legătură cu dacă programul rulează
baremetal sau sub virtualizare, nici dacă „virt-what” a gestionat detectarea
„corect” (ceea ce este practic de necunoscut având în vedere varietatea mare de virtualizări
sisteme de acolo și că unele sisteme le emulează în mod deliberat pe altele).
ALERGARE VIRT-CE DIN ALTE PROGRAME
„virt-what” este conceput astfel încât să îl puteți rula cu ușurință din alte programe sau să îl încheiați
o biblioteca.
Programul dvs. ar trebui să verifice starea de ieșire (consultați secțiunea de mai sus).
Unele limbaje de programare (în special Python: problema 1652) maschează în mod eronat „SIGPIPE”
semnal și nu-l restaurați la executarea subproceselor. „virt-what” este un script shell
iar unele comenzi shell nu funcționează corect când faceți acest lucru. Este posibil să vedeți avertismente de la
„virt-what” similar cu acesta:
echo: eroare de scriere: conductă spartă
Soluția este să setați manerul de semnal „SIGPIPE” înapoi la „SIG_DFL” înainte de a rula
„virt-ce”.
IMPORTANT NOTĂ
De cele mai multe ori, utilizarea acestui program este greşit lucru de facut. În schimb, ar trebui să detectezi
caracteristicile specifice pe care doriți să le utilizați. (De exemplu, dacă doriți să emiteți
comenzile hypervisorului Xen pe care le-ați căuta în fișierul „/proc/xen/privcmd”).
Cu toate acestea, oamenii continuă să solicite acest lucru, așa că le oferim. Există câteva utilizări legitime:
Instrument de raportare a erorilor
Dacă credeți că virtualizarea ar putea afecta modul în care rulează programul dvs., atunci ați putea
utilizați „virt-what” pentru a raporta acest lucru într-un instrument de raportare a erorilor.
Instrumente de afișare a stării și monitorizare
Puteți include aceste informații în programele de stare și monitorizare.
Reglarea sistemului (uneori)
Este posibil să utilizați acest program pentru a regla un sistem de operare, astfel încât să ruleze mai bine ca virtual
mașină a unui anumit hypervisor. Cu toate acestea, dacă instalați drivere paravirtualizate,
este mai bine să verificați caracteristicile specifice de care au nevoie driverele dvs. (de exemplu, pentru prezența
a dispozitivelor PCI).
Utilizați virt-what online folosind serviciile onworks.net