virt-inspector - Online na nuvem

Este é o comando virt-inspector que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

PROGRAMA:

NOME


virt-inspector - Exibe a versão do sistema operacional e outras informações sobre um virtual
máquina

SINOPSE


virt-inspector [--options] -d nome de domínio

virt-inspector [--options] -a disk.img [-a disk.img ...]

Estilo antigo:

nome de domínio virt-inspector

virt-inspetor disk.img [disk.img ...]

DESCRIÇÃO


inspetor virtual examina uma máquina virtual ou imagem de disco e tenta determinar a versão
do sistema operacional e outras informações sobre a máquina virtual.

O Virt-inspector produz saída XML para alimentar outros programas.

No uso normal, use "virt-inspector -d domname" onde "domname" é o domínio libvirt
(veja: "lista virsh --todos").

Você também pode executar o virt-inspector diretamente nas imagens de disco de uma única máquina virtual.
Use "virt-inspector -a disk.img". Em casos raros, um domínio tem vários dispositivos de bloqueio, em
caso em que você deve listar vários -a opções uma após a outra, com a primeira
correspondente ao do convidado / Dev / sda, o segundo para o convidado / dev / sdb e assim por diante.

Você também pode executar o virt-inspector em discos de instalação, live CDs, chaves USB inicializáveis ​​e semelhantes.

O Virt-inspector só pode inspecionar e relatar um domínio at a tempo. Para inspecionar vários
máquinas virtuais, você deve executar o virt-inspector várias vezes (por exemplo, a partir de um shell
script for-loop).

Como o virt-inspector precisa de acesso direto às imagens dos convidados, ele normalmente não funcionará
conexões libvirt remotas.

Todas as informações disponíveis no virt-inspector também estão disponíveis no núcleo
API de inspeção libguestfs (veja "INSPEÇÃO" em convidados(3)). A mesma informação também pode
ser obtido usando guestfish ou através de ligações libguestfs em muitas linguagens de programação (veja
"OBTENDO DADOS DE INSPEÇÃO DA API LIBGUESTFS").

OPÇÕES


--Socorro
Mostra uma breve ajuda.

-a lima
--adicionar lima
Adicionar lima que deve ser uma imagem de disco de uma máquina virtual. Se a máquina virtual
tem vários dispositivos de bloco, você deve fornecer todos eles com -a opções.

O formato da imagem do disco é detectado automaticamente. Para substituir isso e forçar um
formato particular use o --format = .. opção.

-a URI
--adicionar URI
Adicione um disco remoto. Veja "ADICIONANDO ARMAZENAMENTO REMOTO" em peixe convidado(1).

-c URI
--conectar URI
Se estiver usando libvirt, conecte-se ao URI. Se omitido, então nos conectamos ao
hipervisor libvirt padrão.

Libvirt é usado apenas se você especificar um "domname" na linha de comando. Se você especificar
dispositivos de bloqueio de convidados diretamente (-a), então o libvirt não é usado.

-d convidado
--domínio convidado
Adicione todos os discos do convidado libvirt nomeado. UUIDs de domínio podem ser usados ​​em vez de
nomes.

--echo-keys
Ao solicitar chaves e senhas, o virt-inspector normalmente desativa o eco, então
você não pode ver o que está digitando. Se você não está preocupado com os ataques de Tempestade e
não há mais ninguém na sala. Você pode especificar este sinalizador para ver o que está digitando.

--format = raw | qcow2 | ..
--formato
Especifique o formato das imagens de disco fornecidas na linha de comando. Se for omitido, então
o formato é detectado automaticamente a partir do conteúdo da imagem do disco.

Se as imagens de disco são solicitadas da libvirt, então este programa pede à libvirt por isso
em formação. Nesse caso, o valor do parâmetro de formato é ignorado.

Se estiver trabalhando com imagens de disco de convidado de formato bruto não confiáveis, você deve garantir o formato
é sempre especificado.

--keys-from-stdin
Leia os parâmetros de chave ou senha de stdin. O padrão é tentar ler
senhas do usuário abrindo / dev / tty.

-v
--verbose
Habilite mensagens detalhadas para depuração.

-V
--versão
Exibe o número da versão e sai.

-x Habilite o rastreamento de chamadas de API libguestfs.

--xpath pergunta
Execute uma consulta XPath no XML em stdin e imprima o resultado em stdout. Nisso
o modo virt-inspector simplesmente executa uma consulta XPath; todas as outras funções de inspeção são
Desativado. Consulte "XPATH QUERIES" abaixo para alguns exemplos.

ESTILO ANTIGO COMANDO LINHA ARGUMENTOS


As versões anteriores do virt-inspector permitiam que você escrevesse:

virt-inspetor disk.img [disk.img ...]

or

nome de convidado do virt-inspector

enquanto nesta versão você deve usar -a or -d respectivamente para evitar o caso confuso
onde uma imagem de disco pode ter o mesmo nome de um convidado.

Para compatibilidade, o estilo antigo ainda é suportado.

XML FORMATO


O virt-inspector XML é descrito precisamente em um arquivo de esquema RELAX NG virt-inspector.rng
que é fornecido com libguestfs. Esta seção é apenas uma visão geral.

O elemento de nível superior é , e contém um ou mais
elementos Você só veria mais de um elemento se o virtual
máquina é multi-boot, o que é extremamente raro em VMs do mundo real.


No tag são vários campos opcionais que descrevem o funcionamento
sistema, sua arquitetura, a string descritiva do "nome do produto", o tipo de sistema operacional e assim por diante,
como neste exemplo:



/ dev / sda2/ Root>
janelas
i386
janelas
Windows 7 Enterprise
Cliente
6
1
/Janelas
instalado

Em resumo, é a classe do sistema operacional (algo como "linux" ou "windows"),
é a distribuição (por exemplo, "fedora", mas muitas outras distros são reconhecidas) e
é a arquitetura do convidado. Os outros campos são bastante autoexplicativos, mas
porque esses campos são obtidos diretamente da API de inspeção libguestfs, você pode encontrar
informações precisas de "INSPEÇÃO" em convidados(3).

o elemento é o dispositivo do sistema de arquivos raiz, mas do ponto de vista de libguestfs
(dispositivos de bloco podem ter nomes completamente diferentes dentro da própria VM).


Convidados do tipo Un * x normalmente têm vários sistemas de arquivos que são montados em vários
pontos de montagem, e estes são descritos no elemento que se parece com isto:



...

/
/ Bota


Como com , os dispositivos são do ponto de vista da libguestfs e podem ter completamente
nomes diferentes dentro do convidado. Apenas sistemas de arquivos montáveis ​​aparecem nesta lista, não
coisas como dispositivos de troca.


é como mas cobre todos os sistemas de arquivos pertencentes ao convidado,
incluindo swap e partições vazias. (No caso raro de um convidado de inicialização múltipla, cobre
sistemas de arquivos pertencentes a este sistema operacional ou compartilhados com este sistema operacional e outros sistemas operacionais).

Você pode ver algo assim:



...


ext4
Fedora-13-x86_64
<uuid>e6a4db1e-15c2-477b-ac2a-699181c396aa</uuid>


Os elementos opcionais em são o tipo de sistema de arquivos, o rótulo e o
UUID.


Os elementos relacionados , e descrever
aplicativos instalados na máquina virtual.

, se presente, descreve o sistema de embalagem usado. Valores típicos seriam
ser "rpm" e "deb".

, se presente, descreve o gerenciador de pacotes. Os valores típicos incluem
"yum", "up2date" e "apt"

lista os pacotes ou aplicativos instalados.



...


coreutils
8.5
1


Os campos de versão e liberação podem não estar disponíveis para alguns tipos de convidados. Outros campos
são possíveis, consulte "guestfs_inspect_list_applications" em convidados(3).


Para sistemas operacionais como o Windows que usam letras de unidade, virt-inspector é capaz de encontrar
como letras de unidade mapeiam para sistemas de arquivos.



...

/ dev / sda2
/ dev / sdb1


No exemplo acima, a unidade C mapeia para o sistema de arquivos na segunda partição do primeiro
disco e a unidade E mapeia para o sistema de arquivos na primeira partição no segundo disco.

Observe que isso cobre apenas mapeamentos permanentes do sistema de arquivos local, não coisas como rede
compartilhamentos. Além disso, os pontos de montagem de volume NTFS podem não estar listados aqui.


O Virt-inspector às vezes é capaz de extrair um ícone ou logotipo para o convidado. O ícone é
retornado como dados PNG codificados em base64. Observe que o ícone pode ser muito grande e alto
qualidade.



...

iVBORw0KGgoAAAANSUhEUgAAAGAAAABg [.......]
[... muitas linhas de dados base64 ...]


Para exibir o ícone, você deve extraí-lo e converter os dados base64 em um binário
Arquivo. Use uma consulta XPath ou simplesmente um editor para extrair os dados e, em seguida, use o coreutils
base64(1) programa para fazer a conversão de volta para um arquivo PNG:

base64 -i -d <icon.data> icon.png

INSPECIONANDO INSTALAR DISCOS, Ao Vivo CDs
O Virt-inspector pode detectar alguns instaladores de sistema operacional em discos de instalação, live CDs,
chaves USB inicializáveis ​​e muito mais.

Neste caso, o tag irá conter "instalador" e outros campos podem estar presentes para
indicam um live CD, instalador de rede ou uma parte de um CD multiparte. Por exemplo:



/ dev / sda/ Root>
linux
i386
ubuntu
Ubuntu 10.10 "Maverick Meerkat"
10
10
instalador


XPATH QUERIES


O Virt-inspector inclui suporte integrado para a execução de consultas XPath. A razão para
incluir suporte XPath diretamente no virt-inspector é simplesmente que não há boas e
programas de linha de comando amplamente disponíveis que podem fazer consultas XPath. O único bom é
xmlstarlet(1) e que não está disponível no Red Hat Enterprise Linux.

Para realizar uma consulta XPath, use o --xpath opção. Observe que neste modo, virt-inspector
simplesmente lê XML de stdin e exibe o resultado da consulta em stdout. Todas as outras inspeções
recursos são desabilitados neste modo.

Por exemplo:

$ virt-inspector -d Convidado | virt-inspector --xpath '// sistemas de arquivos'


ext4
[...]

$ virt-inspector -d Convidado |
virt-inspector --xpath "string (// sistema de arquivos [@dev = '/ dev / sda1'] / tipo)"
ext4

$ virt-inspector -d Convidado |
virt-inspector --xpath 'string (// ícone)' | base64 -i -d | exibição -
[exibe o ícone de convidado, se houver]

OBTENDO INSPEÇÃO DADOS A PARTIR DE A LIBGUESTFS API


Nas primeiras versões do libguestfs, virt-inspector era um grande script Perl que continha
muitas heurísticas para inspecionar convidados. Isso teve vários problemas: para fazer
inspeção de outras ferramentas (como guestfish), tivemos que chamar esse script Perl; e
ele privilegiou o Perl sobre outras linguagens que libguestfs suporta.

Por libguestfs 1.8 nós reescrevemos o código Perl em C, e incorporamos tudo no
API libguestfs principal (convidados(3)). Agora virt-inspector é simplesmente um programa C fino sobre o
API C principal. Todas as informações de inspeção estão disponíveis em todas as linguagens de programação
que libguestfs suporta, e de guestfish.

Para obter uma descrição da API de inspeção C, leia "INSPEÇÃO" em convidados(3).

Por exemplo de código usando a API de inspeção C, procure inspecionar-vm.c que vem com
libguestfs.

inspecionar-vm.c também foi traduzido para outros idiomas. Por exemplo, inspecionar_vm.pl is
a tradução Perl, e há outras traduções para OCaml, Python, etc. Consulte "USANDO
LIBGUESTFS COM OUTRAS LÍNGUAS DE PROGRAMAÇÃO "em convidados(3) para uma lista de páginas de manual que
contém este código de exemplo.

OBTENDO INSPEÇÃO DADOS A PARTIR DE PEIXE CONVIDADO
Se você usar o peixe-convidado -i opção, então a principal API de inspeção C "guestfs_inspect_os" em
convidados(3) é chamado. Isso é equivalente ao comando guestfish "inspect-os". Você pode
também chame este comando guestfish manualmente.

"inspect-os" realiza inspeção na imagem de disco atual, retornando a lista de
sistemas operacionais encontrados. Cada sistema operacional é representado por seu dispositivo de sistema de arquivos raiz. No
na maioria dos casos, este comando não imprime nada (nenhum sistema operacional encontrado), ou um único dispositivo raiz,
mas esteja ciente de que ele pode imprimir várias linhas se houver vários sistemas operacionais ou se houver um
instale o CD anexado ao convidado.

$ guestfish --ro -a F15x32.img
> corre
> inspecionar
/ dev / vg_f15x32 / lv_root

Usando o dispositivo raiz, você pode buscar mais informações sobre o convidado:

> 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 versão 15 (Lovelock)

As limitações do guestfish tornam difícil atribuir o dispositivo raiz a uma variável (uma vez que
guestfish não tem variáveis), então se você quiser fazer isso de forma reproduzível, é melhor
escrevendo um script usando uma das outras linguagens que a API libguestfs suporta.

Para listar os aplicativos, você deve primeiro montar os discos:

> inspect-get-mountpoints / dev / vg_f15x32 / lv_root
/: / dev / vg_f15x32 / lv_root
/ Bota: / dev / vda1
> mount-ro / dev / vg_f15x32 / lv_root /
> mount-ro / dev / vda1 / Bota

e chame a API inspect-list-applications:

> inspect-list-applications / dev / vg_f15x32 / lv_root | cabeça -28
[0] = {
nome_do_aplicativo: ConsoleKit
nome_display_aplicativo:
app_época: 0
versão_aplicativo: 0.4.5
app_release: 1.fc15
app_install_path:
app_trans_path:
editor_aplicativo:
URL_do_aplicativo:
app_source_package:
resumo_aplicativo:
descrição do aplicativo:
}
[1] = {
nome_do_aplicativo: ConsoleKit-libs
nome_display_aplicativo:
app_época: 0
versão_aplicativo: 0.4.5
app_release: 1.fc15
app_install_path:
app_trans_path:
editor_aplicativo:
URL_do_aplicativo:
app_source_package:
resumo_aplicativo:
descrição do aplicativo:
}

Para exibir um ícone para o convidado, observe que os sistemas de arquivos também devem ser montados como acima.
Você pode então fazer:

> inspect-get-icon / dev / vg_f15x32 / lv_root | exibição -

OLD VERSÕES OF VIRT-INSPETOR


Conforme descrito acima, as primeiras versões de libguestfs enviadas com um inspetor virt diferente
programa escrito em Perl (a versão atual é escrita em C). A saída XML do Perl
virt-inspector era diferente e também podia imprimir em outros formatos, como texto.

O antigo virt-inspector não é mais suportado ou fornecido com libguestfs.

Para confundir ainda mais as coisas, no Red Hat Enterprise Linux 6 nós enviamos duas versões do virt-
inspetor com nomes diferentes:

virt-inspector Versão antiga do Perl.
virt-inspector2 Nova versão C.

SAIR STATUS


Este programa retorna 0 se for bem-sucedido ou diferente de zero se houver um erro.

Use virt-inspector online usando serviços onworks.net



Programas online mais recentes para Linux e Windows