virt-inspector - онлайн у хмарі

Це команда virt-inspector, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

ПРОГРАМА:

ІМ'Я


virt-inspector - Відображення версії операційної системи та іншої інформації про віртуальний
машина

СИНТАКСИС


virt-inspector [--options] -d ім'я домену

virt-inspector [--параметри] -a disk.img [-a disk.img ...]

Старий стиль:

virt-inspector domname

virt-інспектор disk.img [disk.img ...]

ОПИС


вірт-інспектор перевіряє віртуальну машину або образ диска та намагається визначити версію
операційної системи та іншу інформацію про віртуальну машину.

Virt-Inspector виробляє вихідні дані XML для подачі в інші програми.

У звичайному використанні використовуйте "virt-inspector -d domname", де "domname" - це домен libvirt
(див.: "virsh list --all").

Ви також можете запустити virt-inspector безпосередньо на образах дисків з однієї віртуальної машини.
Використовуйте "virt-inspector -a disk.img". У рідкісних випадках домен має кілька блокових пристроїв, в
для яких випадків слід перерахувати кілька -a варіанти один за одним, з першим
відповідний гостю / dev / sda, другий до гостя / dev / sdb і так далі.

Ви також можете запустити virt-inspector на інсталяційних дисках, живих компакт-дисках, завантажувальних USB-ключах тощо.

Virt-Inspector може лише перевіряти та звітувати один домен at a час. Для огляду кількох
віртуальних машин, вам доведеться кілька разів запустити virt-inspector (наприклад, з оболонки
скрипт для циклу).

Оскільки virt-inspector потребує прямого доступу до гостьових зображень, він зазвичай не працює
віддалені підключення libvirt.

Вся інформація, доступна від virt-inspector, також доступна через ядро
API перевірки libguestfs (див. «ПЕРЕВІРКА» в guestfs(3)). Така ж інформація також може
отримати за допомогою guestfish або через прив’язки libguestfs на багатьох мовах програмування (див.
«ОТРИМАННЯ ДАНИХ ІНСПЕКЦІЇ З API LIBGUESTFS»).

ВАРІАНТИ


--допомога
Відобразити коротку довідку.

-a файл
--додати файл
додавати файл який має бути образом диска з віртуальної машини. Якщо віртуальна машина
має кілька блочних пристроїв, ви повинні постачати їх окремо -a Варіанти.

Формат образу диска визначається автоматично. Щоб скасувати це та примусити a
використовувати певний формат --формат=.. варіант.

-a URI
--додати URI
Додайте віддалений диск. Дивіться розділ «ДОДАВАННЯ ДИСТАНЦІЙНОГО СХОВ'Я» в риба-гость(1).

-c URI
-- підключити URI
Якщо використовується libvirt, підключіться до даного URI. Якщо пропущено, ми підключаємось до
гіпервізор libvirt за замовчуванням.

Libvirt використовується лише в тому випадку, якщо в командному рядку вказано «ім’я домену». Якщо ви вкажете
пристрої блокування гостей безпосередньо (-a), то libvirt взагалі не використовується.

-d гість
--домен гість
Додайте всі диски з названого гостя libvirt. Замість них можна використовувати UUID домену
імена.

--ехо-клавіші
Коли запитує ключі та парольні фрази, virt-inspector зазвичай вимикає відлуння, тому
ви не бачите, що ви вводите. Якщо вас не турбують атаки Tempest і
у кімнаті більше нікого немає, ви можете вказати цей прапорець, щоб побачити, що ви вводите.

--format=raw|qcow2|..
--формат
Вкажіть формат образів диска, заданий у командному рядку. Якщо це пропущено, тоді
формат автоматично визначається за вмістом образу диска.

Якщо образи дисків запитуються від libvirt, то ця програма запитує про це libvirt
інформації. У цьому випадку значення параметра format ігнорується.

Якщо ви працюєте з ненадійними образами гостьового диска в необробленому форматі, ви повинні переконатися у форматі
завжди вказується.

--ключі-від-стандарту
Читання параметрів ключа або парольної фрази зі стандартного входу. За замовчуванням потрібно спробувати прочитати
парольні фрази від користувача, відкриваючи /dev/tty.

-v
-багатослівний
Увімкнути докладні повідомлення для налагодження.

-V
-- версія
Відобразити номер версії та вийти.

-x Увімкнути відстеження викликів API libguestfs.

--xpath запит
Виконайте запит XPath до XML на stdin і роздрукуйте результат на стандартному виводі. У цьому
virt-inspector просто запускає запит XPath; всі інші функції перевірки є
інвалід. Див. "ЗАПИТИ XPATH" нижче для деяких прикладів.

СТАРИЙ СТИЛЬ КОМАНДА ЛІНІЯ АРГУМЕНТИ


Попередні версії virt-inspector дозволяли вам писати:

virt-інспектор disk.img [disk.img ...]

or

ім'я гостя virt-inspector

тоді як у цій версії ви повинні використовувати -a or -d відповідно, щоб уникнути плутанини
де образ диска може мати те саме ім'я, що й ім'я гостя.

Для сумісності все ще підтримується старий стиль.

XML ФОРМАТ


XML virt-inspector точно описаний у файлі схеми RELAX NG virt-inspector.rng
який постачається з libguestfs. Цей розділ є лише оглядом.

Елемент верхнього рівня – це , і він містить один або кілька
елементів. Ви б побачили лише більше одного елемент, якщо віртуальний
машина є багатозавантажуваною, що надзвичайно рідко зустрічається у реальних віртуальних машинах.


В тег – це різні необов’язкові поля, які описують операцію
система, її архітектура, описовий рядок "назва продукту", тип ОС і так далі,
як у цьому прикладі:



/dev/sda2/ корінь>
вікна
i386
вікна
Windows 7 Enterprise
Клієнт
6
1
/Windows
встановлено

Коротко, це клас операційної системи (щось на кшталт "linux" або "windows"),
є дистрибутивом (наприклад, "fedora", але розпізнаються багато інших дистрибутивів) і
є гостьовою архітектурою. Інші поля досить зрозумілі, але
оскільки ці поля беруться безпосередньо з API перевірки libguestfs, який ви можете знайти
точна інформація від «ІНСПЕКЦІЇ» в guestfs(3).

The елемент є пристроєм кореневої файлової системи, але з точки зору libguestfs
(блокові пристрої можуть мати зовсім інші імена всередині самої віртуальної машини).


Un*x-подібні гості зазвичай мають кілька файлових систем, які змонтовані в різні
точки монтування, і вони описані в елемент, який виглядає так:



...

/
/ boot


Як і в разі , пристрої з точки зору libguestfs, а можуть і повністю
різні імена всередині гостя. У цьому списку відображаються лише файлові системи, які можна монтувати, а не
такі речі, як заміна пристроїв.


це як але покриває всі файлові системи, що належать гостю,
включаючи підкачки та порожні розділи. (У рідкісному випадку гостя з кількома завантаженнями він охоплює
файлові системи, що належать цій ОС або спільні з цією ОС та іншими ОС).

Ви можете побачити щось подібне:



...


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


Додаткові елементи всередині – це тип файлової системи, мітка та
UUID.


Супутні елементи , і описати
програми, встановлені у віртуальній машині.

, якщо є, описує використану систему пакування. Типові значення б
бути "rpm" і "deb".

, якщо є, описує менеджер пакетів. Типові значення включають
"ням", "up2date" і "apt"

перелічує встановлені пакети або програми.



...


coreutils
8.5
1


Поля версії та випуску можуть бути недоступні для деяких типів гостей. Інші поля
можливі, див. "guestfs_inspect_list_applications" в guestfs(3).


Для операційних систем, таких як Windows, які використовують літери дисків, virt-inspector може знайти
дізнатися, як літери дисків співвідносяться з файловими системами.



...

/dev/sda2
/dev/sdb1


У наведеному вище прикладі диск C зіставляється з файловою системою другого розділу першого
диск, а диск E зіставляється з файловою системою на першому розділі на другому диску.

Зауважте, що це стосується лише постійних відображень локальної файлової системи, а не таких речей, як мережа
акції. Крім того, тут можуть не бути перелічені точки монтування томів NTFS.


Virt-Inspector іноді може витягти піктограму або логотип для гостя. Значок є
повертається як дані PNG із кодуванням base64. Зверніть увагу, що значок може бути дуже великим і високим
якість.



...

iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[.......]
[... багато рядків даних base64 ...]


Щоб відобразити піктограму, ви повинні витягти її та перетворити дані base64 назад у двійковий файл
файл. Використовуйте запит XPath або просто редактор для вилучення даних, а потім використовуйте coreutils
base64(1) програма для перетворення назад у файл PNG:

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

ОГЛЯД ВСТАНОВИТИ ДИСКІ, ЖИТИ Компакт-дисків
Virt-Inspector може виявити деякі інсталятори операційної системи на інсталяційних дисках, живих компакт-дисках,
завантажувальні USB-ключі та багато іншого.

У цьому випадку тег міститиме «інсталятор», а також можуть бути присутні інші поля
вказує живий компакт-диск, мережевий інсталятор або частину компакт-диска, що складається з кількох частин. Наприклад:



/dev/sda/ корінь>
Linux
i386
ubuntu
Ubuntu 10.10 "Maverick Meerkat"
10
10
установник


XPATH ЗАПИТИ


Virt-Inspector включає вбудовану підтримку для виконання запитів XPath. Причина для
в тому числі підтримка XPath безпосередньо в virt-inspector - це просто немає хороших і
широко доступні програми командного рядка, які можуть виконувати запити XPath. Єдиний хороший
xmlstarlet(1) і це недоступне в Red Hat Enterprise Linux.

Щоб виконати запит XPath, скористайтеся --xpath варіант. Зверніть увагу, що в цьому режимі вірт-інспектор
просто читає XML із стандартного входу та виводить результат запиту на стандартний вихід. Всі інші перевірки
функції вимкнено в цьому режимі.

Наприклад:

$ virt-inspector -d Гість | virt-inspector --xpath '//файлові системи'


ext4
[...]

$ virt-inspector -d Гість |
virt-inspector --xpath "рядок(//filesystem[@dev='/dev/sda1']/type)"
ext4

$ virt-inspector -d Гість |
virt-inspector --xpath 'string(//icon)' | base64 -i -d | дисплей -
[відображає піктограму гостя, якщо вона є]

ВІДТВОРЕННЯ ІНСПЕКЦІЯ ДАНІ З THE ЛІБГОСТІ API


У ранніх версіях libguestfs virt-inspector був великим сценарієм Perl, який містив
багато евристики для огляду гостей. Це було кілька проблем: щоб зробити
інспекція з інших інструментів (наприклад, guestfish), які ми повинні були викликати до цього сценарію Perl; і
він надав Perl перевагу над іншими мовами, які підтримує libguestfs.

У libguestfs 1.8 ми переписали код Perl на C і включили все це в
основний API libguestfs (guestfs(3)). Тепер virt-inspector - це просто тонка програма на C над
core C API. Вся інформація про перевірку доступна з усіх мов програмування
що підтримує libguestfs, і від guestfish.

Щоб отримати опис API перевірки C, прочитайте «ІНСПЕКЦІЯ» в guestfs(3).

Наприклад код, який використовує API перевірки C, знайдіть inspect-vm.c який поставляється з
libguestfs.

inspect-vm.c також перекладено іншими мовами. Наприклад, inspect_vm.pl is
переклад Perl, а також є інші переклади для OCaml, Python тощо. Дивіться "ВИКОРИСТАННЯ
LIBGUESTFS З ІНШИМИ МОВАМИ ПРОГРАМУВАННЯ» в guestfs(3) для списку сторінок man, які
містить цей приклад коду.

ВІДТВОРЕННЯ ІНСПЕКЦІЯ ДАНІ З РИБА ГОСТЯ
Якщо ви використовуєте рибу гостя -i параметр, потім основний API перевірки C "guestfs_inspect_os" в
guestfs(3) називається. Це еквівалентно команді guestfish "inspect-os". Ти можеш
також викликати цю команду guestfish вручну.

"inspect-os" виконує перевірку поточного образу диска, повертаючи список
знайдено операційні системи. Кожна ОС представлена ​​пристроєм кореневої файлової системи. В
у більшості випадків ця команда нічого не друкує (ОС не знайдено) або один кореневий пристрій,
але майте на увазі, що він може друкувати кілька рядків, якщо є кілька ОС або якщо є
встановити компакт-диск, прикріплений до гостя.

$ guestfish --ro -a F15x32.img
> бігти
> інспектувати-ос
/dev/vg_f15x32/lv_root

Використовуючи кореневий пристрій, ви можете отримати додаткову інформацію про гостя:

> inspect-get-type /dev/vg_f15x32/lv_root
Linux
> inspect-get-distro /dev/vg_f15x32/lv_root
м'яка фетровий капелюх
> inspect-get-major-version /dev/vg_f15x32/lv_root
15
> inspect-get-product-name /dev/vg_f15x32/lv_root
Fedora випуск 15 (Lovelock)

Обмеження guestfish ускладнюють призначення кореневого пристрою змінній (оскільки
guestfish не має змінних), тому, якщо ви хочете зробити це відтворюваним, вам краще
відмовитися від написання сценарію за допомогою однієї з інших мов, які підтримує API libguestfs.

Щоб отримати список програм, вам потрібно спочатку підключити диски:

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

а потім викликати API inspect-list-applications:

> inspect-list-applications /dev/vg_f15x32/lv_root | голова -28
[0] = {
app_name: ConsoleKit
app_display_name:
app_epoch: 0
app_version: 0.4.5
app_release: 1.fc15
шлях_встановлення програми:
app_trans_path:
app_publisher:
app_url:
app_source_package:
app_summary:
app_description:
}
[1] = {
app_name: ConsoleKit-libs
app_display_name:
app_epoch: 0
app_version: 0.4.5
app_release: 1.fc15
шлях_встановлення програми:
app_trans_path:
app_publisher:
app_url:
app_source_package:
app_summary:
app_description:
}

Щоб відобразити піктограму для гостя, зверніть увагу, що файлові системи також мають бути змонтовані, як зазначено вище.
Тоді ви можете зробити:

> inspect-get-icon /dev/vg_f15x32/lv_root | дисплей -

OLD ВЕРСІЇ OF ВІРТ-ІСПЕКТОР


Як описано вище, ранні версії libguestfs поставлялися з іншим інспектором virt
програма, написана на Perl (поточна версія написана на C). Вихід XML Perl
virt-inspector був іншим, і він також міг виводити в інших форматах, як-от текст.

Старий virt-inspector більше не підтримується та не поставляється разом із libguestfs.

Щоб ще більше заплутати ситуацію, у Red Hat Enterprise Linux 6 ми поставляємо дві версії virt-
інспектор з різними прізвищами:

virt-inspector Стара версія Perl.
virt-inspector2 Нова версія C.

EXIT СТАТУС


Ця програма повертає 0 в разі успіху або відмінний від нуля, якщо сталася помилка.

Використовуйте virt-inspector онлайн за допомогою служб onworks.net



Найновіші онлайн-програми для Linux і Windows