File: virt-inspector.1

package info (click to toggle)
libguestfs 1%3A1.18.1-1%2Bdeb7u3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 49,156 kB
  • sloc: ansic: 282,408; ml: 22,707; sh: 16,121; perl: 5,946; java: 5,047; cs: 4,329; makefile: 3,191; haskell: 2,564; erlang: 1,510; python: 1,502; xml: 509; ruby: 217; pascal: 142; cpp: 11
file content (598 lines) | stat: -rw-r--r-- 23,004 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.ie \nF \{\
.    de IX
.    tm Index:\\$1\t\\n%\t"\\$2"
..
.    nr % 0
.    rr F
.\}
.el \{\
.    de IX
..
.\}
.\" ========================================================================
.\"
.IX Title "virt-inspector 1"
.TH virt-inspector 1 "2012-06-01" "libguestfs-1.18.1" "Virtualization Support"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "НАЗВА"
.IX Header "НАЗВА"
virt-inspector \- Display operating system version and other information
about a virtual machine
.SH "КОРОТКИЙ ОПИС"
.IX Header "КОРОТКИЙ ОПИС"
.Vb 1
\& virt\-inspector [\-\-options] \-d domname
\&
\& virt\-inspector [\-\-options] \-a disk.img [\-a disk.img ...]
.Ve
.PP
Застарілий стиль:
.PP
.Vb 1
\& virt\-inspector domname
\&
\& virt\-inspector disk.img [disk.img ...]
.Ve
.SH "ОПИС"
.IX Header "ОПИС"
\&\fBvirt-inspector\fR examines a virtual machine or disk image and tries to
determine the version of the operating system and other information about
the virtual machine.
.PP
Virt-inspector produces \s-1XML\s0 output for feeding into other programs.
.PP
In the normal usage, use \f(CW\*(C`virt\-inspector \-d domname\*(C'\fR where \f(CW\*(C`domname\*(C'\fR is
the libvirt domain (see: \f(CW\*(C`virsh list \-\-all\*(C'\fR).
.PP
You can also run virt-inspector directly on disk images from a single
virtual machine.  Use \f(CW\*(C`virt\-inspector \-a disk.img\*(C'\fR.  In rare cases a domain
has several block devices, in which case you should list several \fI\-a\fR
options one after another, with the first corresponding to the guest's
\&\f(CW\*(C`/dev/sda\*(C'\fR, the second to the guest's \f(CW\*(C`/dev/sdb\*(C'\fR and so on.
.PP
You can also run virt-inspector on install disks, live CDs, bootable \s-1USB\s0
keys and similar.
.PP
Virt-inspector can only inspect and report upon \fIone domain at a time\fR.  To
inspect several virtual machines, you have to run virt-inspector several
times (for example, from a shell script for-loop).
.PP
Because virt-inspector needs direct access to guest images, it won't
normally work over remote libvirt connections.
.PP
All of the information available from virt-inspector is also available
through the core libguestfs inspection \s-1API\s0 (see \*(L"\s-1INSPECTION\s0\*(R" in \fIguestfs\fR\|(3)).
The same information can also be fetched using guestfish or via libguestfs
bindings in many programming languages (see \*(L"\s-1GETTING\s0 \s-1INSPECTION\s0 \s-1DATA\s0 \s-1FROM\s0
\&\s-1THE\s0 \s-1LIBGUESTFS\s0 \s-1API\s0\*(R").
.SH "ПАРАМЕТРИ"
.IX Header "ПАРАМЕТРИ"
.IP "\fB\-\-help\fR" 4
.IX Item "--help"
Показати коротку довідку.
.IP "\fB\-a\fR файл" 4
.IX Item "-a файл"
.PD 0
.IP "\fB\-\-add\fR файл" 4
.IX Item "--add файл"
.PD
Add \fIfile\fR which should be a disk image from a virtual machine.  If the
virtual machine has multiple block devices, you must supply all of them with
separate \fI\-a\fR options.
.Sp
The format of the disk image is auto-detected.  To override this and force a
particular format use the \fI\-\-format=..\fR option.
.IP "\fB\-c адреса\fR" 4
.IX Item "-c адреса"
.PD 0
.IP "\fB\-\-connect адреса\fR" 4
.IX Item "--connect адреса"
.PD
If using libvirt, connect to the given \fI\s-1URI\s0\fR.  If omitted, then we connect
to the default libvirt hypervisor.
.Sp
Libvirt is only used if you specify a \f(CW\*(C`domname\*(C'\fR on the command line.  If
you specify guest block devices directly (\fI\-a\fR), then libvirt is not used
at all.
.IP "\fB\-d\fR гість" 4
.IX Item "-d гість"
.PD 0
.IP "\fB\-\-domain\fR гість" 4
.IX Item "--domain гість"
.PD
Add all the disks from the named libvirt guest.  Domain UUIDs can be used
instead of names.
.IP "\fB\-\-echo\-keys\fR" 4
.IX Item "--echo-keys"
When prompting for keys and passphrases, virt-inspector normally turns
echoing off so you cannot see what you are typing.  If you are not worried
about Tempest attacks and there is no one else in the room you can specify
this flag to see what you are typing.
.IP "\fB\-\-format=raw|qcow2|..\fR" 4
.IX Item "--format=raw|qcow2|.."
.PD 0
.IP "\fB\-\-format\fR" 4
.IX Item "--format"
.PD
Specify the format of disk images given on the command line.  If this is
omitted then the format is autodetected from the content of the disk image.
.Sp
If disk images are requested from libvirt, then this program asks libvirt
for this information.  In this case, the value of the format parameter is
ignored.
.Sp
If working with untrusted raw-format guest disk images, you should ensure
the format is always specified.
.IP "\fB\-\-keys\-from\-stdin\fR" 4
.IX Item "--keys-from-stdin"
Read key or passphrase parameters from stdin.  The default is to try to read
passphrases from the user by opening \f(CW\*(C`/dev/tty\*(C'\fR.
.IP "\fB\-v\fR" 4
.IX Item "-v"
.PD 0
.IP "\fB\-\-verbose\fR" 4
.IX Item "--verbose"
.PD
Увімкнути докладний показ повідомлень з метою діагностики.
.IP "\fB\-V\fR" 4
.IX Item "-V"
.PD 0
.IP "\fB\-\-version\fR" 4
.IX Item "--version"
.PD
Показати дані щодо версії і завершити роботу.
.IP "\fB\-x\fR" 4
.IX Item "-x"
Увімкнути трасування викликів програмного інтерфейсу libguestfs.
.IP "\fB\-\-xpath\fR query" 4
.IX Item "--xpath query"
Perform an XPath query on the \s-1XML\s0 on stdin, and print the result on stdout.
In this mode virt-inspector simply runs an XPath query; all other inspection
functions are disabled.  See \*(L"\s-1XPATH\s0 \s-1QUERIES\s0\*(R" below for some examples.
.SH "ПАРАМЕТРИ КОМАНДНОГО РЯДКА У ФОРМАТІ ПОПЕРЕДНІХ ВЕРСІЙ"
.IX Header "ПАРАМЕТРИ КОМАНДНОГО РЯДКА У ФОРМАТІ ПОПЕРЕДНІХ ВЕРСІЙ"
Previous versions of virt-inspector allowed you to write either:
.PP
.Vb 1
\& virt\-inspector disk.img [disk.img ...]
.Ve
.PP
або
.PP
.Vb 1
\& virt\-inspector guestname
.Ve
.PP
whereas in this version you should use \fI\-a\fR or \fI\-d\fR respectively to avoid
the confusing case where a disk image might have the same name as a guest.
.PP
З міркувань зворотної сумісності передбачено підтримку запису параметрів у
застарілому форматі.
.SH "XML FORMAT"
.IX Header "XML FORMAT"
The virt-inspector \s-1XML\s0 is described precisely in a \s-1RELAX\s0 \s-1NG\s0 schema file
\&\f(CW\*(C`virt\-inspector.rng\*(C'\fR which is supplied with libguestfs.  This section is
just an overview.
.PP
The top-level element is <operatingsystems>, and it contains one or
more <operatingsystem> elements.  You would only see more than one
<operatingsystem> element if the virtual machine is multi-boot,
which is vanishingly rare in real world VMs.
.SS "<operatingsystem>"
.IX Subsection "<operatingsystem>"
In the <operatingsystem> tag are various optional fields that
describe the operating system, its architecture, the descriptive \*(L"product
name\*(R" string, the type of \s-1OS\s0 and so on, as in this example:
.PP
.Vb 12
\& <operatingsystems>
\&   <operatingsystem>
\&     <root>/dev/sda2</root>
\&     <name>windows</name>
\&     <arch>i386</arch>
\&     <distro>windows</distro>
\&     <product_name>Windows 7 Enterprise</product_name>
\&     <product_variant>Client</product_variant>
\&     <major_version>6</major_version>
\&     <minor_version>1</minor_version>
\&     <windows_systemroot>/Windows</windows_systemroot>
\&     <format>installed</format>
.Ve
.PP
In brief, <name> is the class of operating system (something like
\&\f(CW\*(C`linux\*(C'\fR or \f(CW\*(C`windows\*(C'\fR), <distro> is the distribution (eg. \f(CW\*(C`fedora\*(C'\fR
but many other distros are recognized) and <arch> is the guest
architecture.  The other fields are fairly self-explanatory, but because
these fields are taken directly from the libguestfs inspection \s-1API\s0 you can
find precise information from \*(L"\s-1INSPECTION\s0\*(R" in \fIguestfs\fR\|(3).
.PP
The <root> element is the root filesystem device, but from the point
of view of libguestfs (block devices may have completely different names
inside the \s-1VM\s0 itself).
.SS "<mountpoints>"
.IX Subsection "<mountpoints>"
Un*x\-like guests typically have multiple filesystems which are mounted at
various mountpoints, and these are described in the <mountpoints>
element which looks like this:
.PP
.Vb 7
\& <operatingsystems>
\&   <operatingsystem>
\&     ...
\&     <mountpoints>
\&       <mountpoint dev="/dev/vg_f13x64/lv_root">/</mountpoint>
\&       <mountpoint dev="/dev/sda1">/boot</mountpoint>
\&     </mountpoints>
.Ve
.PP
As with <root>, devices are from the point of view of libguestfs,
and may have completely different names inside the guest.  Only mountable
filesystems appear in this list, not things like swap devices.
.SS "<filesystems>"
.IX Subsection "<filesystems>"
<filesystems> is like <mountpoints> but covers \fIall\fR
filesystems belonging to the guest, including swap and empty partitions.
(In the rare case of a multi-boot guest, it covers filesystems belonging to
this \s-1OS\s0 or shared with this \s-1OS\s0 and other OSes).
.PP
You might see something like this:
.PP
.Vb 9
\& <operatingsystems>
\&   <operatingsystem>
\&     ...
\&     <filesystems>
\&       <filesystem dev="/dev/vg_f13x64/lv_root">
\&         <type>ext4</type>
\&         <label>Fedora\-13\-x86_64</label>
\&         <uuid>e6a4db1e\-15c2\-477b\-ac2a\-699181c396aa</uuid>
\&       </filesystem>
.Ve
.PP
The optional elements within <filesystem> are the filesystem type,
the label, and the \s-1UUID\s0.
.SS "<applications>"
.IX Subsection "<applications>"
The related elements <package_format>, <package_management>
and <applications> describe applications installed in the virtual
machine.
.PP
<package_format>, if present, describes the packaging system used.
Typical values would be \f(CW\*(C`rpm\*(C'\fR and \f(CW\*(C`deb\*(C'\fR.
.PP
<package_management>, if present, describes the package manager.
Typical values include \f(CW\*(C`yum\*(C'\fR, \f(CW\*(C`up2date\*(C'\fR and \f(CW\*(C`apt\*(C'\fR
.PP
<applications> lists the packages or applications installed.
.PP
.Vb 9
\& <operatingsystems>
\&   <operatingsystem>
\&     ...
\&     <applications>
\&       <application>
\&         <name>coreutils</name>
\&         <version>8.5</version>
\&         <release>1</release>
\&       </application>
.Ve
.PP
The version and release fields may not be available for some types guests.
Other fields are possible, see
\&\*(L"guestfs_inspect_list_applications\*(R" in \fIguestfs\fR\|(3).
.SS "<drive_mappings>"
.IX Subsection "<drive_mappings>"
For operating systems like Windows which use drive letters, virt-inspector
is able to find out how drive letters map to filesystems.
.PP
.Vb 7
\& <operatingsystems>
\&   <operatingsystem>
\&     ...
\&     <drive_mappings>
\&       <drive_mapping name="C">/dev/sda2</drive_mapping>
\&       <drive_mapping name="E">/dev/sdb1</drive_mapping>
\&     </drive_mappings>
.Ve
.PP
In the example above, drive C maps to the filesystem on the second partition
on the first disk, and drive E maps to the filesystem on the first partition
on the second disk.
.PP
Note that this only covers permanent local filesystem mappings, not things
like network shares.  Furthermore \s-1NTFS\s0 volume mount points may not be listed
here.
.SS "<icon>"
.IX Subsection "<icon>"
Virt-inspector is sometimes able to extract an icon or logo for the guest.
The icon is returned as base64\-encoded \s-1PNG\s0 data.  Note that the icon can be
very large and high quality.
.PP
.Vb 7
\& <operatingsystems>
\&   <operatingsystem>
\&     ...
\&     <icon>
\&       iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[.......]
\&       [... many lines of base64 data ...]
\&     </icon>
.Ve
.PP
To display the icon, you have to extract it and convert the base64 data back
to a binary file.  Use an XPath query or simply an editor to extract the
data, then use the coreutils \fIbase64\fR\|(1) program to do the conversion back
to a \s-1PNG\s0 file:
.PP
.Vb 1
\& base64 \-i \-d < icon.data > icon.png
.Ve
.SS "\s-1INSPECTING\s0 \s-1INSTALL\s0 \s-1DISKS\s0, \s-1LIVE\s0 CDs"
.IX Subsection "INSPECTING INSTALL DISKS, LIVE CDs"
Virt-inspector can detect some operating system installers on install disks,
live CDs, bootable \s-1USB\s0 keys and more.
.PP
In this case the <format> tag will contain \f(CW\*(C`installer\*(C'\fR and other
fields may be present to indicate a live \s-1CD\s0, network installer, or one part
of a multipart \s-1CD\s0.  For example:
.PP
.Vb 11
\& <operatingsystems>
\&   <operatingsystem>
\&     <root>/dev/sda</root>
\&     <name>linux</name>
\&     <arch>i386</arch>
\&     <distro>ubuntu</distro>
\&     <product_name>Ubuntu 10.10 &quot;Maverick Meerkat&quot;</product_name>
\&     <major_version>10</major_version>
\&     <minor_version>10</minor_version>
\&     <format>installer</format>
\&     <live/>
.Ve
.SH "XPATH QUERIES"
.IX Header "XPATH QUERIES"
Virt-inspector includes built in support for running XPath queries.  The
reason for including XPath support directly in virt-inspector is simply that
there are no good and widely available command line programs that can do
XPath queries.  The only good one is \fIxmlstarlet\fR\|(1) and that is not
available on Red Hat Enterprise Linux.
.PP
To perform an XPath query, use the \fI\-\-xpath\fR option.  Note that in this
mode, virt-inspector simply reads \s-1XML\s0 from stdin and outputs the query
result on stdout.  All other inspection features are disabled in this mode.
.PP
Приклад:
.PP
.Vb 5
\& $ virt\-inspector \-d Guest | virt\-inspector \-\-xpath \*(Aq//filesystems\*(Aq
\& <filesystems>
\&      <filesystem dev="/dev/vg_f13x64/lv_root">
\&        <type>ext4</type>
\& [...]
\&
\& $ virt\-inspector \-d Guest | \e
\&     virt\-inspector \-\-xpath "string(//filesystem[@dev=\*(Aq/dev/sda1\*(Aq]/type)"
\& ext4
\&
\& $ virt\-inspector \-d Guest | \e
\&     virt\-inspector \-\-xpath \*(Aqstring(//icon)\*(Aq | base64 \-i \-d | display \-
\& [displays the guest icon, if there is one]
.Ve
.SH "ЕКРАНУВАННЯ СИМВОЛІВ У ОБОЛОНЦІ"
.IX Header "ЕКРАНУВАННЯ СИМВОЛІВ У ОБОЛОНЦІ"
Libvirt guest names can contain arbitrary characters, some of which have
meaning to the shell such as \f(CW\*(C`#\*(C'\fR and space.  You may need to quote or
escape these characters on the command line.  See the shell manual page
\&\fIsh\fR\|(1) for details.
.SH "GETTING INSPECTION DATA FROM THE LIBGUESTFS API"
.IX Header "GETTING INSPECTION DATA FROM THE LIBGUESTFS API"
In early versions of libguestfs, virt-inspector was a large Perl script that
contained many heuristics for inspecting guests.  This had several problems:
in order to do inspection from other tools (like guestfish) we had to call
out to this Perl script; and it privileged Perl over other languages that
libguestfs supports.
.PP
By libguestfs 1.8 we had rewritten the Perl code in C, and incorporated it
all into the core libguestfs \s-1API\s0 (\fIguestfs\fR\|(3)).  Now virt-inspector is
simply a thin C program over the core C \s-1API\s0.  All of the inspection
information is available from all programming languages that libguestfs
supports, and from guestfish.
.PP
For a description of the C inspection \s-1API\s0, read \*(L"\s-1INSPECTION\s0\*(R" in \fIguestfs\fR\|(3).
.PP
For example code using the C inspection \s-1API\s0, look for \f(CW\*(C`inspect_vm.c\*(C'\fR which
ships with libguestfs.
.PP
\&\f(CW\*(C`inspect_vm.c\*(C'\fR has also been translated into other languages.  For example,
\&\f(CW\*(C`inspect_vm.pl\*(C'\fR is the Perl translation, and there are other translations
for OCaml, Python, etc.  See \*(L"\s-1USING\s0 \s-1LIBGUESTFS\s0 \s-1WITH\s0 \s-1OTHER\s0
\&\s-1PROGRAMMING\s0 \s-1LANGUAGES\s0\*(R" in \fIguestfs\fR\|(3) for a list of man pages which contain this example
code.
.SS "\s-1GETTING\s0 \s-1INSPECTION\s0 \s-1DATA\s0 \s-1FROM\s0 \s-1GUESTFISH\s0"
.IX Subsection "GETTING INSPECTION DATA FROM GUESTFISH"
If you use the guestfish \fI\-i\fR option, then the main C inspection \s-1API\s0
\&\*(L"guestfs_inspect_os\*(R" in \fIguestfs\fR\|(3) is called.  This is equivalent to the
guestfish command \f(CW\*(C`inspect\-os\*(C'\fR.  You can also call this guestfish command
by hand.
.PP
\&\f(CW\*(C`inspect\-os\*(C'\fR performs inspection on the current disk image, returning the
list of operating systems found.  Each \s-1OS\s0 is represented by its root
filesystem device.  In the majority of cases, this command prints nothing
(no OSes found), or a single root device, but beware that it can print
multiple lines if there are multiple OSes or if there is an install \s-1CD\s0
attached to the guest.
.PP
.Vb 4
\& $ guestfish \-\-ro \-a F15x32.img
\& ><fs> run
\& ><fs> inspect\-os
\& /dev/vg_f15x32/lv_root
.Ve
.PP
Using the root device, you can fetch further information about the guest:
.PP
.Vb 8
\& ><fs> inspect\-get\-type /dev/vg_f15x32/lv_root
\& linux
\& ><fs> inspect\-get\-distro /dev/vg_f15x32/lv_root
\& fedora
\& ><fs> inspect\-get\-major\-version /dev/vg_f15x32/lv_root
\& 15
\& ><fs> inspect\-get\-product\-name /dev/vg_f15x32/lv_root
\& Fedora release 15 (Lovelock)
.Ve
.PP
Limitations of guestfish make it hard to assign the root device to a
variable (since guestfish doesn't have variables), so if you want to do this
reproducibly you are better off writing a script using one of the other
languages that the libguestfs \s-1API\s0 supports.
.PP
To list applications, you have to first mount up the disks:
.PP
.Vb 5
\& ><fs> inspect\-get\-mountpoints /dev/vg_f15x32/lv_root
\& /: /dev/vg_f15x32/lv_root
\& /boot: /dev/vda1
\& ><fs> mount\-ro /dev/vg_f15x32/lv_root /
\& ><fs> mount\-ro /dev/vda1 /boot
.Ve
.PP
and then call the inspect-list-applications \s-1API:\s0
.PP
.Vb 10
\& ><fs> inspect\-list\-applications /dev/vg_f15x32/lv_root | head \-28
\& [0] = {
\&   app_name: ConsoleKit
\&   app_display_name:
\&   app_epoch: 0
\&   app_version: 0.4.5
\&   app_release: 1.fc15
\&   app_install_path:
\&   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_install_path:
\&   app_trans_path:
\&   app_publisher:
\&   app_url:
\&   app_source_package:
\&   app_summary:
\&   app_description:
\& }
.Ve
.PP
To display an icon for the guest, note that filesystems must also be mounted
as above.  You can then do:
.PP
.Vb 1
\& ><fs> inspect\-get\-icon /dev/vg_f15x32/lv_root | display \-
.Ve
.SH "OLD VERSIONS OF VIRT-INSPECTOR"
.IX Header "OLD VERSIONS OF VIRT-INSPECTOR"
As described above, early versions of libguestfs shipped with a different
virt-inspector program written in Perl (the current version is written in
C).  The \s-1XML\s0 output of the Perl virt-inspector was different and it could
also output in other formats like text.
.PP
The old virt-inspector is no longer supported or shipped with libguestfs.
.PP
To confuse matters further, in Red Hat Enterprise Linux 6 we ship two
versions of virt-inspector with different names:
.PP
.Vb 2
\& virt\-inspector     Old Perl version.
\& virt\-inspector2    New C version.
.Ve
.SH "СТАН ВИХОДУ"
.IX Header "СТАН ВИХОДУ"
Ця програма повертає значення 0 у разі успішного завершення і ненульове
значення, якщо сталася помилка.
.SH "ТАКОЖ ПЕРЕГЛЯНЬТЕ"
.IX Header "ТАКОЖ ПЕРЕГЛЯНЬТЕ"
\&\fIguestfs\fR\|(3), \fIguestfish\fR\|(1), <http://www.w3.org/TR/xpath/>,
\&\fIbase64\fR\|(1), \fIxmlstarlet\fR\|(1), <http://libguestfs.org/>.
.SH "АВТОРИ"
.IX Header "АВТОРИ"
.IP "\(bu" 4
Richard W.M. Jones <http://people.redhat.com/~rjones/>
.IP "\(bu" 4
Matthew Booth mbooth@redhat.com
.SH "АВТОРСЬКІ ПРАВА"
.IX Header "АВТОРСЬКІ ПРАВА"
© Red Hat Inc., 2010–2012
.PP
Ця програма є вільним програмним забезпеченням; ви можете поширювати та/або
змінювати її за умов дотримання \s-1GNU\s0 General Public License  утому вигляді,
що оприлюднений Free Software Foundation; версії 2 цієї Ліцензії, або (якщо
забажаєте) будь\-якої випущеної пізніше.
.PP
Ця програма поширюється у сподіванні, що вона буде корисною, але БЕЗ
БУДЬ\-ЯКИХ ГАРАНТІЙНИХ ЗОБОВ’ЯЗАНЬ; навіть без очевидної гарантії
ПРАЦЕЗДАТНОСТІ або ПРИДАТНОСТІ ДЛЯ ВИКОРИСТАННЯ З ПЕВНОЮ МЕТОЮ. Докладніше
про це можна дізнатися з \s-1GNU\s0 General Public License.
.PP
Ви маєте отримати копію \s-1GNU\s0 General Public License разом з цією програмою;
якщо це не так, повідомте про факт за адресою Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, \s-1MA\s0 02110\-1301, \s-1USA\s0.