From: Richard Jones Date: Wed, 15 Jul 2009 15:34:19 +0000 (+0100) Subject: New tool virt-cat: display a file in a virtual machine. X-Git-Tag: 1.0.61~1 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=bdf7a27a790ff26664f91d95239ec33c5467bfeb New tool virt-cat: display a file in a virtual machine. This script is just a simpler way to cat a file from a VM. It is otherwise equivalent to using guestfish. virt-cat someguest /etc/fstab virt-cat someguest /var/log/messages | tail --- diff --git a/.gitignore b/.gitignore index 971bf3e..7350b11 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ capitests/test*.img capitests/tests capitests/tests.c capitests/test*.tmp +cat/virt-cat.1 ChangeLog *.class *.cma @@ -70,6 +71,7 @@ haskell/Guestfs.hs html/guestfish.1.html html/guestfs.3.html html/recipes.html +html/virt-cat.1.html html/virt-df.1.html html/virt-inspector.1.html html/virt-v2v.1.html diff --git a/HACKING b/HACKING index 7a4735c..6ca33be 100644 --- a/HACKING +++ b/HACKING @@ -30,6 +30,9 @@ Directories appliance/ The qemu appliance, build scripts and so on. +cat/ + The virt-cat tool. + capitests/ Automated tests of the C API. diff --git a/Makefile.am b/Makefile.am index 3f27693..b425ddd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -47,6 +47,9 @@ endif if HAVE_DF SUBDIRS += df endif +if HAVE_CAT +SUBDIRS += cat +endif EXTRA_DIST = \ config.rpath \ @@ -129,6 +132,7 @@ html/recipes.html: $(wildcard recipes/*.sh) $(wildcard recipes/*.html) $(wildcar mv $@-t $@ HTMLFILES = html/guestfs.3.html html/guestfish.1.html \ + html/virt-cat.1.html \ html/virt-df.1.html \ html/virt-inspector.1.html \ html/virt-v2v.1.html \ diff --git a/cat/Makefile.am b/cat/Makefile.am new file mode 100644 index 0000000..89a33a4 --- /dev/null +++ b/cat/Makefile.am @@ -0,0 +1,48 @@ +# libguestfs virt-cat +# Copyright (C) 2009 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +EXTRA_DIST = \ + run-cat-locally \ + virt-cat.pl + +if HAVE_CAT + +man_MANS = virt-cat.1 + +noinst_DATA = @top_builddir@/html/virt-cat.1.html + +virt-cat.1: virt-cat.pl + $(POD2MAN) \ + --section 1 \ + -c "Virtualization Support" \ + --release "$(PACKAGE_NAME)-$(PACKAGE_VERSION)" \ + $< > $@ + +@top_builddir@/html/virt-cat.1.html: virt-cat.pl + mkdir -p @top_builddir@/html + cd @top_builddir@ && pod2html \ + --css 'pod.css' \ + --title 'virt-cat, display a file in a virtual machine' \ + --htmldir html \ + --outfile html/virt-cat.1.html \ + cat/$< + +install-data-hook: + mkdir -p $(DESTDIR)$(bindir) + install -m 0755 virt-cat.pl $(DESTDIR)$(bindir)/virt-cat + +endif diff --git a/cat/run-cat-locally b/cat/run-cat-locally new file mode 100755 index 0000000..bba2c08 --- /dev/null +++ b/cat/run-cat-locally @@ -0,0 +1,52 @@ +#!/usr/bin/perl +# virt-cat +# Copyright (C) 2009 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# This script sets up the environment so you can run virt-cat in place +# without needing to do 'make install' first. You can also run virt-cat +# by creating a symlink to this script and putting it in your path. +# +# Use it like this: +# ./run-cat-locally [usual virt-cat args ...] + +use strict; +use warnings; + +use File::Basename qw(dirname); +use File::Spec; +use Cwd qw(abs_path); + +my $path = $0; + +# Follow symlinks until we get to the real file +while(-l $path) { + my $link = readlink($path); + if(File::Spec->file_name_is_absolute($link)) { + $path = $link; + } else { + $path = File::Spec->catfile(dirname($path), $link); + } +} + +# Get the absolute path of the parent directory +$path = abs_path(dirname($path).'/..'); + +$ENV{LD_LIBRARY_PATH} = $path.'/src/.libs'; +$ENV{LIBGUESTFS_PATH} = $path.'/appliance'; +$ENV{PERL5LIB} = $path.'/perl/blib/lib:'.$path.'/perl/blib/arch'; + +exec('perl', $path.'/cat/virt-cat.pl', @ARGV); diff --git a/cat/virt-cat.pl b/cat/virt-cat.pl new file mode 100755 index 0000000..6a50280 --- /dev/null +++ b/cat/virt-cat.pl @@ -0,0 +1,192 @@ +#!/usr/bin/perl -w +# virt-cat +# Copyright (C) 2009 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +use warnings; +use strict; + +use Sys::Guestfs; +use Sys::Guestfs::Lib qw(open_guest get_partitions resolve_windows_path + inspect_all_partitions inspect_partition + inspect_operating_systems mount_operating_system); +use Pod::Usage; +use Getopt::Long; +use Data::Dumper; +use File::Temp qw/tempdir/; +use XML::Writer; +use Locale::TextDomain 'libguestfs'; + +=encoding utf8 + +=head1 NAME + +virt-cat - Display a file in a virtual machine + +=head1 SYNOPSIS + + virt-cat [--options] domname file + + virt-cat [--options] disk.img [disk.img ...] file + +=head1 DESCRIPTION + +C is a command line tool to display the contents of C +where C exists in the named virtual machine (or disk image). + +C can be used to quickly view a single file. For more +complex cases you should look at the L tool. + +=head1 EXAMPLES + +Display C file from inside the libvirt VM called +C: + + virt-cat mydomain /etc/fstab + +List syslog messages from a VM: + + virt-cat mydomain /var/log/messages | tail + +Find out what packages were recently installed: + + virt-cat mydomain /var/log/yum.log | tail + +Find out who is logged on inside a virtual machine: + + virt-cat mydomain /var/run/utmp > /tmp/utmp + who /tmp/utmp + +or who was logged on: + + virt-cat mydomain /var/log/wtmp > /tmp/wtmp + last -f /tmp/wtmp + +=head1 OPTIONS + +=over 4 + +=cut + +my $help; + +=item B<--help> + +Display brief help. + +=cut + +my $version; + +=item B<--version> + +Display version number and exit. + +=cut + +my $uri; + +=item B<--connect URI> | B<-c URI> + +If using libvirt, connect to the given I. If omitted, then we +connect to the default libvirt hypervisor. + +If you specify guest block devices directly, then libvirt is not used +at all. + +=back + +=cut + +GetOptions ("help|?" => \$help, + "version" => \$version, + "connect|c=s" => \$uri, + ) or pod2usage (2); +pod2usage (1) if $help; +if ($version) { + my $g = Sys::Guestfs->new (); + my %h = $g->version (); + print "$h{major}.$h{minor}.$h{release}$h{extra}\n"; + exit +} + +pod2usage (__"virt-cat: no image, VM names or filenames to cat given") + if @ARGV <= 1; + +my $filename = pop @ARGV; + +my $g; +if ($uri) { + $g = open_guest (\@ARGV, address => $uri); +} else { + $g = open_guest (\@ARGV); +} + +$g->launch (); +$g->wait_ready (); + +# List of possible filesystems. +my @partitions = get_partitions ($g); + +# Now query each one to build up a picture of what's in it. +my %fses = + inspect_all_partitions ($g, \@partitions, + use_windows_registry => 0); + +my $oses = inspect_operating_systems ($g, \%fses); + +my @roots = keys %$oses; +die __"no root device found in this operating system image" if @roots == 0; +die __"multiboot operating systems are not supported by virt-cat" if @roots > 1; +my $root_dev = $roots[0]; + +my $os = $oses->{$root_dev}; +mount_operating_system ($g, $os); + +# Allow this to fail in case eg. the file does not exist. +# NB: https://bugzilla.redhat.com/show_bug.cgi?id=501888 +print $g->download($filename, "/dev/stdout"); + +=head1 SEE ALSO + +L, +L, +L, +L, +L, +L. + +=head1 AUTHOR + +Richard W.M. Jones L + +=head1 COPYRIGHT + +Copyright (C) 2009 Red Hat Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. diff --git a/configure.ac b/configure.ac index 4bb7689..f145e21 100644 --- a/configure.ac +++ b/configure.ac @@ -517,7 +517,7 @@ AC_CHECK_PROG([GHC],[ghc],[ghc],[no]) AM_CONDITIONAL([HAVE_HASKELL], [test "x$GHC" != "xno"]) -dnl Check for Perl modules needed by virt-df, inspector and V2V. +dnl Check for Perl modules needed by virt-df, inspector, V2V etc. missing_perl_modules=no for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper XML::Writer Locale::TextDomain; do AC_MSG_CHECKING([for $pm]) @@ -529,9 +529,11 @@ for pm in Pod::Usage Getopt::Long Sys::Virt Data::Dumper XML::Writer Locale::Tex fi done if test "x$missing_perl_modules" = "xyes"; then - AC_MSG_WARN([some Perl modules required to compile virt-df, virt-inspector and virt-v2v are missing]) + AC_MSG_WARN([some Perl modules required to compile virt-cat, virt-df, virt-inspector and virt-v2v are missing]) fi +AM_CONDITIONAL([HAVE_CAT], + [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"]) AM_CONDITIONAL([HAVE_DF], [test "x$PERL" != "xno" -a "x$missing_perl_modules" != "xyes"]) AM_CONDITIONAL([HAVE_INSPECTOR], @@ -572,6 +574,7 @@ AC_CONFIG_FILES([Makefile ruby/Makefile ruby/Rakefile java/Makefile haskell/Makefile + cat/Makefile df/Makefile inspector/Makefile v2v/Makefile @@ -600,6 +603,8 @@ echo -n "Java bindings ....................... " if test "x$HAVE_JAVA_TRUE" = "x"; then echo "yes"; else echo "no"; fi echo -n "Haskell bindings .................... " if test "x$HAVE_HASKELL" = "x"; then echo "yes"; else echo "no"; fi +echo -n "virt-cat ............................ " +if test "x$HAVE_CAT" = "x"; then echo "yes"; else echo "no"; fi echo -n "virt-df ............................. " if test "x$HAVE_DF" = "x"; then echo "yes"; else echo "no"; fi echo -n "virt-inspector ...................... " diff --git a/po/POTFILES.in b/po/POTFILES.in index 76e97e7..60aeddc 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,3 +1,4 @@ +cat/virt-cat.pl daemon/augeas.c daemon/blockdev.c daemon/checksum.c diff --git a/po/libguestfs.pot b/po/libguestfs.pot index 0e74303..126d448 100644 --- a/po/libguestfs.pot +++ b/po/libguestfs.pot @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2009-07-15 14:22+0100\n" +"POT-Creation-Date: 2009-07-15 16:35+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,6 +17,18 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" +#: cat/virt-cat.pl:126 +msgid "virt-cat: no image, VM names or filenames to cat given" +msgstr "" + +#: cat/virt-cat.pl:152 v2v/virt-v2v.pl:208 +msgid "no root device found in this operating system image" +msgstr "" + +#: cat/virt-cat.pl:153 +msgid "multiboot operating systems are not supported by virt-cat" +msgstr "" + #: df/virt-df.pl:258 msgid "Virtual Machine" msgstr "" @@ -490,79 +502,79 @@ msgstr "" msgid " Windows Registry entries:\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:135 perl/lib/Sys/Guestfs/Lib.pm:135 +#: perl/lib/Sys/Guestfs/Lib.pm:135 msgid "open_guest: first parameter must be a string or an arrayref" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:142 perl/lib/Sys/Guestfs/Lib.pm:142 +#: perl/lib/Sys/Guestfs/Lib.pm:142 #, perl-brace-format msgid "guest image {imagename} does not exist or is not readable" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:147 perl/lib/Sys/Guestfs/Lib.pm:147 +#: perl/lib/Sys/Guestfs/Lib.pm:147 msgid "" "open_guest: no libvirt support (install Sys::Virt, XML::XPath and XML::" "XPath::XMLParser)" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:152 perl/lib/Sys/Guestfs/Lib.pm:152 +#: perl/lib/Sys/Guestfs/Lib.pm:152 msgid "open_guest: too many domains listed on command line" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:156 perl/lib/Sys/Guestfs/Lib.pm:156 +#: perl/lib/Sys/Guestfs/Lib.pm:156 msgid "open_guest: cannot connect to libvirt" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:175 perl/lib/Sys/Guestfs/Lib.pm:175 +#: perl/lib/Sys/Guestfs/Lib.pm:175 #, perl-brace-format msgid "{imagename} is not the name of an inactive libvirt domain\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:178 perl/lib/Sys/Guestfs/Lib.pm:178 +#: perl/lib/Sys/Guestfs/Lib.pm:178 #, perl-brace-format msgid "{imagename} is not the name of a libvirt domain\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:190 perl/lib/Sys/Guestfs/Lib.pm:190 +#: perl/lib/Sys/Guestfs/Lib.pm:190 #, perl-brace-format msgid "{imagename} seems to have no disk devices\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:274 perl/lib/Sys/Guestfs/Lib.pm:274 +#: perl/lib/Sys/Guestfs/Lib.pm:274 msgid "resolve_windows_path: path must start with a / character" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:756 perl/lib/Sys/Guestfs/Lib.pm:756 +#: perl/lib/Sys/Guestfs/Lib.pm:756 #, perl-brace-format msgid "reged command failed: {errormsg}" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:765 perl/lib/Sys/Guestfs/Lib.pm:765 +#: perl/lib/Sys/Guestfs/Lib.pm:765 #, perl-brace-format msgid "no output from reged command: {errormsg}" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:935 perl/lib/Sys/Guestfs/Lib.pm:935 +#: perl/lib/Sys/Guestfs/Lib.pm:935 #, perl-brace-format msgid "unknown filesystem label {label}\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:945 perl/lib/Sys/Guestfs/Lib.pm:945 +#: perl/lib/Sys/Guestfs/Lib.pm:945 #, perl-brace-format msgid "unknown filesystem UUID {uuid}\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:968 perl/lib/Sys/Guestfs/Lib.pm:968 +#: perl/lib/Sys/Guestfs/Lib.pm:968 #, perl-brace-format msgid "unknown filesystem {fs}\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:1187 perl/lib/Sys/Guestfs/Lib.pm:1187 +#: perl/lib/Sys/Guestfs/Lib.pm:1187 #, perl-brace-format msgid "{path} doesn't match augeas pattern" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:1237 perl/lib/Sys/Guestfs/Lib.pm:1237 +#: perl/lib/Sys/Guestfs/Lib.pm:1237 #, perl-brace-format msgid "{filename}: could not read initrd format" msgstr "" @@ -820,10 +832,6 @@ msgstr "" msgid "virt-v2v: no image or VM names given" msgstr "" -#: v2v/virt-v2v.pl:208 -msgid "no root device found in this operating system image" -msgstr "" - #: v2v/virt-v2v.pl:209 msgid "multiboot operating systems are not supported by v2v" msgstr "" diff --git a/po/pl.po b/po/pl.po index a8d329b..87eccfd 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: https://bugzilla.redhat.com/enter_bug.cgi?" "component=libguestfs&product=Virtualization+Tools\n" -"POT-Creation-Date: 2009-07-15 14:22+0100\n" +"POT-Creation-Date: 2009-07-15 16:35+0100\n" "PO-Revision-Date: 2009-06-22 21:16+0200\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" @@ -14,6 +14,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +#: cat/virt-cat.pl:126 +msgid "virt-cat: no image, VM names or filenames to cat given" +msgstr "" + +#: cat/virt-cat.pl:152 v2v/virt-v2v.pl:208 +msgid "no root device found in this operating system image" +msgstr "" + +#: cat/virt-cat.pl:153 +msgid "multiboot operating systems are not supported by virt-cat" +msgstr "" + #: df/virt-df.pl:258 msgid "Virtual Machine" msgstr "" @@ -586,80 +598,80 @@ msgstr "" msgid " Windows Registry entries:\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:135 perl/lib/Sys/Guestfs/Lib.pm:135 +#: perl/lib/Sys/Guestfs/Lib.pm:135 msgid "open_guest: first parameter must be a string or an arrayref" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:142 perl/lib/Sys/Guestfs/Lib.pm:142 +#: perl/lib/Sys/Guestfs/Lib.pm:142 #, perl-brace-format msgid "guest image {imagename} does not exist or is not readable" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:147 perl/lib/Sys/Guestfs/Lib.pm:147 +#: perl/lib/Sys/Guestfs/Lib.pm:147 msgid "" "open_guest: no libvirt support (install Sys::Virt, XML::XPath and XML::" "XPath::XMLParser)" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:152 perl/lib/Sys/Guestfs/Lib.pm:152 +#: perl/lib/Sys/Guestfs/Lib.pm:152 #, fuzzy msgid "open_guest: too many domains listed on command line" msgstr "guestfish: puste polecenie wiersza poleceń\n" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:156 perl/lib/Sys/Guestfs/Lib.pm:156 +#: perl/lib/Sys/Guestfs/Lib.pm:156 msgid "open_guest: cannot connect to libvirt" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:175 perl/lib/Sys/Guestfs/Lib.pm:175 +#: perl/lib/Sys/Guestfs/Lib.pm:175 #, perl-brace-format msgid "{imagename} is not the name of an inactive libvirt domain\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:178 perl/lib/Sys/Guestfs/Lib.pm:178 +#: perl/lib/Sys/Guestfs/Lib.pm:178 #, perl-brace-format msgid "{imagename} is not the name of a libvirt domain\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:190 perl/lib/Sys/Guestfs/Lib.pm:190 +#: perl/lib/Sys/Guestfs/Lib.pm:190 #, perl-brace-format msgid "{imagename} seems to have no disk devices\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:274 perl/lib/Sys/Guestfs/Lib.pm:274 +#: perl/lib/Sys/Guestfs/Lib.pm:274 msgid "resolve_windows_path: path must start with a / character" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:756 perl/lib/Sys/Guestfs/Lib.pm:756 +#: perl/lib/Sys/Guestfs/Lib.pm:756 #, fuzzy, perl-brace-format msgid "reged command failed: {errormsg}" msgstr "zewnętrzne polecenie nie powiodło się: %s" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:765 perl/lib/Sys/Guestfs/Lib.pm:765 +#: perl/lib/Sys/Guestfs/Lib.pm:765 #, perl-brace-format msgid "no output from reged command: {errormsg}" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:935 perl/lib/Sys/Guestfs/Lib.pm:935 +#: perl/lib/Sys/Guestfs/Lib.pm:935 #, perl-brace-format msgid "unknown filesystem label {label}\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:945 perl/lib/Sys/Guestfs/Lib.pm:945 +#: perl/lib/Sys/Guestfs/Lib.pm:945 #, perl-brace-format msgid "unknown filesystem UUID {uuid}\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:968 perl/lib/Sys/Guestfs/Lib.pm:968 +#: perl/lib/Sys/Guestfs/Lib.pm:968 #, perl-brace-format msgid "unknown filesystem {fs}\n" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:1187 perl/lib/Sys/Guestfs/Lib.pm:1187 +#: perl/lib/Sys/Guestfs/Lib.pm:1187 #, perl-brace-format msgid "{path} doesn't match augeas pattern" msgstr "" -#: perl/blib/lib/Sys/Guestfs/Lib.pm:1237 perl/lib/Sys/Guestfs/Lib.pm:1237 +#: perl/lib/Sys/Guestfs/Lib.pm:1237 #, perl-brace-format msgid "{filename}: could not read initrd format" msgstr "" @@ -924,10 +936,6 @@ msgstr "select_main_loop_run: nie może zostać wywołane rekursywnie" msgid "virt-v2v: no image or VM names given" msgstr "" -#: v2v/virt-v2v.pl:208 -msgid "no root device found in this operating system image" -msgstr "" - #: v2v/virt-v2v.pl:209 msgid "multiboot operating systems are not supported by v2v" msgstr ""