X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=tools%2Fvirt-cat;h=66806a1abef1420abf9057210deed34b3a25e8e9;hb=40d58fe65e10aa692d056a573e21e5afdc9329c7;hp=e000e25fb25cdbaf930d9eaf0607bf7a534c4108;hpb=94e310dcfbcd368cbe02dbc1643ed2ff9821cd48;p=libguestfs.git diff --git a/tools/virt-cat b/tools/virt-cat index e000e25..66806a1 100755 --- a/tools/virt-cat +++ b/tools/virt-cat @@ -109,6 +109,23 @@ connect to the default libvirt hypervisor. If you specify guest block devices directly, then libvirt is not used at all. +=cut + +my $format; + +=item B<--format> raw + +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. + +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. + +If working with untrusted raw-format guest disk images, you should +ensure the format is always specified. + =back =cut @@ -116,6 +133,7 @@ at all. GetOptions ("help|?" => \$help, "version" => \$version, "connect|c=s" => \$uri, + "format=s" => \$format, ) or pod2usage (2); pod2usage (1) if $help; if ($version) { @@ -132,9 +150,9 @@ my $filename = pop @ARGV; my $g; if ($uri) { - $g = open_guest (\@ARGV, address => $uri); + $g = open_guest (\@ARGV, address => $uri, format => $format); } else { - $g = open_guest (\@ARGV); + $g = open_guest (\@ARGV, format => $format); } $g->launch (); @@ -160,6 +178,13 @@ mount_operating_system ($g, $os); # NB: https://bugzilla.redhat.com/show_bug.cgi?id=501888 print $g->download($filename, "/dev/stdout"); +=head1 SHELL QUOTING + +Libvirt guest names can contain arbitrary characters, some of which +have meaning to the shell such as C<#> and space. You may need to +quote or escape these characters on the command line. See the shell +manual page L for details. + =head1 SEE ALSO L,