Dit is de opdracht virt-inspector die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator
PROGRAMMA:
NAAM
virt-inspector - Toon de versie van het besturingssysteem en andere informatie over een virtual
machine
KORTE INHOUD
virt-inspector [--opties] -d domname
virt-inspector [--opties] -a disk.img [-a disk.img ...]
Oude stijl:
virt-inspecteur domname
virt-inspecteur schijf.img [schijf.img ...]
PRODUCTBESCHRIJVING
virt-inspecteur onderzoekt een virtuele machine of schijfkopie en probeert de versie te bepalen
van het besturingssysteem en andere informatie over de virtuele machine.
Virt-inspector produceert XML-uitvoer voor invoer in andere programma's.
Gebruik bij normaal gebruik "virt-inspector -d domname" waarbij "domname" het libvirt-domein is
(zie: "virsh lijst --all").
Je kunt virt-inspector ook rechtstreeks op schijfimages draaien vanaf een enkele virtuele machine.
Gebruik "virt-inspector -a disk.img". In zeldzame gevallen heeft een domein meerdere blokapparaten, in
in welk geval je er meerdere moet noemen -a opties na elkaar, met de eerste
overeenkomend met die van de gast / Dev / sda, de tweede voor de gast / Dev / sdb enzovoort.
Je kunt virt-inspector ook uitvoeren op installatieschijven, live-cd's, opstartbare USB-sleutels en dergelijke.
Virt-inspecteur kan alleen inspecteren en rapporteren een domein at a tijd. Om meerdere te inspecteren
virtuele machines, moet je virt-inspector meerdere keren uitvoeren (bijvoorbeeld vanuit een shell
script voor lus).
Omdat virt-inspector directe toegang tot gastafbeeldingen nodig heeft, werkt het normaal gesproken niet over
libvirt-verbindingen op afstand.
Alle informatie die beschikbaar is van virt-inspector is ook beschikbaar via de kern
libguestfs inspectie-API (zie "INSPECTIE" in gastfs(3)). Dezelfde informatie kan ook:
worden opgehaald met guestfish of via libguestfs-bindingen in veel programmeertalen (zie
"INSPECTIEGEGEVENS VERKRIJGEN VAN DE LIBGUESTFS API").
OPTIES
--help
Korte hulp weergeven.
-a filet
--toevoegen filet
Toevoegen filet wat een schijfkopie van een virtuele machine zou moeten zijn. Als de virtuele machine
heeft meerdere blokapparaten, u moet ze allemaal voorzien van aparte -a opties.
Het formaat van de schijfkopie wordt automatisch gedetecteerd. Om dit op te heffen en a . te forceren
bepaald formaat gebruik de --formaat=.. optie.
-a URI
--toevoegen URI
Voeg een externe schijf toe. Zie "OPSLAG OP AFSTAND TOEVOEGEN" in gastvis(1).
-c URI
--aansluiten URI
Als je libvirt gebruikt, maak dan verbinding met de gegeven URI. Indien weggelaten, maken we verbinding met de
standaard libvirt-hypervisor.
Libvirt wordt alleen gebruikt als je een "domname" opgeeft op de commandoregel. Als u opgeeft:
gast apparaten rechtstreeks blokkeren (-a), dan wordt libvirt helemaal niet gebruikt.
-d gast
--domein gast
Voeg alle schijven toe van de genoemde libvirt guest. Domein-UUID's kunnen worden gebruikt in plaats van:
namen.
--echo-toetsen
Bij het vragen om sleutels en wachtwoordzinnen, schakelt virt-inspector normaal gesproken echo uit, dus
u kunt niet zien wat u typt. Als u zich geen zorgen maakt over Tempest-aanvallen en
er is niemand anders in de kamer, u kunt deze vlag specificeren om te zien wat u typt.
--format=rauw|qcow2|..
--formaat
Geef het formaat van schijfkopieën op dat op de opdrachtregel wordt gegeven. Als dit wordt weggelaten dan
het formaat wordt automatisch gedetecteerd uit de inhoud van de schijfkopie.
Als schijfimages worden aangevraagd bij libvirt, dan vraagt dit programma libvirt hierom
informatie. In dit geval wordt de waarde van de formaatparameter genegeerd.
Als u met niet-vertrouwde gastschijfkopieën in onbewerkte indeling werkt, moet u ervoor zorgen dat het formaat
wordt altijd aangegeven.
--sleutels-van-stdin
Lees sleutel- of wachtwoordzinparameters van stdin. De standaard is om te proberen te lezen
wachtwoordzinnen van de gebruiker door te openen /dev/tty.
-v
--uitgebreid
Schakel uitgebreide berichten in voor foutopsporing.
-V
--versie
Versienummer weergeven en afsluiten.
-x Schakel tracering van libguestfs API-aanroepen in.
--xpad vraag
Voer een XPath-query uit op de XML op stdin en druk het resultaat af op stdout. In deze
mode virt-inspector voert eenvoudig een XPath-query uit; alle andere inspectiefuncties zijn:
gehandicapt. Zie "XPATH QUERIES" hieronder voor enkele voorbeelden.
OUDE STIJL COMMAND LINE ARGUMENTEN
Eerdere versies van virt-inspector lieten je ofwel schrijven:
virt-inspecteur schijf.img [schijf.img ...]
or
virt-inspecteur gastnaam
terwijl je in deze versie zou moeten gebruiken -a or -d respectievelijk om de verwarrende zaak te vermijden
waar een schijfkopie dezelfde naam kan hebben als een gast.
Voor compatibiliteit wordt de oude stijl nog steeds ondersteund.
XML FORMAT
De virt-inspector XML wordt precies beschreven in een RELAX NG schemabestand virt-inspecteur.rng
die wordt geleverd met libguestfs. Dit gedeelte is slechts een overzicht.
Het element op het hoogste niveau is , en het bevat een of meer
elementen. Je zou er maar meer dan één zien element als de virtuele
machine is multi-boot, wat zeldzaam is in echte VM's.
In de tag zijn verschillende optionele velden die de operationele
systeem, de architectuur, de beschrijvende "productnaam"-reeks, het type besturingssysteem enzovoort,
zoals in dit voorbeeld:
/dev/sda2/ Root>
ramen
i386
ramen
Windows 7 Enterprise
Cliënt
6
1
/Ramen
geïnstalleerd
In het kort, is de klasse van het besturingssysteem (zoiets als "linux" of "windows"),
is de distributie (bijv. "fedora" maar veel andere distributies worden herkend) en
is de gastarchitectuur. De andere velden spreken voor zich, maar
omdat deze velden rechtstreeks afkomstig zijn van de libguestfs-inspectie-API die u kunt vinden
nauwkeurige informatie van "INSPECTIE" in gastfs(3).
De element is het rootbestandssysteemapparaat, maar vanuit het oogpunt van libguestfs
(blokapparaten kunnen binnen de VM zelf totaal verschillende namen hebben).
Un*x-achtige gasten hebben meestal meerdere bestandssystemen die op verschillende
mountpoints, en deze worden beschreven in de element dat er als volgt uitziet:
...
/
/bagageruimte
zoals bij , apparaten zijn vanuit het oogpunt van libguestfs en hebben mogelijk volledig
verschillende namen in de gast. Alleen koppelbare bestandssystemen verschijnen in deze lijst, niet
dingen zoals apparaten wisselen.
is als maar dekt allen bestandssystemen van de gast,
inclusief swap en lege partities. (In het zeldzame geval van een multi-boot guest dekt het)
bestandssystemen die bij dit besturingssysteem horen of worden gedeeld met dit besturingssysteem en andere besturingssystemen).
Je zou iets als dit kunnen zien:
...
ext4
Fedora-13-x86_64
<uuid>e6a4db1e-15c2-477b-ac2a-699181c396aa</uuid>
De optionele elementen binnen zijn het bestandssysteemtype, het label en de
UUID.
De gerelateerde elementen , en beschrijven
toepassingen die op de virtuele machine zijn geïnstalleerd.
, indien aanwezig, beschrijft het gebruikte verpakkingssysteem. Typische waarden zouden
zijn "rpm" en "deb".
, indien aanwezig, beschrijft de pakketbeheerder. Typische waarden zijn onder meer:
"yum", "up2date" en "apt"
geeft een overzicht van de geïnstalleerde pakketten of toepassingen.
...
coreutils
8.5
1
De versie- en releasevelden zijn mogelijk niet beschikbaar voor sommige typen gasten. Andere velden
zijn mogelijk, zie "guestfs_inspect_list_applications" in gastfs(3).
Voor besturingssystemen zoals Windows die stationsletters gebruiken, kan virt-inspector vinden:
uit hoe stationsletters worden toegewezen aan bestandssystemen.
...
/dev/sda2
/dev/sdb1
In het bovenstaande voorbeeld verwijst station C naar het bestandssysteem op de tweede partitie op de eerste
schijf, en station E wordt toegewezen aan het bestandssysteem op de eerste partitie op de tweede schijf.
Merk op dat dit alleen betrekking heeft op permanente lokale bestandssysteemtoewijzingen, niet op zaken als netwerk
aandelen. Bovendien worden NTFS-volume-aankoppelpunten hier mogelijk niet vermeld.
Virt-inspector is soms in staat om een icoon of logo voor de gast te extraheren. Het pictogram is
geretourneerd als base64-gecodeerde PNG-gegevens. Merk op dat het pictogram erg groot en hoog kan zijn
kwaliteit.
...
iVBORw0KGgoAAAANSUhEUgAAAAAAABg[.......]
[... veel regels base64-gegevens ...]
Om het pictogram weer te geven, moet je het uitpakken en de base64-gegevens terug converteren naar een binair
het dossier. Gebruik een XPath-query of gewoon een editor om de gegevens te extraheren en gebruik vervolgens de coreutils
base64(1) programma om de conversie terug naar een PNG-bestand uit te voeren:
base64 -i -d < icon.data > icon.png
INSPECTIE INSTALL SCHIJVEN, LEEF CD's
Virt-inspector kan sommige installatieprogramma's van besturingssystemen detecteren op installatieschijven, live-cd's,
opstartbare USB-sleutels en meer.
In dit geval de tag zal "installer" bevatten en andere velden kunnen aanwezig zijn om
geef een live-cd, netwerkinstallatieprogramma of een deel van een meerdelige cd aan. Bijvoorbeeld:
/dev/sda/ Root>
linux
i386
ubuntu
Ubuntu 10.10 "Maverick Meerkat"
10
10
installateur
XPATH VRAGEN
Virt-inspector bevat ingebouwde ondersteuning voor het uitvoeren van XPath-query's. De reden voor
inclusief XPath-ondersteuning direct in virt-inspector is gewoon dat er geen goede en
algemeen beschikbare opdrachtregelprogramma's die XPath-query's kunnen uitvoeren. De enige goede is
xmlstarlet(1) en dat is niet beschikbaar op Red Hat Enterprise Linux.
Gebruik de om een XPath-query uit te voeren --xpad optie. Merk op dat in deze modus virt-inspector
leest eenvoudig XML van stdin en voert het queryresultaat uit op stdout. Alle andere inspecties:
functies zijn uitgeschakeld in deze modus.
Bijvoorbeeld:
$ virt-inspecteur -d Gast | virt-inspector --xpath '//filesystems'
ext4
[...]
$ virt-inspecteur -d Gast |
virt-inspector --xpath "string(//bestandssysteem[@dev='/dev/sda1']/type)"
ext4
$ virt-inspecteur -d Gast |
virt-inspector --xpath 'string(//icon)' | base64 -i -d | Scherm -
[geeft het gastpictogram weer, als die er is]
KRIJGEN INSPECTIE GEGEVENS NU HET LIBGUESTFS API
In vroege versies van libguestfs was virt-inspector een groot Perl-script dat:
veel heuristieken voor het inspecteren van gasten. Dit had verschillende problemen: om te doen
inspectie van andere tools (zoals guestfish) die we moesten aanroepen naar dit Perl-script; en
het gaf Perl voorrang boven andere talen die libguestfs ondersteunt.
Door libguestfs 1.8 hadden we de Perl-code in C herschreven en alles in de
kern libguestfs API (gastfs(3)). Nu is virt-inspector gewoon een dun C-programma over de
kern C-API. Alle inspectie-informatie is beschikbaar in alle programmeertalen
die libguestfs ondersteunt, en van guestfish.
Voor een beschrijving van de C-inspectie-API, lees "INSPECTIE" in gastfs(3).
Bijvoorbeeld code met behulp van de C-inspectie-API, zoek naar: inspecteren-vm.c die wordt geleverd met
libguestfs.
inspecteren-vm.c is ook in andere talen vertaald. Bijvoorbeeld, inspect_vm.pl is
de Perl-vertaling, en er zijn andere vertalingen voor OCaml, Python, enz. Zie "GEBRUIK"
LIBGUESTFS MET ANDERE PROGRAMMEERTALEN" in gastfs(3) voor een lijst met man-pagina's die:
bevatten deze voorbeeldcode.
KRIJGEN INSPECTIE GEGEVENS NU GASTENVIS
Als je de gastvis gebruikt -i optie, dan de belangrijkste C-inspectie-API "guestfs_inspect_os" in
gastfs(3) wordt genoemd. Dit komt overeen met het guestfish-commando "inspect-os". Jij kan
noem dit guestfish-commando ook met de hand.
"inspect-os" voert inspectie uit op de huidige schijfkopie en retourneert de lijst met
besturingssystemen gevonden. Elk besturingssysteem wordt vertegenwoordigd door zijn rootbestandssysteemapparaat. In de
In de meeste gevallen drukt dit commando niets af (geen besturingssystemen gevonden), of een enkel root-apparaat,
maar pas op dat het meerdere regels kan afdrukken als er meerdere besturingssystemen zijn of als er een
installatie-cd die bij de gast is aangesloten.
$ gastvis --ro -a F15x32.img
> loop
> inspecteren
/dev/vg_f15x32/lv_root
Met behulp van het root-apparaat kun je meer informatie over de gast ophalen:
> inspect-get-type /dev/vg_f15x32/lv_root
linux
> inspect-get-distro /dev/vg_f15x32/lv_root
fedora
> inspect-get-major-version /dev/vg_f15x32/lv_root
15
> inspect-get-product-name /dev/vg_f15x32/lv_root
Fedora-release 15 (Lovelock)
Beperkingen van guestfish maken het moeilijk om het root-apparaat aan een variabele toe te wijzen (aangezien
guestfish heeft geen variabelen), dus als je dit reproduceerbaar wilt doen, ben je beter
uit het schrijven van een script met behulp van een van de andere talen die de libguestfs API ondersteunt.
Om applicaties weer te geven, moet u eerst de schijven aankoppelen:
> inspect-get-mountpoints /dev/vg_f15x32/lv_root
/: /dev/vg_f15x32/lv_root
/bagageruimte: /dev/vda1
> mount-ro /dev/vg_f15x32/lv_root /
> mount-ro /dev/vda1 /bagageruimte
en roep vervolgens de inspect-list-applications API aan:
> inspect-list-applicaties /dev/vg_f15x32/lv_root | hoofd -28
[0] = {
app_name: ConsoleKit
app_display_name:
app_epoch: 0
app_versie: 0.4.5
app_release: 1.fc15
app_install_path:
app_trans_path:
app_uitgever:
app_url:
app_source_pakket:
app_samenvatting:
app_beschrijving:
}
[1] = {
app_name: ConsoleKit-libs
app_display_name:
app_epoch: 0
app_versie: 0.4.5
app_release: 1.fc15
app_install_path:
app_trans_path:
app_uitgever:
app_url:
app_source_pakket:
app_samenvatting:
app_beschrijving:
}
Om een pictogram voor de gast weer te geven, moet u er rekening mee houden dat bestandssystemen ook moeten worden gemount zoals hierboven.
U kunt dan doen:
> inspect-get-icon /dev/vg_f15x32/lv_root | Scherm -
OUDE VERSIES OF VIRT-INSPECTOR
Zoals hierboven beschreven, werden vroege versies van libguestfs geleverd met een andere virt-inspector
programma geschreven in Perl (de huidige versie is geschreven in C). De XML-uitvoer van de Perl
virt-inspector was anders en het kon ook in andere formaten zoals tekst worden uitgevoerd.
De oude virt-inspector wordt niet langer ondersteund of geleverd met libguestfs.
Om de zaken nog verder te verwarren, leveren we in Red Hat Enterprise Linux 6 twee versies van virtuele
inspecteur met verschillende namen:
virt-inspector Oude Perl-versie.
virt-inspector2 Nieuwe C-versie.
EXIT STATUS
Dit programma retourneert 0 als het is gelukt, of niet-nul als er een fout is opgetreden.
Gebruik virt-inspector online met onworks.net services