+#. type: =head2
+#: ../fish/guestfish-actions.pod:4801
+msgid "upload"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4803
+#, no-wrap
+msgid ""
+" upload (filename|-) remotefilename\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4805 ../fish/guestfish-actions.pod:4818 ../src/guestfs-actions.pod:7234 ../src/guestfs-actions.pod:7258
+msgid "Upload local file C<filename> to C<remotefilename> on the filesystem."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4810
+msgid "See also L</download>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4814
+msgid "upload-offset"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4816
+#, no-wrap
+msgid ""
+" upload-offset (filename|-) remotefilename offset\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4821 ../src/guestfs-actions.pod:7261
+msgid ""
+"C<remotefilename> is overwritten starting at the byte C<offset> specified. "
+"The intention is to overwrite parts of existing files or devices, although "
+"if a non-existant file is specified then it is created with a \"hole\" "
+"before C<offset>. The size of the data written is implicit in the size of "
+"the source C<filename>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4828
+msgid ""
+"Note that there is no limit on the amount of data that can be uploaded with "
+"this call, unlike with L</pwrite>, and this call always writes the full "
+"amount unless an error occurs."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4833
+msgid "See also L</upload>, L</pwrite>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4837
+msgid "utimens"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4839
+#, no-wrap
+msgid ""
+" utimens path atsecs atnsecs mtsecs mtnsecs\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4841 ../src/guestfs-actions.pod:7294
+msgid "This command sets the timestamps of a file with nanosecond precision."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4844 ../src/guestfs-actions.pod:7297
+msgid ""
+"C<atsecs, atnsecs> are the last access time (atime) in secs and nanoseconds "
+"from the epoch."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4847 ../src/guestfs-actions.pod:7300
+msgid ""
+"C<mtsecs, mtnsecs> are the last modification time (mtime) in secs and "
+"nanoseconds from the epoch."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4850 ../src/guestfs-actions.pod:7303
+msgid ""
+"If the C<*nsecs> field contains the special value C<-1> then the "
+"corresponding timestamp is set to the current time. (The C<*secs> field is "
+"ignored in this case)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4854 ../src/guestfs-actions.pod:7307
+msgid ""
+"If the C<*nsecs> field contains the special value C<-2> then the "
+"corresponding timestamp is left unchanged. (The C<*secs> field is ignored "
+"in this case)."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4858
+msgid "version"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4860
+#, no-wrap
+msgid ""
+" version\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4862 ../src/guestfs-actions.pod:7320
+msgid "Return the libguestfs version number that the program is linked against."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4865 ../src/guestfs-actions.pod:7323
+msgid ""
+"Note that because of dynamic linking this is not necessarily the version of "
+"libguestfs that you compiled against. You can compile the program, and then "
+"at runtime dynamically link against a completely different C<libguestfs.so> "
+"library."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4870 ../src/guestfs-actions.pod:7328
+msgid ""
+"This call was added in version C<1.0.58>. In previous versions of "
+"libguestfs there was no way to get the version number. From C code you can "
+"use dynamic linker functions to find out if this symbol exists (if it "
+"doesn't, then it's an earlier version)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4876 ../src/guestfs-actions.pod:7334
+msgid ""
+"The call returns a structure with four elements. The first three (C<major>, "
+"C<minor> and C<release>) are numbers and correspond to the usual version "
+"triplet. The fourth element (C<extra>) is a string and is normally empty, "
+"but may be used for distro-specific information."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4882 ../src/guestfs-actions.pod:7340
+msgid "To construct the original version string: C<$major.$minor.$release$extra>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4885 ../src/guestfs-actions.pod:7343
+msgid "See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4887
+msgid ""
+"I<Note:> Don't use this call to test for availability of features. In "
+"enterprise distributions we backport features from later versions into "
+"earlier versions, making this an unreliable way to test for features. Use "
+"L</available> instead."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4893
+msgid "vfs-label"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4895
+#, no-wrap
+msgid ""
+" vfs-label device\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4897 ../src/guestfs-actions.pod:7363
+msgid "This returns the filesystem label of the filesystem on C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4900 ../src/guestfs-actions.pod:7366
+msgid "If the filesystem is unlabeled, this returns the empty string."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4902
+msgid "To find a filesystem from the label, use L</findfs-label>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4904
+msgid "vfs-type"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4906
+#, no-wrap
+msgid ""
+" vfs-type device\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4908 ../src/guestfs-actions.pod:7381
+msgid ""
+"This command gets the filesystem type corresponding to the filesystem on "
+"C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4911 ../src/guestfs-actions.pod:7384
+msgid ""
+"For most filesystems, the result is the name of the Linux VFS module which "
+"would be used to mount this filesystem if you mounted it without specifying "
+"the filesystem type. For example a string such as C<ext3> or C<ntfs>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4916
+msgid "vfs-uuid"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4918
+#, no-wrap
+msgid ""
+" vfs-uuid device\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4920 ../src/guestfs-actions.pod:7400
+msgid "This returns the filesystem UUID of the filesystem on C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4923 ../src/guestfs-actions.pod:7403
+msgid "If the filesystem does not have a UUID, this returns the empty string."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4925
+msgid "To find a filesystem from the UUID, use L</findfs-uuid>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4927
+msgid "vg-activate"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4929
+#, no-wrap
+msgid ""
+" vg-activate true|false 'volgroups ...'\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4931 ../src/guestfs-actions.pod:7419
+msgid ""
+"This command activates or (if C<activate> is false) deactivates all logical "
+"volumes in the listed volume groups C<volgroups>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4934 ../src/guestfs-actions.pod:7422
+msgid "This command is the same as running C<vgchange -a y|n volgroups...>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4936 ../src/guestfs-actions.pod:7424
+msgid ""
+"Note that if C<volgroups> is an empty list then B<all> volume groups are "
+"activated or deactivated."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4939
+msgid "vg-activate-all"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4941
+#, no-wrap
+msgid ""
+" vg-activate-all true|false\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4943 ../src/guestfs-actions.pod:7437
+msgid ""
+"This command activates or (if C<activate> is false) deactivates all logical "
+"volumes in all volume groups."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4946 ../src/guestfs-actions.pod:7440
+msgid "This command is the same as running C<vgchange -a y|n>"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4948
+msgid "vgcreate"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4950
+#, no-wrap
+msgid ""
+" vgcreate volgroup 'physvols ...'\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4952 ../src/guestfs-actions.pod:7453
+msgid ""
+"This creates an LVM volume group called C<volgroup> from the non-empty list "
+"of physical volumes C<physvols>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4955
+msgid "vglvuuids"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4957
+#, no-wrap
+msgid ""
+" vglvuuids vgname\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4959 ../src/guestfs-actions.pod:7466
+msgid ""
+"Given a VG called C<vgname>, this returns the UUIDs of all the logical "
+"volumes created in this volume group."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4962
+msgid ""
+"You can use this along with L</lvs> and L</lvuuid> calls to associate "
+"logical volumes and volume groups."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4965
+msgid "See also L</vgpvuuids>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4967
+msgid "vgpvuuids"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4969
+#, no-wrap
+msgid ""
+" vgpvuuids vgname\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4971 ../src/guestfs-actions.pod:7486
+msgid ""
+"Given a VG called C<vgname>, this returns the UUIDs of all the physical "
+"volumes that this volume group resides on."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4974
+msgid ""
+"You can use this along with L</pvs> and L</pvuuid> calls to associate "
+"physical volumes and volume groups."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4977
+msgid "See also L</vglvuuids>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4979
+msgid "vgremove"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4981
+#, no-wrap
+msgid ""
+" vgremove vgname\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4983 ../src/guestfs-actions.pod:7506
+msgid "Remove an LVM volume group C<vgname>, (for example C<VG>)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4985 ../src/guestfs-actions.pod:7508
+msgid "This also forcibly removes all logical volumes in the volume group (if any)."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4988
+msgid "vgrename"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4990
+#, no-wrap
+msgid ""
+" vgrename volgroup newvolgroup\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4992 ../src/guestfs-actions.pod:7522
+msgid "Rename a volume group C<volgroup> with the new name C<newvolgroup>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:4994
+msgid "vgs"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:4996
+#, no-wrap
+msgid ""
+" vgs\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:4998 ../src/guestfs-actions.pod:7533
+msgid ""
+"List all the volumes groups detected. This is the equivalent of the "
+"L<vgs(8)> command."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5001 ../src/guestfs-actions.pod:7536
+msgid ""
+"This returns a list of just the volume group names that were detected "
+"(eg. C<VolGroup00>)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5004
+msgid "See also L</vgs-full>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5006
+msgid "vgs-full"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5008
+#, no-wrap
+msgid ""
+" vgs-full\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5010 ../src/guestfs-actions.pod:7552
+msgid ""
+"List all the volumes groups detected. This is the equivalent of the "
+"L<vgs(8)> command. The \"full\" version includes all fields."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5013
+msgid "vgscan"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5015
+#, no-wrap
+msgid ""
+" vgscan\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5017 ../src/guestfs-actions.pod:7566
+msgid ""
+"This rescans all block devices and rebuilds the list of LVM physical "
+"volumes, volume groups and logical volumes."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5020
+msgid "vguuid"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5022
+#, no-wrap
+msgid ""
+" vguuid vgname\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5024 ../src/guestfs-actions.pod:7579
+msgid "This command returns the UUID of the LVM VG named C<vgname>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5026
+msgid "wc-c"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5028
+#, no-wrap
+msgid ""
+" wc-c path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5030 ../src/guestfs-actions.pod:7619
+msgid ""
+"This command counts the characters in a file, using the C<wc -c> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5033
+msgid "wc-l"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5035
+#, no-wrap
+msgid ""
+" wc-l path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5037 ../src/guestfs-actions.pod:7632
+msgid ""
+"This command counts the lines in a file, using the C<wc -l> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5040
+msgid "wc-w"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5042
+#, no-wrap
+msgid ""
+" wc-w path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5044 ../src/guestfs-actions.pod:7645
+msgid ""
+"This command counts the words in a file, using the C<wc -w> external "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5047
+msgid "write"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5049
+#, no-wrap
+msgid ""
+" write path content\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5051 ../src/guestfs-actions.pod:7660
+msgid ""
+"This call creates a file called C<path>. The content of the file is the "
+"string C<content> (which can contain any 8 bit data)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5054
+msgid "See also L</write-append>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5059
+msgid "write-append"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5061
+#, no-wrap
+msgid ""
+" write-append path content\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5063 ../src/guestfs-actions.pod:7680
+msgid ""
+"This call appends C<content> to the end of file C<path>. If C<path> does "
+"not exist, then a new file is created."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5066
+msgid "See also L</write>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5071
+msgid "write-file"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5073
+#, no-wrap
+msgid ""
+" write-file path content size\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5075 ../src/guestfs-actions.pod:7700
+msgid ""
+"This call creates a file called C<path>. The contents of the file is the "
+"string C<content> (which can contain any 8 bit data), with length C<size>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5079 ../src/guestfs-actions.pod:7704
+msgid ""
+"As a special case, if C<size> is C<0> then the length is calculated using "
+"C<strlen> (so in this case the content cannot contain embedded ASCII NULs)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5083 ../src/guestfs-actions.pod:7708
+msgid ""
+"I<NB.> Owing to a bug, writing content containing ASCII NUL characters does "
+"I<not> work, even if the length is specified."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5089
+msgid "This function is deprecated. In new code, use the L</write> call instead."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5096
+msgid "zegrep"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5098
+#, no-wrap
+msgid ""
+" zegrep regex path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5100 ../src/guestfs-actions.pod:7732
+msgid "This calls the external C<zegrep> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5106
+msgid "zegrepi"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5108
+#, no-wrap
+msgid ""
+" zegrepi regex path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5110 ../src/guestfs-actions.pod:7751
+msgid "This calls the external C<zegrep -i> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5116
+msgid "zero"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5118
+#, no-wrap
+msgid ""
+" zero device\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5120 ../src/guestfs-actions.pod:7769
+msgid "This command writes zeroes over the first few blocks of C<device>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5122 ../src/guestfs-actions.pod:7771
+msgid ""
+"How many blocks are zeroed isn't specified (but it's I<not> enough to "
+"securely wipe the device). It should be sufficient to remove any partition "
+"tables, filesystem superblocks and so on."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5126
+msgid "See also: L</zero-device>, L</scrub-device>, L</is-zero-device>"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5129
+msgid "zero-device"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5131
+#, no-wrap
+msgid ""
+" zero-device device\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5133
+msgid ""
+"This command writes zeroes over the entire C<device>. Compare with L</zero> "
+"which just zeroes the first few blocks of a device."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5140
+msgid "zerofree"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5142
+#, no-wrap
+msgid ""
+" zerofree device\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5144 ../src/guestfs-actions.pod:7815
+msgid ""
+"This runs the I<zerofree> program on C<device>. This program claims to zero "
+"unused inodes and disk blocks on an ext2/3 filesystem, thus making it "
+"possible to compress the filesystem more effectively."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5149 ../src/guestfs-actions.pod:7820
+msgid "You should B<not> run this program if the filesystem is mounted."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5152 ../src/guestfs-actions.pod:7823
+msgid ""
+"It is possible that using this program can damage the filesystem or data on "
+"the filesystem."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5155
+msgid "zfgrep"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5157
+#, no-wrap
+msgid ""
+" zfgrep pattern path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5159 ../src/guestfs-actions.pod:7837
+msgid "This calls the external C<zfgrep> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5165
+msgid "zfgrepi"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5167
+#, no-wrap
+msgid ""
+" zfgrepi pattern path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5169 ../src/guestfs-actions.pod:7856
+msgid "This calls the external C<zfgrep -i> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5175
+msgid "zfile"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5177
+#, no-wrap
+msgid ""
+" zfile meth path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5179 ../src/guestfs-actions.pod:7875
+msgid "This command runs C<file> after first decompressing C<path> using C<method>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5182 ../src/guestfs-actions.pod:7878
+msgid "C<method> must be one of C<gzip>, C<compress> or C<bzip2>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5184
+msgid "Since 1.0.63, use L</file> instead which can now process compressed files."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5187
+msgid "This function is deprecated. In new code, use the L</file> call instead."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5194
+msgid "zgrep"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5196
+#, no-wrap
+msgid ""
+" zgrep regex path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5198 ../src/guestfs-actions.pod:7902
+msgid "This calls the external C<zgrep> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-actions.pod:5204
+msgid "zgrepi"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-actions.pod:5206
+#, no-wrap
+msgid ""
+" zgrepi regex path\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-actions.pod:5208 ../src/guestfs-actions.pod:7921
+msgid "This calls the external C<zgrep -i> program and returns the matching lines."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:1
+msgid "alloc"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:3
+msgid "allocate"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:5
+#, no-wrap
+msgid ""
+" alloc filename size\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:7
+msgid ""
+"This creates an empty (zeroed) file of the given size, and then adds so it "
+"can be further examined."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:10 ../fish/guestfish-commands.pod:182
+msgid "For more advanced image creation, see L<qemu-img(1)> utility."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:12 ../fish/guestfish-commands.pod:184
+msgid "Size can be specified using standard suffixes, eg. C<1M>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:14
+msgid ""
+"To create a sparse file, use L</sparse> instead. To create a prepared disk "
+"image, see L</PREPARED DISK IMAGES>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:17
+msgid "copy-in"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:19
+#, no-wrap
+msgid ""
+" copy-in local [local ...] /remotedir\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:21
+msgid ""
+"C<copy-in> copies local files or directories recursively into the disk "
+"image, placing them in the directory called C</remotedir> (which must "
+"exist). This guestfish meta-command turns into a sequence of L</tar-in> and "
+"other commands as necessary."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:26
+msgid ""
+"Multiple local files and directories can be specified, but the last "
+"parameter must always be a remote directory. Wildcards cannot be used."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:30
+msgid "copy-out"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:32
+#, no-wrap
+msgid ""
+" copy-out remote [remote ...] localdir\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:34
+msgid ""
+"C<copy-out> copies remote files or directories recursively out of the disk "
+"image, placing them on the host disk in a local directory called C<localdir> "
+"(which must exist). This guestfish meta-command turns into a sequence of "
+"L</download>, L</tar-out> and other commands as necessary."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:40
+msgid ""
+"Multiple remote files and directories can be specified, but the last "
+"parameter must always be a local directory. To download to the current "
+"directory, use C<.> as in:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:44
+#, no-wrap
+msgid ""
+" copy-out /home .\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:46
+msgid ""
+"Wildcards cannot be used in the ordinary command, but you can use them with "
+"the help of L</glob> like this:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:49
+#, no-wrap
+msgid ""
+" glob copy-out /home/* .\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:51
+msgid "display"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:53
+#, no-wrap
+msgid ""
+" display filename\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:55
+msgid ""
+"Use C<display> (a graphical display program) to display an image file. It "
+"downloads the file, and runs C<display> on it."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:58
+msgid ""
+"To use an alternative program, set the C<GUESTFISH_DISPLAY_IMAGE> "
+"environment variable. For example to use the GNOME display program:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:61
+#, no-wrap
+msgid ""
+" export GUESTFISH_DISPLAY_IMAGE=eog\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:63
+msgid "See also L<display(1)>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:65
+msgid "echo"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:67
+#, no-wrap
+msgid ""
+" echo [params ...]\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:69
+msgid "This echos the parameters to the terminal."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:71
+msgid "edit"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:73
+msgid "vi"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:75
+msgid "emacs"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:77
+#, no-wrap
+msgid ""
+" edit filename\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:79
+msgid ""
+"This is used to edit a file. It downloads the file, edits it locally using "
+"your editor, then uploads the result."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:82
+msgid ""
+"The editor is C<$EDITOR>. However if you use the alternate commands C<vi> "
+"or C<emacs> you will get those corresponding editors."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:86
+msgid "glob"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:88
+#, no-wrap
+msgid ""
+" glob command args...\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:90
+msgid ""
+"Expand wildcards in any paths in the args list, and run C<command> "
+"repeatedly on each matching path."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:93
+msgid "See L</WILDCARDS AND GLOBBING>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:95
+msgid "hexedit"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:97
+#, no-wrap
+msgid ""
+" hexedit <filename|device>\n"
+" hexedit <filename|device> <max>\n"
+" hexedit <filename|device> <start> <max>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:101
+msgid ""
+"Use hexedit (a hex editor) to edit all or part of a binary file or block "
+"device."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:104
+msgid ""
+"This command works by downloading potentially the whole file or device, "
+"editing it locally, then uploading it. If the file or device is large, you "
+"have to specify which part you wish to edit by using C<max> and/or C<start> "
+"C<max> parameters. C<start> and C<max> are specified in bytes, with the "
+"usual modifiers allowed such as C<1M> (1 megabyte)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:111
+msgid "For example to edit the first few sectors of a disk you might do:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:114
+#, no-wrap
+msgid ""
+" hexedit /dev/sda 1M\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:116
+msgid ""
+"which would allow you to edit anywhere within the first megabyte of the "
+"disk."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:119
+msgid "To edit the superblock of an ext2 filesystem on C</dev/sda1>, do:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:121
+#, no-wrap
+msgid ""
+" hexedit /dev/sda1 0x400 0x400\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:123
+msgid "(assuming the superblock is in the standard location)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:125
+msgid ""
+"This command requires the external L<hexedit(1)> program. You can specify "
+"another program to use by setting the C<HEXEDITOR> environment variable."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:129
+msgid "See also L</hexdump>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:131
+msgid "lcd"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:133
+#, no-wrap
+msgid ""
+" lcd directory\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:135
+msgid "Change the local directory, ie. the current directory of guestfish itself."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:138
+msgid "Note that C<!cd> won't do what you might expect."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:140
+msgid "man"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:142
+msgid "manual"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:144
+#, no-wrap
+msgid ""
+" man\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:146
+msgid "Opens the manual page for guestfish."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:148
+msgid "more"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:150
+msgid "less"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:152
+#, no-wrap
+msgid ""
+" more filename\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:154
+#, no-wrap
+msgid ""
+" less filename\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:156
+msgid "This is used to view a file."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:158
+msgid ""
+"The default viewer is C<$PAGER>. However if you use the alternate command "
+"C<less> you will get the C<less> command specifically."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:161
+msgid "reopen"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:163
+#, no-wrap
+msgid ""
+" reopen\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:165
+msgid ""
+"Close and reopen the libguestfs handle. It is not necessary to use this "
+"normally, because the handle is closed properly when guestfish exits. "
+"However this is occasionally useful for testing."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:169
+msgid "sparse"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:171
+#, no-wrap
+msgid ""
+" sparse filename size\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:173
+msgid ""
+"This creates an empty sparse file of the given size, and then adds so it can "
+"be further examined."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:176
+msgid ""
+"In all respects it works the same as the L</alloc> command, except that the "
+"image file is allocated sparsely, which means that disk blocks are not "
+"assigned to the file until they are needed. Sparse disk files only use "
+"space when written to, but they are slower and there is a danger you could "
+"run out of real disk space during a write operation."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:186
+msgid "supported"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:188
+#, no-wrap
+msgid ""
+" supported\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:190
+msgid ""
+"This command returns a list of the optional groups known to the daemon, and "
+"indicates which ones are supported by this build of the libguestfs "
+"appliance."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:194
+msgid "See also L<guestfs(3)/AVAILABILITY>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish-commands.pod:196
+msgid "time"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish-commands.pod:198
+#, no-wrap
+msgid ""
+" time command args...\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish-commands.pod:200
+msgid ""
+"Run the command as usual, but print the elapsed time afterwards. This can "
+"be useful for benchmarking operations."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:5
+msgid "guestfish - the libguestfs Filesystem Interactive SHell"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:9
+#, no-wrap
+msgid ""
+" guestfish [--options] [commands]\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:11
+#, no-wrap
+msgid ""
+" guestfish\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:13
+#, no-wrap
+msgid ""
+" guestfish [--ro|--rw] -a disk.img\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:15
+#, no-wrap
+msgid ""
+" guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:17
+#, no-wrap
+msgid ""
+" guestfish -d libvirt-domain\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:19
+#, no-wrap
+msgid ""
+" guestfish [--ro|--rw] -a disk.img -i\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:21
+#, no-wrap
+msgid ""
+" guestfish -d libvirt-domain -i\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:25
+msgid ""
+"Using guestfish in read/write mode on live virtual machines can be "
+"dangerous, potentially causing disk corruption. Use the I<--ro> (read-only) "
+"option to use guestfish safely if the disk image or virtual machine might be "
+"live."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:32
+msgid ""
+"Guestfish is a shell and command-line tool for examining and modifying "
+"virtual machine filesystems. It uses libguestfs and exposes all of the "
+"functionality of the guestfs API, see L<guestfs(3)>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:36
+msgid ""
+"Guestfish gives you structured access to the libguestfs API, from shell "
+"scripts or the command line or interactively. If you want to rescue a "
+"broken virtual machine image, you should look at the L<virt-rescue(1)> "
+"command."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:43
+msgid "As an interactive shell"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:45
+#, no-wrap
+msgid ""
+" $ guestfish\n"
+" \n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:47
+#, no-wrap
+msgid ""
+" Welcome to guestfish, the libguestfs filesystem interactive shell for\n"
+" editing virtual machine filesystems.\n"
+" \n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:50
+#, no-wrap
+msgid ""
+" Type: 'help' for a list of commands\n"
+" 'man' to read the manual\n"
+" 'quit' to quit the shell\n"
+" \n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:54
+#, no-wrap
+msgid ""
+" ><fs> add-ro disk.img\n"
+" ><fs> run\n"
+" ><fs> list-filesystems\n"
+" /dev/sda1: ext4\n"
+" /dev/vg_guest/lv_root: ext4\n"
+" /dev/vg_guest/lv_swap: swap\n"
+" ><fs> mount /dev/vg_guest/lv_root /\n"
+" ><fs> cat /etc/fstab\n"
+" # /etc/fstab\n"
+" # Created by anaconda\n"
+" [...]\n"
+" ><fs> exit\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:67
+msgid "From shell scripts"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:69
+msgid "Create a new C</etc/motd> file in a guest or disk image:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:71
+#, no-wrap
+msgid ""
+" guestfish <<_EOF_\n"
+" add disk.img\n"
+" run\n"
+" mount /dev/vg_guest/lv_root /\n"
+" write /etc/motd \"Welcome, new users\"\n"
+" _EOF_\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:78
+msgid "List the LVM logical volumes in a disk image:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:80
+#, no-wrap
+msgid ""
+" guestfish -a disk.img --ro <<_EOF_\n"
+" run\n"
+" lvs\n"
+" _EOF_\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:85
+msgid "List all the filesystems in a disk image:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:87
+#, no-wrap
+msgid ""
+" guestfish -a disk.img --ro <<_EOF_\n"
+" run\n"
+" list-filesystems\n"
+" _EOF_\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:92
+msgid "On one command line"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:94 ../fish/virt-copy-in.pod:31
+msgid "Update C</etc/resolv.conf> in a guest:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:96
+#, no-wrap
+msgid ""
+" guestfish \\\n"
+" add disk.img : run : mount /dev/vg_guest/lv_root / : \\\n"
+" write /etc/resolv.conf \"nameserver 1.2.3.4\"\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:100
+msgid "Edit C</boot/grub/grub.conf> interactively:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:102
+#, no-wrap
+msgid ""
+" guestfish --rw --add disk.img \\\n"
+" --mount /dev/vg_guest/lv_root \\\n"
+" --mount /dev/sda1:/boot \\\n"
+" edit /boot/grub/grub.conf\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:107
+msgid "Mount disks automatically"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:109
+msgid ""
+"Use the I<-i> option to automatically mount the disks from a virtual "
+"machine:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:112
+#, no-wrap
+msgid ""
+" guestfish --ro -a disk.img -i cat /etc/group\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:114
+#, no-wrap
+msgid ""
+" guestfish --ro -d libvirt-domain -i cat /etc/group\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:116
+msgid "Another way to edit C</boot/grub/grub.conf> interactively is:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:118
+#, no-wrap
+msgid ""
+" guestfish --rw -a disk.img -i edit /boot/grub/grub.conf\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:120
+msgid "As a script interpreter"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:122
+msgid "Create a 100MB disk containing an ext2-formatted partition:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:124
+#, no-wrap
+msgid ""
+" #!/usr/bin/guestfish -f\n"
+" sparse test1.img 100M\n"
+" run\n"
+" part-disk /dev/sda mbr\n"
+" mkfs ext2 /dev/sda1\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:130
+msgid "Start with a prepared disk"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:132
+msgid ""
+"An alternate way to create a 100MB disk called C<test1.img> containing a "
+"single ext2-formatted partition:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:135
+#, no-wrap
+msgid ""
+" guestfish -N fs\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:137
+msgid "To list what is available do:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:139 ../fish/guestfish.pod:1009
+#, no-wrap
+msgid ""
+" guestfish -N help | less\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:141
+msgid "Remote control"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:143
+#, no-wrap
+msgid ""
+" eval \"`guestfish --listen`\"\n"
+" guestfish --remote add-ro disk.img\n"
+" guestfish --remote run\n"
+" guestfish --remote lvs\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:154
+msgid "Displays general help on options."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:158
+msgid "B<--cmd-help>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:160
+msgid "Lists all available guestfish commands."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:162
+msgid "B<-h cmd>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:164
+msgid "B<--cmd-help cmd>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:166
+msgid "Displays detailed help on a single command C<cmd>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:168 ../fuse/guestmount.pod:87
+msgid "B<-a image>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:170 ../fuse/guestmount.pod:89
+msgid "B<--add image>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:172
+msgid "Add a block device or virtual machine image to the shell."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:177
+msgid ""
+"Using this flag is mostly equivalent to using the C<add> command, with "
+"C<readonly:true> if the I<--ro> flag was given, and with C<format:...> if "
+"the I<--format=...> flag was given."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:185 ../fuse/guestmount.pod:100
+msgid ""
+"When used in conjunction with the I<-d> option, this specifies the libvirt "
+"URI to use. The default is to use the default libvirt connection."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:189
+msgid "B<--csh>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:191
+msgid ""
+"If using the I<--listen> option and a csh-like shell, use this option. See "
+"section L</REMOTE CONTROL AND CSH> below."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:194 ../fuse/guestmount.pod:104
+msgid "B<-d libvirt-domain>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:196 ../fuse/guestmount.pod:106
+msgid "B<--domain libvirt-domain>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:198 ../fuse/guestmount.pod:108
+msgid ""
+"Add disks from the named libvirt domain. If the I<--ro> option is also "
+"used, then any libvirt domain can be used. However in write mode, only "
+"libvirt domains which are shut down can be named here."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:202 ../fuse/guestmount.pod:112
+msgid "Domain UUIDs can be used instead of names."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:204
+msgid ""
+"Using this flag is mostly equivalent to using the C<add-domain> command, "
+"with C<readonly:true> if the I<--ro> flag was given, and with C<format:...> "
+"if the I<--format:...> flag was given."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:208
+msgid "B<-D>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:210
+msgid "B<--no-dest-paths>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:212
+msgid ""
+"Don't tab-complete paths on the guest filesystem. It is useful to be able "
+"to hit the tab key to complete paths on the guest filesystem, but this "
+"causes extra \"hidden\" guestfs calls to be made, so this option is here to "
+"allow this feature to be disabled."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:219 ../fuse/guestmount.pod:128
+msgid ""
+"When prompting for keys and passphrases, guestfish 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."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:224
+msgid "B<-f file>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:226
+msgid "B<--file file>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:228
+msgid "Read commands from C<file>. To write pure guestfish scripts, use:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:231
+#, no-wrap
+msgid ""
+" #!/usr/bin/guestfish -f\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:244
+#, no-wrap
+msgid ""
+" guestfish --format=raw -a disk.img\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:248
+#, no-wrap
+msgid ""
+" guestfish --format=raw -a disk.img --format -a another.img\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:253
+msgid ""
+"If you have untrusted raw-format guest disk images, you should use this "
+"option to specify the disk format. This avoids a possible security problem "
+"with malicious guests (CVE-2010-3851). See also L</add-drive-opts>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:260 ../fuse/guestmount.pod:157
+msgid "B<--inspector>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:262 ../fuse/guestmount.pod:159
+msgid ""
+"Using L<virt-inspector(1)> code, inspect the disks looking for an operating "
+"system and mount filesystems as they would be mounted on the real virtual "
+"machine."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:266
+msgid "Typical usage is either:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:268
+#, no-wrap
+msgid ""
+" guestfish -d myguest -i\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:270
+msgid "(for an inactive libvirt domain called I<myguest>), or:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:272
+#, no-wrap
+msgid ""
+" guestfish --ro -d myguest -i\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:274
+msgid "(for active domains, readonly), or specify the block device directly:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:276
+#, no-wrap
+msgid ""
+" guestfish --rw -a /dev/Guests/MyGuest -i\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:278
+msgid ""
+"Note that the command line syntax changed slightly over older versions of "
+"guestfish. You can still use the old syntax:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:281
+#, no-wrap
+msgid ""
+" guestfish [--ro] -i disk.img\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:283
+#, no-wrap
+msgid ""
+" guestfish [--ro] -i libvirt-domain\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:285
+msgid ""
+"Using this flag is mostly equivalent to using the C<inspect-os> command and "
+"then using other commands to mount the filesystems that were found."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:294
+msgid "B<--listen>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:296
+msgid ""
+"Fork into the background and listen for remote commands. See section "
+"L</REMOTE CONTROL GUESTFISH OVER A SOCKET> below."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:299 ../fuse/guestmount.pod:168
+msgid "B<--live>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:301 ../fuse/guestmount.pod:170
+msgid ""
+"Connect to a live virtual machine. (Experimental, see "
+"L<guestfs(3)/ATTACHING TO RUNNING DAEMONS>)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:304 ../fuse/guestmount.pod:173
+msgid "B<-m dev[:mountpoint[:options]]>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:306 ../fuse/guestmount.pod:175
+msgid "B<--mount dev[:mountpoint[:options]]>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:308
+msgid "Mount the named partition or logical volume on the given mountpoint."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:310
+msgid "If the mountpoint is omitted, it defaults to C</>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:312
+msgid "You have to mount something on C</> before most commands will work."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:314
+msgid ""
+"If any I<-m> or I<--mount> options are given, the guest is automatically "
+"launched."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:317
+msgid ""
+"If you don't know what filesystems a disk image contains, you can either run "
+"guestfish without this option, then list the partitions, filesystems and LVs "
+"available (see L</list-partitions>, L</list-filesystems> and L</lvs> "
+"commands), or you can use the L<virt-filesystems(1)> program."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:323 ../fuse/guestmount.pod:183
+msgid ""
+"The third (and rarely used) part of the mount parameter is the list of mount "
+"options used to mount the underlying filesystem. If this is not given, then "
+"the mount options are either the empty string or C<ro> (the latter if the "
+"I<--ro> flag is used). By specifying the mount options, you override this "
+"default choice. Probably the only time you would use this is to enable ACLs "
+"and/or extended attributes if the filesystem can support them:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:331 ../fuse/guestmount.pod:191
+#, no-wrap
+msgid ""
+" -m /dev/sda1:/:acl,user_xattr\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:333
+msgid "Using this flag is equivalent to using the C<mount-options> command."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:335 ../fuse/guestmount.pod:193 ../resize/virt-resize.pod:352
+msgid "B<-n>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:337 ../fuse/guestmount.pod:195
+msgid "B<--no-sync>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:339
+msgid ""
+"Disable autosync. This is enabled by default. See the discussion of "
+"autosync in the L<guestfs(3)> manpage."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:342
+msgid "B<-N type>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:344
+msgid "B<--new type>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:346
+msgid "B<-N help>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:348
+msgid ""
+"Prepare a fresh disk image formatted as \"type\". This is an alternative to "
+"the I<-a> option: whereas I<-a> adds an existing disk, I<-N> creates a "
+"preformatted disk with a filesystem and adds it. See L</PREPARED DISK "
+"IMAGES> below."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:353
+msgid "B<--progress-bars>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:355
+msgid "Enable progress bars, even when guestfish is used non-interactively."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:357
+msgid ""
+"Progress bars are enabled by default when guestfish is used as an "
+"interactive shell."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:360
+msgid "B<--no-progress-bars>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:362
+msgid "Disable progress bars."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:364
+msgid "B<--remote[=pid]>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:366
+msgid ""
+"Send remote commands to C<$GUESTFISH_PID> or C<pid>. See section L</REMOTE "
+"CONTROL GUESTFISH OVER A SOCKET> below."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:369 ../fuse/guestmount.pod:239 ../rescue/virt-rescue.pod:161
+msgid "B<-r>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:371 ../fuse/guestmount.pod:241 ../rescue/virt-rescue.pod:163
+msgid "B<--ro>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:373
+msgid ""
+"This changes the I<-a>, I<-d> and I<-m> options so that disks are added and "
+"mounts are done read-only."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:376 ../rescue/virt-rescue.pod:167
+msgid ""
+"The option must always be used if the disk image or virtual machine might be "
+"running, and is generally recommended in cases where you don't need write "
+"access to the disk."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:380
+msgid ""
+"Note that prepared disk images created with I<-N> are not affected by this "
+"option. Also commands like C<add> are not affected - you have to specify "
+"the C<readonly:true> option explicitly if you need it."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:384
+msgid "See also L</OPENING DISKS FOR READ AND WRITE> below."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:386 ../fuse/guestmount.pod:253 ../rescue/virt-rescue.pod:173
+msgid "B<--selinux>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:388
+msgid "Enable SELinux support for the guest. See L<guestfs(3)/SELINUX>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:394
+msgid ""
+"Enable very verbose messages. This is particularly useful if you find a "
+"bug."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:401
+msgid "Display the guestfish / libguestfs version number and exit."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:403 ../fuse/guestmount.pod:269 ../rescue/virt-rescue.pod:190
+msgid "B<-w>"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:405 ../fuse/guestmount.pod:271 ../rescue/virt-rescue.pod:192
+msgid "B<--rw>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:407 ../fuse/guestmount.pod:273
+msgid ""
+"This changes the I<-a>, I<-d> and I<-m> options so that disks are added and "
+"mounts are done read-write."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:410
+msgid "See L</OPENING DISKS FOR READ AND WRITE> below."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:414
+msgid "Echo each command before executing it."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:418
+msgid "COMMANDS ON COMMAND LINE"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:420
+msgid "Any additional (non-option) arguments are treated as commands to execute."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:423
+msgid ""
+"Commands to execute should be separated by a colon (C<:>), where the colon "
+"is a separate parameter. Thus:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:426
+#, no-wrap
+msgid ""
+" guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:428
+msgid ""
+"If there are no additional arguments, then we enter a shell, either an "
+"interactive shell with a prompt (if the input is a terminal) or a "
+"non-interactive shell."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:432
+msgid ""
+"In either command line mode or non-interactive shell, the first command that "
+"gives an error causes the whole shell to exit. In interactive mode (with a "
+"prompt) if a command fails, you can continue to enter commands."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:437
+msgid "USING launch (OR run)"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:439
+msgid ""
+"As with L<guestfs(3)>, you must first configure your guest by adding disks, "
+"then launch it, then mount any disks you need, and finally issue "
+"actions/commands. So the general order of the day is:"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:447
+msgid "add or -a/--add"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:451
+msgid "launch (aka run)"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:455
+msgid "mount or -m/--mount"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:459
+msgid "any other commands"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:463
+msgid ""
+"C<run> is a synonym for C<launch>. You must C<launch> (or C<run>) your "
+"guest before mounting or performing any other commands."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:466
+msgid ""
+"The only exception is that if any of the I<-i>, I<-m>, I<--mount>, I<-N> or "
+"I<--new> options were given then C<run> is done automatically, simply "
+"because guestfish can't perform the action you asked for without doing this."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:471
+msgid "OPENING DISKS FOR READ AND WRITE"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:473
+msgid ""
+"The guestfish, L<guestmount(1)> and L<virt-rescue(1)> options I<--ro> and "
+"I<--rw> affect whether the other command line options I<-a>, I<-c>, I<-d>, "
+"I<-i> and I<-m> open disk images read-only or for writing."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:478
+msgid ""
+"In libguestfs E<le> 1.10, guestfish, guestmount and virt-rescue defaulted to "
+"opening disk images supplied on the command line for write. To open a disk "
+"image read-only you have to do I<-a image --ro>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:482
+msgid ""
+"This matters: If you accidentally open a live VM disk image writable then "
+"you will cause irreversible disk corruption."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:485
+msgid ""
+"In a future libguestfs we intend to change the default the other way. Disk "
+"images will be opened read-only. You will have to either specify "
+"I<guestfish --rw>, I<guestmount --rw>, I<virt-rescue --rw>, or change the "
+"configuration file C</etc/libguestfs-tools.conf> in order to get write "
+"access for disk images specified by those other command line options."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:492
+msgid ""
+"This version of guestfish, guestmount and virt-rescue has a I<--rw> option "
+"which does nothing (it is already the default). However it is highly "
+"recommended that you use this option to indicate that you need write access, "
+"and prepare your scripts for the day when this option will be required for "
+"write access."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:498
+msgid ""
+"B<Note:> This does I<not> affect commands like L</add> and L</mount>, or any "
+"other libguestfs program apart from guestfish and guestmount."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:501
+msgid "QUOTING"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:503
+msgid ""
+"You can quote ordinary parameters using either single or double quotes. For "
+"example:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:506
+#, no-wrap
+msgid ""
+" add \"file with a space.img\"\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:508
+#, no-wrap
+msgid ""
+" rm '/file name'\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:510
+#, no-wrap
+msgid ""
+" rm '/\"'\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:512
+msgid ""
+"A few commands require a list of strings to be passed. For these, use a "
+"whitespace-separated list, enclosed in quotes. Strings containing "
+"whitespace to be passed through must be enclosed in single quotes. A "
+"literal single quote must be escaped with a backslash."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:517
+#, no-wrap
+msgid ""
+" vgcreate VG \"/dev/sda1 /dev/sdb1\"\n"
+" command \"/bin/echo 'foo bar'\"\n"
+" command \"/bin/echo \\'foo\\'\"\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:521
+msgid "ESCAPE SEQUENCES IN DOUBLE QUOTED ARGUMENTS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:523
+msgid ""
+"In double-quoted arguments (only) use backslash to insert special "
+"characters:"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:528
+msgid "C<\\a>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:530
+msgid "Alert (bell) character."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:532
+msgid "C<\\b>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:534
+msgid "Backspace character."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:536
+msgid "C<\\f>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:538
+msgid "Form feed character."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:540
+msgid "C<\\n>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:542
+msgid "Newline character."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:544
+msgid "C<\\r>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:546
+msgid "Carriage return character."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:548
+msgid "C<\\t>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:550
+msgid "Horizontal tab character."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:552
+msgid "C<\\v>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:554
+msgid "Vertical tab character."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:556
+msgid "C<\\\">"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:558
+msgid "A literal double quote character."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:560
+msgid "C<\\ooo>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:562
+msgid ""
+"A character with octal value I<ooo>. There must be precisely 3 octal digits "
+"(unlike C)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:565
+msgid "C<\\xhh>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:567
+msgid "A character with hex value I<hh>. There must be precisely 2 hex digits."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:570
+msgid ""
+"In the current implementation C<\\000> and C<\\x00> cannot be used in "
+"strings."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:573
+msgid "C<\\\\>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:575
+msgid "A literal backslash character."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:579
+msgid "OPTIONAL ARGUMENTS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:581
+msgid ""
+"Some commands take optional arguments. These arguments appear in this "
+"documentation as C<[argname:..]>. You can use them as in these examples:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:585
+#, no-wrap
+msgid ""
+" add-drive-opts filename\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:587
+#, no-wrap
+msgid ""
+" add-drive-opts filename readonly:true\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:589
+#, no-wrap
+msgid ""
+" add-drive-opts filename format:qcow2 readonly:false\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:591
+msgid ""
+"Each optional argument can appear at most once. All optional arguments must "
+"appear after the required ones."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:594
+msgid "NUMBERS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:596
+msgid "This section applies to all commands which can take integers as parameters."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:599
+msgid "SIZE SUFFIX"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:601
+msgid ""
+"When the command takes a parameter measured in bytes, you can use one of the "
+"following suffixes to specify kilobytes, megabytes and larger sizes:"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:607
+msgid "B<k> or B<K> or B<KiB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:609
+msgid "The size in kilobytes (multiplied by 1024)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:611
+msgid "B<KB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:613
+msgid "The size in SI 1000 byte units."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:615
+msgid "B<M> or B<MiB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:617
+msgid "The size in megabytes (multiplied by 1048576)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:619
+msgid "B<MB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:621
+msgid "The size in SI 1000000 byte units."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:623
+msgid "B<G> or B<GiB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:625
+msgid "The size in gigabytes (multiplied by 2**30)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:627
+msgid "B<GB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:629
+msgid "The size in SI 10**9 byte units."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:631
+msgid "B<T> or B<TiB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:633
+msgid "The size in terabytes (multiplied by 2**40)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:635
+msgid "B<TB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:637
+msgid "The size in SI 10**12 byte units."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:639
+msgid "B<P> or B<PiB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:641
+msgid "The size in petabytes (multiplied by 2**50)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:643
+msgid "B<PB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:645
+msgid "The size in SI 10**15 byte units."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:647
+msgid "B<E> or B<EiB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:649
+msgid "The size in exabytes (multiplied by 2**60)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:651
+msgid "B<EB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:653
+msgid "The size in SI 10**18 byte units."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:655
+msgid "B<Z> or B<ZiB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:657
+msgid "The size in zettabytes (multiplied by 2**70)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:659
+msgid "B<ZB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:661
+msgid "The size in SI 10**21 byte units."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:663
+msgid "B<Y> or B<YiB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:665
+msgid "The size in yottabytes (multiplied by 2**80)."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:667
+msgid "B<YB>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:669
+msgid "The size in SI 10**24 byte units."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:675
+#, no-wrap
+msgid ""
+" truncate-size /file 1G\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:677
+msgid "would truncate the file to 1 gigabyte."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:679
+msgid ""
+"Be careful because a few commands take sizes in kilobytes or megabytes "
+"(eg. the parameter to L</memsize> is specified in megabytes already). "
+"Adding a suffix will probably not do what you expect."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:683
+msgid "OCTAL AND HEXADECIMAL NUMBERS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:685
+msgid ""
+"For specifying the radix (base) use the C convention: C<0> to prefix an "
+"octal number or C<0x> to prefix a hexadecimal number. For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:688
+#, no-wrap
+msgid ""
+" 1234 decimal number 1234\n"
+" 02322 octal number, equivalent to decimal 1234\n"
+" 0x4d2 hexadecimal number, equivalent to decimal 1234\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:692
+msgid ""
+"When using the C<chmod> command, you almost always want to specify an octal "
+"number for the mode, and you must prefix it with C<0> (unlike the Unix "
+"L<chmod(1)> program):"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:696
+#, no-wrap
+msgid ""
+" chmod 0777 /public # OK\n"
+" chmod 777 /public # WRONG! This is mode 777 decimal = 01411 octal.\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:699
+msgid ""
+"Commands that return numbers usually print them in decimal, but some "
+"commands print numbers in other radices (eg. C<umask> prints the mode in "
+"octal, preceeded by C<0>)."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:703
+msgid "WILDCARDS AND GLOBBING"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:705
+msgid ""
+"Neither guestfish nor the underlying guestfs API performs wildcard expansion "
+"(globbing) by default. So for example the following will not do what you "
+"expect:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:709
+#, no-wrap
+msgid ""
+" rm-rf /home/*\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:711
+msgid ""
+"Assuming you don't have a directory called literally C</home/*> then the "
+"above command will return an error."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:714
+msgid "To perform wildcard expansion, use the C<glob> command."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:716
+#, no-wrap
+msgid ""
+" glob rm-rf /home/*\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:718
+msgid ""
+"runs C<rm-rf> on each path that matches (ie. potentially running the command "
+"many times), equivalent to:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:721
+#, no-wrap
+msgid ""
+" rm-rf /home/jim\n"
+" rm-rf /home/joe\n"
+" rm-rf /home/mary\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:725
+msgid "C<glob> only works on simple guest paths and not on device names."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:727
+msgid ""
+"If you have several parameters, each containing a wildcard, then glob will "
+"perform a Cartesian product."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:730
+msgid "COMMENTS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:732
+msgid ""
+"Any line which starts with a I<#> character is treated as a comment and "
+"ignored. The I<#> can optionally be preceeded by whitespace, but B<not> by "
+"a command. For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:736
+#, no-wrap
+msgid ""
+" # this is a comment\n"
+" # this is a comment\n"
+" foo # NOT a comment\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:740
+msgid "Blank lines are also ignored."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:742
+msgid "RUNNING COMMANDS LOCALLY"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:744
+msgid ""
+"Any line which starts with a I<!> character is treated as a command sent to "
+"the local shell (C</bin/sh> or whatever L<system(3)> uses). For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:748
+#, no-wrap
+msgid ""
+" !mkdir local\n"
+" tgz-out /remote local/remote-data.tar.gz\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:751
+msgid ""
+"will create a directory C<local> on the host, and then export the contents "
+"of C</remote> on the mounted filesystem to C<local/remote-data.tar.gz>. "
+"(See C<tgz-out>)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:755
+msgid ""
+"To change the local directory, use the C<lcd> command. C<!cd> will have no "
+"effect, due to the way that subprocesses work in Unix."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:758
+msgid "LOCAL COMMANDS WITH INLINE EXECUTION"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:760
+msgid ""
+"If a line starts with I<E<lt>!> then the shell command is executed (as for "
+"I<!>), but subsequently any output (stdout) of the shell command is parsed "
+"and executed as guestfish commands."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:764
+msgid ""
+"Thus you can use shell script to construct arbitrary guestfish commands "
+"which are then parsed by guestfish."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:767
+msgid ""
+"For example it is tedious to create a sequence of files (eg. C</foo.1> "
+"through C</foo.100>) using guestfish commands alone. However this is simple "
+"if we use a shell script to create the guestfish commands for us:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:772
+#, no-wrap
+msgid ""
+" <! for n in `seq 1 100`; do echo write /foo.$n $n; done\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:774
+msgid "or with names like C</foo.001>:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:776
+#, no-wrap
+msgid ""
+" <! for n in `seq 1 100`; do printf \"write /foo.%03d %d\\n\" $n $n; done\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:778
+msgid ""
+"When using guestfish interactively it can be helpful to just run the shell "
+"script first (ie. remove the initial C<E<lt>> character so it is just an "
+"ordinary I<!> local command), see what guestfish commands it would run, and "
+"when you are happy with those prepend the C<E<lt>> character to run the "
+"guestfish commands for real."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:784
+msgid "PIPES"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:786
+msgid ""
+"Use C<command E<lt>spaceE<gt> | command> to pipe the output of the first "
+"command (a guestfish command) to the second command (any host command). For "
+"example:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:790
+#, no-wrap
+msgid ""
+" cat /etc/passwd | awk -F: '$3 == 0 { print }'\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:792
+msgid ""
+"(where C<cat> is the guestfish cat command, but C<awk> is the host awk "
+"program). The above command would list all accounts in the guest filesystem "
+"which have UID 0, ie. root accounts including backdoors. Other examples:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:797
+#, no-wrap
+msgid ""
+" hexdump /bin/ls | head\n"
+" list-devices | tail -1\n"
+" tgz-out / - | tar ztf -\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:801
+msgid ""
+"The space before the pipe symbol is required, any space after the pipe "
+"symbol is optional. Everything after the pipe symbol is just passed "
+"straight to the host shell, so it can contain redirections, globs and "
+"anything else that makes sense on the host side."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:806
+msgid ""
+"To use a literal argument which begins with a pipe symbol, you have to quote "
+"it, eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:809
+#, no-wrap
+msgid ""
+" echo \"|\"\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:811
+msgid "HOME DIRECTORIES"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:813
+msgid ""
+"If a parameter starts with the character C<~> then the tilde may be expanded "
+"as a home directory path (either C<~> for the current user's home directory, "
+"or C<~user> for another user)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:817
+msgid ""
+"Note that home directory expansion happens for users known I<on the host>, "
+"not in the guest filesystem."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:820
+msgid ""
+"To use a literal argument which begins with a tilde, you have to quote it, "
+"eg:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:823
+#, no-wrap
+msgid ""
+" echo \"~\"\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:825 ../src/guestfs.pod:519
+msgid "ENCRYPTED DISKS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:827
+msgid ""
+"Libguestfs has some support for Linux guests encrypted according to the "
+"Linux Unified Key Setup (LUKS) standard, which includes nearly all whole "
+"disk encryption systems used by modern Linux guests. Currently only "
+"LVM-on-LUKS is supported."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:832
+msgid "Identify encrypted block devices and partitions using L</vfs-type>:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:834
+#, no-wrap
+msgid ""
+" ><fs> vfs-type /dev/sda2\n"
+" crypto_LUKS\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:837
+msgid ""
+"Then open those devices using L</luks-open>. This creates a device-mapper "
+"device called C</dev/mapper/luksdev>."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:840
+#, no-wrap
+msgid ""
+" ><fs> luks-open /dev/sda2 luksdev\n"
+" Enter key or passphrase (\"key\"): <enter the passphrase>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:843
+msgid ""
+"Finally you have to tell LVM to scan for volume groups on the newly created "
+"mapper device:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:846
+#, no-wrap
+msgid ""
+" vgscan\n"
+" vg-activate-all true\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:849
+msgid "The logical volume(s) can now be mounted in the usual way."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:851
+msgid ""
+"Before closing a LUKS device you must unmount any logical volumes on it and "
+"deactivate the volume groups by calling C<vg-activate false VG> on each "
+"one. Then you can close the mapper device:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:855
+#, no-wrap
+msgid ""
+" vg-activate false /dev/VG\n"
+" luks-close /dev/mapper/luksdev\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:860
+msgid ""
+"If a path is prefixed with C<win:> then you can use Windows-style drive "
+"letters and paths (with some limitations). The following commands are "
+"equivalent:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:864
+#, no-wrap
+msgid ""
+" file /WINDOWS/system32/config/system.LOG\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:866
+#, no-wrap
+msgid ""
+" file win:\\windows\\system32\\config\\system.log\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:868
+#, no-wrap
+msgid ""
+" file WIN:C:\\Windows\\SYSTEM32\\CONFIG\\SYSTEM.LOG\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:870
+msgid ""
+"The parameter is rewritten \"behind the scenes\" by looking up the position "
+"where the drive is mounted, prepending that to the path, changing all "
+"backslash characters to forward slash, then resolving the result using "
+"L</case-sensitive-path>. For example if the E: drive was mounted on C</e> "
+"then the parameter might be rewritten like this:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:876
+#, no-wrap
+msgid ""
+" win:e:\\foo\\bar => /e/FOO/bar\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:878
+msgid "This only works in argument positions that expect a path."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:880
+msgid "UPLOADING AND DOWNLOADING FILES"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:882
+msgid ""
+"For commands such as C<upload>, C<download>, C<tar-in>, C<tar-out> and "
+"others which upload from or download to a local file, you can use the "
+"special filename C<-> to mean \"from stdin\" or \"to stdout\". For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:886
+#, no-wrap
+msgid ""
+" upload - /foo\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:888
+msgid "reads stdin and creates from that a file C</foo> in the disk image, and:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:891
+#, no-wrap
+msgid ""
+" tar-out /etc - | tar tf -\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:893
+msgid ""
+"writes the tarball to stdout and then pipes that into the external \"tar\" "
+"command (see L</PIPES>)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:896
+msgid ""
+"When using C<-> to read from stdin, the input is read up to the end of "
+"stdin. You can also use a special \"heredoc\"-like syntax to read up to "
+"some arbitrary end marker:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:900
+#, no-wrap
+msgid ""
+" upload -<<END /foo\n"
+" input line 1\n"
+" input line 2\n"
+" input line 3\n"
+" END\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:906
+msgid ""
+"Any string of characters can be used instead of C<END>. The end marker must "
+"appear on a line of its own, without any preceeding or following characters "
+"(not even spaces)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:910
+msgid ""
+"Note that the C<-E<lt>E<lt>> syntax only applies to parameters used to "
+"upload local files (so-called \"FileIn\" parameters in the generator)."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:913
+msgid "EXIT ON ERROR BEHAVIOUR"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:915
+msgid ""
+"By default, guestfish will ignore any errors when in interactive mode "
+"(ie. taking commands from a human over a tty), and will exit on the first "
+"error in non-interactive mode (scripts, commands given on the command line)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:920
+msgid ""
+"If you prefix a command with a I<-> character, then that command will not "
+"cause guestfish to exit, even if that (one) command returns an error."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:924
+msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:926
+msgid ""
+"Guestfish can be remote-controlled over a socket. This is useful "
+"particularly in shell scripts where you want to make several different "
+"changes to a filesystem, but you don't want the overhead of starting up a "
+"guestfish process each time."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:931
+msgid "Start a guestfish server process using:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:933
+#, no-wrap
+msgid ""
+" eval \"`guestfish --listen`\"\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:935
+msgid "and then send it commands by doing:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:937
+#, no-wrap
+msgid ""
+" guestfish --remote cmd [...]\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:939
+msgid "To cause the server to exit, send it the exit command:"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:943
+msgid ""
+"Note that the server will normally exit if there is an error in a command. "
+"You can change this in the usual way. See section L</EXIT ON ERROR "
+"BEHAVIOUR>."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:947
+msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:949
+msgid ""
+"The C<eval> statement sets the environment variable C<$GUESTFISH_PID>, which "
+"is how the I<--remote> option knows where to send the commands. You can "
+"have several guestfish listener processes running using:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:953
+#, no-wrap
+msgid ""
+" eval \"`guestfish --listen`\"\n"
+" pid1=$GUESTFISH_PID\n"
+" eval \"`guestfish --listen`\"\n"
+" pid2=$GUESTFISH_PID\n"
+" ...\n"
+" guestfish --remote=$pid1 cmd\n"
+" guestfish --remote=$pid2 cmd\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:961
+msgid "REMOTE CONTROL AND CSH"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:963
+msgid ""
+"When using csh-like shells (csh, tcsh etc) you have to add the I<--csh> "
+"option:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:966
+#, no-wrap
+msgid ""
+" eval \"`guestfish --listen --csh`\"\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:968
+msgid "REMOTE CONTROL DETAILS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:970
+msgid ""
+"Remote control happens over a Unix domain socket called "
+"C</tmp/.guestfish-$UID/socket-$PID>, where C<$UID> is the effective user ID "
+"of the process, and C<$PID> is the process ID of the server."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:974
+msgid "Guestfish client and server versions must match exactly."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:976
+msgid "REMOTE CONTROL RUN COMMAND HANGING"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:978
+msgid ""
+"Using the C<run> (or C<launch>) command remotely in a command substitution "
+"context hangs, ie. don't do (note the backquotes):"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:981
+#, no-wrap
+msgid ""
+" a=`guestfish --remote run`\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:983
+msgid ""
+"Since the C<run> command produces no output on stdout, this is not useful "
+"anyway. For further information see "
+"L<https://bugzilla.redhat.com/show_bug.cgi?id=592910>."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:987
+msgid "PREPARED DISK IMAGES"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:989
+msgid ""
+"Use the I<-N type> or I<--new type> parameter to select one of a set of "
+"preformatted disk images that guestfish can make for you to save typing. "
+"This is particularly useful for testing purposes. This option is used "
+"instead of the I<-a> option, and like I<-a> can appear multiple times (and "
+"can be mixed with I<-a>)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:995
+msgid ""
+"The new disk is called C<test1.img> for the first I<-N>, C<test2.img> for "
+"the second and so on. Existing files in the current directory are "
+"I<overwritten>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:999
+msgid ""
+"The type briefly describes how the disk should be sized, partitioned, how "
+"filesystem(s) should be created, and how content should be added. "
+"Optionally the type can be followed by extra parameters, separated by C<:> "
+"(colon) characters. For example, I<-N fs> creates a default 100MB, "
+"sparsely-allocated disk, containing a single partition, with the partition "
+"formatted as ext2. I<-N fs:ext4:1G> is the same, but for an ext4 filesystem "
+"on a 1GB disk instead."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1007
+msgid "To list the available types and any extra parameters they take, run:"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1011
+msgid ""
+"Note that the prepared filesystem is not mounted. You would usually have to "
+"use the C<mount /dev/sda1 /> command or add the I<-m /dev/sda1> option."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1015
+msgid ""
+"If any I<-N> or I<--new> options are given, the guest is automatically "
+"launched."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1020
+msgid "Create a 100MB disk with an ext4-formatted partition:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:1022
+#, no-wrap
+msgid ""
+" guestfish -N fs:ext4\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1024
+msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:1026
+#, no-wrap
+msgid ""
+" guestfish -N fs:vfat:32M -m /dev/sda1\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1028
+msgid "Create a blank 200MB disk:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:1030
+#, no-wrap
+msgid ""
+" guestfish -N disk:200M\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:1032
+msgid "PROGRESS BARS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1034
+msgid ""
+"Some (not all) long-running commands send progress notification messages as "
+"they are running. Guestfish turns these messages into progress bars."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1038
+msgid ""
+"When a command that supports progress bars takes longer than two seconds to "
+"run, and if progress bars are enabled, then you will see one appearing below "
+"the command:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:1042
+#, no-wrap
+msgid ""
+" ><fs> copy-size /large-file /another-file 2048M\n"
+" / 10% [#####-----------------------------------------] 00:30\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1045
+msgid ""
+"The spinner on the left hand side moves round once for every progress "
+"notification received from the backend. This is a (reasonably) golden "
+"assurance that the command is \"doing something\" even if the progress bar "
+"is not moving, because the command is able to send the progress "
+"notifications. When the bar reaches 100% and the command finishes, the "
+"spinner disappears."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1052
+msgid ""
+"Progress bars are enabled by default when guestfish is used interactively. "
+"You can enable them even for non-interactive modes using I<--progress-bars>, "
+"and you can disable them completely using I<--no-progress-bars>."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:1057
+msgid "GUESTFISH COMMANDS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1059
+msgid ""
+"The commands in this section are guestfish convenience commands, in other "
+"words, they are not part of the L<guestfs(3)> API."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:1062
+msgid "help"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:1064
+#, no-wrap
+msgid ""
+" help\n"
+" help cmd\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1067
+msgid "Without any parameter, this provides general help."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1069
+msgid "With a C<cmd> parameter, this displays detailed help for that command."
+msgstr ""
+
+#. type: =head2
+#: ../fish/guestfish.pod:1071
+msgid "quit | exit"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1073
+msgid "This exits guestfish. You can also use C<^D> key."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1075
+msgid "@FISH_COMMANDS@"
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:1077
+msgid "COMMANDS"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1079 ../src/guestfs.pod:1474
+msgid "@ACTIONS@"
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:1081 ../test-tool/libguestfs-test-tool.pod:77
+msgid "EXIT CODE"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1083
+msgid ""
+"guestfish returns 0 if the commands completed without error, or 1 if there "
+"was an error."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1090
+msgid "EDITOR"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1092
+msgid ""
+"The C<edit> command uses C<$EDITOR> as the editor. If not set, it uses "
+"C<vi>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1095 ../src/guestfs.pod:2969
+msgid "FEBOOTSTRAP_KERNEL"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1097 ../src/guestfs.pod:2971
+msgid "FEBOOTSTRAP_MODULES"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1099 ../src/guestfs.pod:2973
+msgid ""
+"These two environment variables allow the kernel that libguestfs uses in the "
+"appliance to be selected. If C<$FEBOOTSTRAP_KERNEL> is not set, then the "
+"most recent host kernel is chosen. For more information about kernel "
+"selection, see L<febootstrap-supermin-helper(8)>. This feature is only "
+"available in febootstrap E<ge> 3.8."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1105
+msgid "GUESTFISH_DISPLAY_IMAGE"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1107
+msgid ""
+"The C<display> command uses C<$GUESTFISH_DISPLAY_IMAGE> to display images. "
+"If not set, it uses L<display(1)>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1110
+msgid "GUESTFISH_PID"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1112
+msgid ""
+"Used with the I<--remote> option to specify the remote guestfish process to "
+"control. See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1116
+msgid "HEXEDITOR"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1118
+msgid ""
+"The L</hexedit> command uses C<$HEXEDITOR> as the external hex editor. If "
+"not specified, the external L<hexedit(1)> program is used."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1122
+msgid "HOME"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1124
+msgid ""
+"If compiled with GNU readline support, various files in the home directory "
+"can be used. See L</FILES>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1127 ../src/guestfs.pod:2979
+msgid "LIBGUESTFS_APPEND"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1129 ../src/guestfs.pod:2981
+msgid "Pass additional options to the guest kernel."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1131 ../src/guestfs.pod:2983
+msgid "LIBGUESTFS_DEBUG"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1133
+msgid ""
+"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages. This has the same "
+"effect as using the B<-v> option."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1136 ../src/guestfs.pod:2988
+msgid "LIBGUESTFS_MEMSIZE"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1138 ../src/guestfs.pod:2990
+msgid "Set the memory allocated to the qemu process, in megabytes. For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:1141 ../src/guestfs.pod:2993
+#, no-wrap
+msgid ""
+" LIBGUESTFS_MEMSIZE=700\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1143 ../src/guestfs.pod:2995
+msgid "LIBGUESTFS_PATH"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1145
+msgid ""
+"Set the path that guestfish uses to search for kernel and initrd.img. See "
+"the discussion of paths in L<guestfs(3)>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1148 ../src/guestfs.pod:3000
+msgid "LIBGUESTFS_QEMU"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1150 ../src/guestfs.pod:3002
+msgid ""
+"Set the default qemu binary that libguestfs uses. If not set, then the qemu "
+"which was found at compile time by the configure script is used."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1154 ../src/guestfs.pod:3008
+msgid "LIBGUESTFS_TRACE"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1156
+msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1158
+msgid "PAGER"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1160
+msgid ""
+"The C<more> command uses C<$PAGER> as the pager. If not set, it uses "
+"C<more>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1163 ../src/guestfs.pod:3013
+msgid "TMPDIR"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1165 ../src/guestfs.pod:3015
+msgid ""
+"Location of temporary directory, defaults to C</tmp> except for the cached "
+"supermin appliance which defaults to C</var/tmp>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1168 ../src/guestfs.pod:3018
+msgid ""
+"If libguestfs was compiled to use the supermin appliance then the real "
+"appliance is cached in this directory, shared between all handles belonging "
+"to the same EUID. You can use C<$TMPDIR> to configure another directory to "
+"use in case C</var/tmp> is not large enough."
+msgstr ""
+
+#. type: =head1
+#: ../fish/guestfish.pod:1176 ../fuse/guestmount.pod:288 ../rescue/virt-rescue.pod:269
+msgid "FILES"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1180 ../fuse/guestmount.pod:292 ../rescue/virt-rescue.pod:273
+msgid "$HOME/.libguestfs-tools.rc"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1182 ../fuse/guestmount.pod:294 ../rescue/virt-rescue.pod:275
+msgid "/etc/libguestfs-tools.conf"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1184 ../fuse/guestmount.pod:296 ../rescue/virt-rescue.pod:277
+msgid ""
+"This configuration file controls the default read-only or read-write mode "
+"(I<--ro> or I<--rw>)."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1187
+msgid "See L</OPENING DISKS FOR READ AND WRITE>."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1189
+msgid "$HOME/.guestfish"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1191
+msgid ""
+"If compiled with GNU readline support, then the command history is saved in "
+"this file."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1194
+msgid "$HOME/.inputrc"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1196
+msgid "/etc/inputrc"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1198
+msgid ""
+"If compiled with GNU readline support, then these files can be used to "
+"configure readline. For further information, please see "
+"L<readline(3)/INITIALIZATION FILE>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1202
+msgid "To write rules which only apply to guestfish, use:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:1204
+#, no-wrap
+msgid ""
+" $if guestfish\n"
+" ...\n"
+" $endif\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1208
+msgid ""
+"Variables that you can set in inputrc that change the behaviour of guestfish "
+"in useful ways include:"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1213
+msgid "completion-ignore-case (default: on)"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1215
+msgid ""
+"By default, guestfish will ignore case when tab-completing paths on the "
+"disk. Use:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/guestfish.pod:1218
+#, no-wrap
+msgid ""
+" set completion-ignore-case off\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1220
+msgid "to make guestfish case sensitive."
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1224
+msgid "test1.img"
+msgstr ""
+
+#. type: =item
+#: ../fish/guestfish.pod:1226
+msgid "test2.img (etc)"
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1228
+msgid ""
+"When using the I<-N> or I<--new> option, the prepared disk or filesystem "
+"will be created in the file C<test1.img> in the current directory. The "
+"second use of I<-N> will use C<test2.img> and so on. Any existing file with "
+"the same name will be overwritten."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1237
+msgid ""
+"L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-cat(1)>, "
+"L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-df(1)>, L<virt-edit(1)>, "
+"L<virt-filesystems(1)>, L<virt-inspector(1)>, L<virt-list-filesystems(1)>, "
+"L<virt-list-partitions(1)>, L<virt-ls(1)>, L<virt-make-fs(1)>, "
+"L<virt-rescue(1)>, L<virt-resize(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, "
+"L<virt-tar-out(1)>, L<virt-win-reg(1)>, L<display(1)>, L<hexedit(1)>, "
+"L<febootstrap-supermin-helper(8)>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/guestfish.pod:1266 ../src/guestfs.pod:3104 ../test-tool/libguestfs-test-tool.pod:99
+msgid "Copyright (C) 2009-2011 Red Hat Inc. L<http://libguestfs.org/>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:5
+msgid "virt-copy-in - Copy files and directories into a virtual machine disk image."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-copy-in.pod:9
+#, no-wrap
+msgid ""
+" virt-copy-in -a disk.img file|dir [file|dir ...] /destination\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-copy-in.pod:11
+#, no-wrap
+msgid ""
+" virt-copy-in -d domain file|dir [file|dir ...] /destination\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:15
+msgid ""
+"Using C<virt-copy-in> on live virtual machines can be dangerous, potentially "
+"causing disk corruption. The virtual machine must be shut down before you "
+"use this command."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:21
+msgid ""
+"C<virt-copy-in> copies files and directories from the local disk into a "
+"virtual machine disk image or named libvirt domain."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:24
+msgid ""
+"You can give one of more filenames and directories on the command line. "
+"Directories are copied in recursively. The final parameter must be the "
+"destination directory in the disk image which must be an absolute path "
+"starting with a C</> character."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-copy-in.pod:33
+#, no-wrap
+msgid ""
+" virt-copy-in -d MyGuest resolv.conf /etc\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:35 ../fish/virt-tar-in.pod:32
+msgid "Upload a home directory to a guest:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-copy-in.pod:37
+#, no-wrap
+msgid ""
+" virt-copy-in -d MyGuest skel /home\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../fish/virt-copy-in.pod:39 ../fish/virt-copy-out.pod:28 ../fish/virt-tar-in.pod:36 ../fish/virt-tar-out.pod:30
+msgid "JUST A SHELL SCRIPT WRAPPER AROUND GUESTFISH"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:41
+msgid ""
+"This command is just a simple shell script wrapper around the "
+"L<guestfish(1)> C<copy-in> command. For anything more complex than a "
+"trivial copy, you are probably better off using guestfish directly."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:47 ../fish/virt-copy-out.pod:36 ../fish/virt-tar-in.pod:44 ../fish/virt-tar-out.pod:38
+msgid ""
+"Since the shell script just passes options straight to guestfish, read "
+"L<guestfish(1)> to see the full list of options."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:52
+msgid ""
+"L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-out(1)>, L<virt-edit(1)>, "
+"L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-in.pod:66 ../fish/virt-copy-out.pod:55 ../fish/virt-tar-in.pod:64 ../fish/virt-tar-out.pod:57
+msgid "Copyright (C) 2011 Red Hat Inc. L<http://libguestfs.org/>"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-out.pod:5
+msgid ""
+"virt-copy-out - Copy files and directories out of a virtual machine disk "
+"image."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-copy-out.pod:9
+#, no-wrap
+msgid ""
+" virt-copy-out -a disk.img /file|dir [/file|dir ...] localdir\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-copy-out.pod:11
+#, no-wrap
+msgid ""
+" virt-copy-out -d domain /file|dir [/file|dir ...] localdir\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-out.pod:15
+msgid ""
+"C<virt-copy-out> copies files and directories out of a virtual machine disk "
+"image or named libvirt domain."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-out.pod:18
+msgid ""
+"You can give one of more filenames and directories on the command line. "
+"Directories are copied out recursively."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-out.pod:23
+msgid "Download the home directories from a virtual machine:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-copy-out.pod:25
+#, no-wrap
+msgid ""
+" mkdir homes\n"
+" virt-copy-out -d MyGuest /home homes\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-out.pod:30
+msgid ""
+"This command is just a simple shell script wrapper around the "
+"L<guestfish(1)> C<copy-out> command. For anything more complex than a "
+"trivial copy, you are probably better off using guestfish directly."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-copy-out.pod:41
+msgid ""
+"L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-edit(1)>, "
+"L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-in.pod:5
+msgid "virt-tar-in - Unpack a tarball into a virtual machine disk image."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-tar-in.pod:9
+#, no-wrap
+msgid ""
+" virt-tar-in -a disk.img data.tar /destination\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-tar-in.pod:11
+#, no-wrap
+msgid ""
+" virt-tar-in -d domain data.tar /destination\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-tar-in.pod:13
+#, no-wrap
+msgid ""
+" zcat data.tar.gz | virt-tar-in -d domain - /destination\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-in.pod:17
+msgid ""
+"Using C<virt-tar-in> on live virtual machines can be dangerous, potentially "
+"causing disk corruption. The virtual machine must be shut down before you "
+"use this command."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-in.pod:23
+msgid ""
+"C<virt-tar-in> unpacks an uncompressed tarball into a virtual machine disk "
+"image or named libvirt domain."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-in.pod:26
+msgid ""
+"The first parameter is the tar file. Use C<-> to read the tar file from "
+"standard input. The second parameter is the absolute target directory to "
+"unpack into."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-tar-in.pod:34
+#, no-wrap
+msgid ""
+" virt-tar-in -d MyGuest homes.tar /home\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-in.pod:38
+msgid ""
+"This command is just a simple shell script wrapper around the "
+"L<guestfish(1)> C<tar-in> command. For anything more complex than a trivial "
+"copy, you are probably better off using guestfish directly."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-in.pod:49
+msgid ""
+"L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-copy-out(1)>, "
+"L<virt-edit(1)>, L<virt-make-fs(1)>, L<virt-tar-out(1)>, "
+"L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-out.pod:5
+msgid "virt-tar-out - Pack a virtual machine disk image directory into a tarball."
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-tar-out.pod:9
+#, no-wrap
+msgid ""
+" virt-tar-out -a disk.img /dir files.tar\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-tar-out.pod:11
+#, no-wrap
+msgid ""
+" virt-tar-out -d domain /dir files.tar\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-tar-out.pod:13
+#, no-wrap
+msgid ""
+" virt-tar-out -d domain /dir - | gzip --best > files.tar.gz\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-out.pod:17
+msgid "C<virt-tar-out> packs a virtual machine disk image directory into a tarball."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-out.pod:20
+msgid ""
+"The first parameter is the absolute path of the virtual machine directory. "
+"The second parameter is the tar file to write. Use C<-> to write to "
+"standard output."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-out.pod:26
+msgid "Download the home directories from a guest:"
+msgstr ""
+
+#. type: verbatim
+#: ../fish/virt-tar-out.pod:28
+#, no-wrap
+msgid ""
+" virt-tar-out -d MyGuest /home - | gzip --best > homes.tar.gz\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-out.pod:32
+msgid ""
+"This command is just a simple shell script wrapper around the "
+"L<guestfish(1)> C<tar-out> command. For anything more complex than a "
+"trivial copy, you are probably better off using guestfish directly."
+msgstr ""
+
+#. type: textblock
+#: ../fish/virt-tar-out.pod:43
+msgid ""
+"L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-copy-out(1)>, "
+"L<virt-edit(1)>, L<virt-tar-in(1)>, L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:5
+msgid "guestmount - Mount a guest filesystem on the host using FUSE and libguestfs"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:9
+#, no-wrap
+msgid ""
+" guestmount [--options] -a disk.img -m device [--ro] mountpoint\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:11
+#, no-wrap
+msgid ""
+" guestmount [--options] -a disk.img -i [--ro] mountpoint\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:13
+#, no-wrap
+msgid ""
+" guestmount [--options] -d Guest -i [--ro] mountpoint\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:17
+msgid ""
+"You must I<not> use C<guestmount> in read-write mode on live virtual "
+"machines. If you do this, you risk disk corruption in the VM."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:22
+msgid ""
+"The guestmount program can be used to mount virtual machine filesystems and "
+"other disk images on the host. It uses libguestfs for access to the guest "
+"filesystem, and FUSE (the \"filesystem in userspace\") to make it appear as "
+"a mountable device."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:27
+msgid ""
+"Along with other options, you have to give at least one device (I<-a> "
+"option) or libvirt domain (I<-d> option), and at least one mountpoint (I<-m> "
+"option) or use the I<-i> inspection option. How this works is better "
+"explained in the L<guestfish(1)> manual page, or by looking at the examples "
+"below."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:33
+msgid ""
+"FUSE lets you mount filesystems as non-root. The mountpoint must be owned "
+"by you, and the filesystem will not be visible to any other users unless you "
+"make certain global configuration changes to C</etc/fuse.conf>. To unmount "
+"the filesystem, use the C<fusermount -u> command."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:41
+msgid ""
+"For a typical Windows guest which has its main filesystem on the first "
+"partition:"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:44
+#, no-wrap
+msgid ""
+" guestmount -a windows.img -m /dev/sda1 --ro /mnt\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:46
+msgid ""
+"For a typical Linux guest which has a /boot filesystem on the first "
+"partition, and the root filesystem on a logical volume:"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:49
+#, no-wrap
+msgid ""
+" guestmount -a linux.img -m /dev/VG/LV -m /dev/sda1:/boot --ro /mnt\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:51
+msgid "To get libguestfs to detect guest mountpoints for you:"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:53
+#, no-wrap
+msgid ""
+" guestmount -a guest.img -i --ro /mnt\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:55
+msgid "For a libvirt guest called \"Guest\" you could do:"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:57
+#, no-wrap
+msgid ""
+" guestmount -d Guest -i --ro /mnt\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:59
+msgid ""
+"If you don't know what filesystems are contained in a guest or disk image, "
+"use L<virt-filesystems(1)> first:"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:62
+#, no-wrap
+msgid ""
+" virt-filesystems MyGuest\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:64
+msgid ""
+"If you want to trace the libguestfs calls but without excessive debugging "
+"information, we recommend:"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:67
+#, no-wrap
+msgid ""
+" guestmount [...] --trace /mnt\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:69
+msgid "If you want to debug the program, we recommend:"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:71
+#, no-wrap
+msgid ""
+" guestmount [...] --trace --verbose /mnt\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../fuse/guestmount.pod:73 ../rescue/virt-rescue.pod:68 ../resize/virt-resize.pod:486
+msgid "NOTES"
+msgstr ""
+
+#. type: =head2
+#: ../fuse/guestmount.pod:75
+msgid "Other users cannot see the filesystem by default"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:77
+msgid ""
+"If you mount a filesystem as one user (eg. root), then other users will not "
+"be able to see it by default. The fix is to add the FUSE C<allow_other> "
+"option when mounting:"
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:81
+#, no-wrap
+msgid ""
+" sudo guestmount [...] -o allow_other /mnt\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:91
+msgid "Add a block device or virtual machine image."
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:114
+msgid "B<--dir-cache-timeout N>"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:116
+msgid ""
+"Set the readdir cache timeout to I<N> seconds, the default being 60 "
+"seconds. The readdir cache [actually, there are several semi-independent "
+"caches] is populated after a readdir(2) call with the stat and extended "
+"attributes of the files in the directory, in anticipation that they will be "
+"requested soon after."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:122
+msgid ""
+"There is also a different attribute cache implemented by FUSE (see the FUSE "
+"option I<-o attr_timeout>), but the FUSE cache does not anticipate future "
+"requests, only cache existing ones."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:142
+msgid ""
+"If you have untrusted raw-format guest disk images, you should use this "
+"option to specify the disk format. This avoids a possible security problem "
+"with malicious guests (CVE-2010-3851). See also "
+"L<guestfs(3)/guestfs_add_drive_opts>."
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:147
+msgid "B<--fuse-help>"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:149
+msgid "Display help on special FUSE options (see I<-o> below)."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:153
+msgid "Display brief help and exit."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:177
+msgid ""
+"Mount the named partition or logical volume on the given mountpoint B<in the "
+"guest> (this has nothing to do with mountpoints in the host)."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:180
+msgid ""
+"If the mountpoint is omitted, it defaults to C</>. You have to mount "
+"something on C</>."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:197
+msgid ""
+"By default, we attempt to sync the guest disk when the FUSE mountpoint is "
+"unmounted. If you specify this option, then we don't attempt to sync the "
+"disk. See the discussion of autosync in the L<guestfs(3)> manpage."
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:202
+msgid "B<-o option>"
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:204
+msgid "B<--option option>"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:206
+msgid "Pass extra options to FUSE."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:208
+msgid ""
+"To get a list of all the extra options supported by FUSE, use the command "
+"below. Note that only the FUSE I<-o> options can be passed, and only some "
+"of them are a good idea."
+msgstr ""
+
+#. type: verbatim
+#: ../fuse/guestmount.pod:212
+#, no-wrap
+msgid ""
+" guestmount --fuse-help\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:214
+msgid "Some potentially useful FUSE options:"
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:218
+msgid "B<-o allow_other>"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:220
+msgid "Allow other users to see the filesystem."
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:222
+msgid "B<-o attr_timeout=N>"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:224
+msgid "Enable attribute caching by FUSE, and set the timeout to I<N> seconds."
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:226
+msgid "B<-o kernel_cache>"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:228
+msgid ""
+"Allow the kernel to cache files (reduces the number of reads that have to go "
+"through the L<guestfs(3)> API). This is generally a good idea if you can "
+"afford the extra memory usage."
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:232
+msgid "B<-o uid=N> B<-o gid=N>"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:234
+msgid ""
+"Use these options to map all UIDs and GIDs inside the guest filesystem to "
+"the chosen values."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:243
+msgid ""
+"Add devices and mount everything read-only. Also disallow writes and make "
+"the disk appear read-only to FUSE."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:246
+msgid ""
+"This is highly recommended if you are not going to edit the guest disk. If "
+"the guest is running and this option is I<not> supplied, then there is a "
+"strong risk of disk corruption in the guest. We try to prevent this from "
+"happening, but it is not always possible."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:251 ../rescue/virt-rescue.pod:171
+msgid "See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:255
+msgid "Enable SELinux support for the guest."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:261
+msgid "Enable verbose messages from underlying libguestfs."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:267
+msgid "Display the program version and exit."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:276 ../fuse/guestmount.pod:299 ../rescue/virt-rescue.pod:197 ../rescue/virt-rescue.pod:280
+msgid "See L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."
+msgstr ""
+
+#. type: =item
+#: ../fuse/guestmount.pod:280
+msgid "B<--trace>"
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:282
+msgid "Trace libguestfs calls and entry into each FUSE function."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:284
+msgid "This also stops the daemon from forking into the background."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:305
+msgid ""
+"L<guestfish(1)>, L<virt-inspector(1)>, L<virt-cat(1)>, L<virt-edit(1)>, "
+"L<virt-tar(1)>, L<guestfs(3)>, L<http://libguestfs.org/>, "
+"L<http://fuse.sf.net/>."
+msgstr ""
+
+#. type: textblock
+#: ../fuse/guestmount.pod:320
+msgid "Copyright (C) 2009-2010 Red Hat Inc. L<http://libguestfs.org/>"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:5
+msgid ""
+"virt-inspector - Display operating system version and other information "
+"about a virtual machine"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:9
+#, no-wrap
+msgid ""
+" virt-inspector [--options] -d domname\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:11
+#, no-wrap
+msgid ""
+" virt-inspector [--options] -a disk.img [-a disk.img ...]\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:15
+#, no-wrap
+msgid ""
+" virt-inspector domname\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:17 ../inspector/virt-inspector.pod:141
+#, no-wrap
+msgid ""
+" virt-inspector disk.img [disk.img ...]\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:21
+msgid ""
+"B<virt-inspector> examines a virtual machine or disk image and tries to "
+"determine the version of the operating system and other information about "
+"the virtual machine."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:25
+msgid "Virt-inspector produces XML output for feeding into other programs."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:27
+msgid ""
+"In the normal usage, use C<virt-inspector -d domname> where C<domname> is "
+"the libvirt domain (see: C<virsh list --all>)."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:30
+msgid ""
+"You can also run virt-inspector directly on disk images from a single "
+"virtual machine. Use C<virt-inspector -a disk.img>. In rare cases a domain "
+"has several block devices, in which case you should list several I<-a> "
+"options one after another, with the first corresponding to the guest's "
+"C</dev/sda>, the second to the guest's C</dev/sdb> and so on."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:37
+msgid ""
+"You can also run virt-inspector on install disks, live CDs, bootable USB "
+"keys and similar."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:40
+msgid ""
+"Virt-inspector can only inspect and report upon I<one domain at a time>. To "
+"inspect several virtual machines, you have to run virt-inspector several "
+"times (for example, from a shell script for-loop)."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:45
+msgid ""
+"Because virt-inspector needs direct access to guest images, it won't "
+"normally work over remote libvirt connections."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:48
+msgid ""
+"All of the information available from virt-inspector is also available "
+"through the core libguestfs inspection API (see L<guestfs(3)/INSPECTION>). "
+"The same information can also be fetched using guestfish or via libguestfs "
+"bindings in many programming languages (see L<guestfs(3)/USING LIBGUESTFS "
+"WITH OTHER PROGRAMMING LANGUAGES>)."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:81
+msgid ""
+"Libvirt is only used if you specify a C<domname> on the command line. If "
+"you specify guest block devices directly (I<-a>), then libvirt is not used "
+"at all."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:94
+msgid ""
+"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."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:103 ../tools/virt-list-filesystems.pl:93 ../tools/virt-list-partitions.pl:94 ../tools/virt-tar.pl:143 ../tools/virt-win-reg.pl:144
+msgid ""
+"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."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:107 ../tools/virt-list-filesystems.pl:97 ../tools/virt-list-partitions.pl:98 ../tools/virt-tar.pl:147 ../tools/virt-win-reg.pl:148
+msgid ""
+"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."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:111 ../resize/virt-resize.pod:314 ../resize/virt-resize.pod:400 ../tools/virt-list-filesystems.pl:101 ../tools/virt-list-partitions.pl:102 ../tools/virt-tar.pl:151 ../tools/virt-win-reg.pl:152
+msgid ""
+"If working with untrusted raw-format guest disk images, you should ensure "
+"the format is always specified."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:139
+msgid "Previous versions of virt-inspector allowed you to write either:"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:145
+#, no-wrap
+msgid ""
+" virt-inspector guestname\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../inspector/virt-inspector.pod:153
+msgid "XML FORMAT"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:155
+msgid ""
+"The virt-inspector XML is described precisely in a RELAX NG schema file "
+"C<virt-inspector.rng> which is supplied with libguestfs. This section is "
+"just an overview."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:159
+msgid ""
+"The top-level element is E<lt>operatingsystemsE<gt>, and it contains one or "
+"more E<lt>operatingsystemE<gt> elements. You would only see more than one "
+"E<lt>operatingsystemE<gt> element if the virtual machine is multi-boot, "
+"which is vanishingly rare in real world VMs."
+msgstr ""
+
+#. type: =head2
+#: ../inspector/virt-inspector.pod:164
+msgid "E<lt>operatingsystemE<gt>"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:166
+msgid ""
+"In the E<lt>operatingsystemE<gt> tag are various optional fields that "
+"describe the operating system, its architecture, the descriptive \"product "
+"name\" string, the type of OS and so on, as in this example:"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:170
+#, no-wrap
+msgid ""
+" <operatingsystems>\n"
+" <operatingsystem>\n"
+" <root>/dev/sda2</root>\n"
+" <name>windows</name>\n"
+" <arch>i386</arch>\n"
+" <distro>windows</distro>\n"
+" <product_name>Windows 7 Enterprise</product_name>\n"
+" <product_variant>Client</product_variant>\n"
+" <major_version>6</major_version>\n"
+" <minor_version>1</minor_version>\n"
+" <windows_systemroot>/Windows</windows_systemroot>\n"
+" <format>installed</format>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:183
+msgid ""
+"In brief, E<lt>nameE<gt> is the class of operating system (something like "
+"C<linux> or C<windows>), E<lt>distroE<gt> is the distribution (eg. C<fedora> "
+"but many other distros are recognized) and E<lt>archE<gt> is the guest "
+"architecture. The other fields are fairly self-explanatory, but because "
+"these fields are taken directly from the libguestfs inspection API you can "
+"find precise information from L<guestfs(3)/INSPECTION>."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:191
+msgid ""
+"The E<lt>rootE<gt> element is the root filesystem device, but from the point "
+"of view of libguestfs (block devices may have completely different names "
+"inside the VM itself)."
+msgstr ""
+
+#. type: =head2
+#: ../inspector/virt-inspector.pod:195
+msgid "E<lt>mountpointsE<gt>"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:197
+msgid ""
+"Un*x-like guests typically have multiple filesystems which are mounted at "
+"various mountpoints, and these are described in the E<lt>mountpointsE<gt> "
+"element which looks like this:"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:201
+#, no-wrap
+msgid ""
+" <operatingsystems>\n"
+" <operatingsystem>\n"
+" ...\n"
+" <mountpoints>\n"
+" <mountpoint dev=\"/dev/vg_f13x64/lv_root\">/</mountpoint>\n"
+" <mountpoint dev=\"/dev/sda1\">/boot</mountpoint>\n"
+" </mountpoints>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:209
+msgid ""
+"As with E<lt>rootE<gt>, 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."
+msgstr ""
+
+#. type: =head2
+#: ../inspector/virt-inspector.pod:214
+msgid "E<lt>filesystemsE<gt>"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:216
+msgid ""
+"E<lt>filesystemsE<gt> is like E<lt>mountpointsE<gt> but covers I<all> "
+"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 OS or shared with this OS and other OSes)."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:222
+msgid "You might see something like this:"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:224
+#, no-wrap
+msgid ""
+" <operatingsystems>\n"
+" <operatingsystem>\n"
+" ...\n"
+" <filesystems>\n"
+" <filesystem dev=\"/dev/vg_f13x64/lv_root\">\n"
+" <type>ext4</type>\n"
+" <label>Fedora-13-x86_64</label>\n"
+" <uuid>e6a4db1e-15c2-477b-ac2a-699181c396aa</uuid>\n"
+" </filesystem>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:234
+msgid ""
+"The optional elements within E<lt>filesystemE<gt> are the filesystem type, "
+"the label, and the UUID."
+msgstr ""
+
+#. type: =head2
+#: ../inspector/virt-inspector.pod:237
+msgid "E<lt>applicationsE<gt>"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:239
+msgid ""
+"The related elements E<lt>package_formatE<gt>, E<lt>package_managementE<gt> "
+"and E<lt>applicationsE<gt> describe applications installed in the virtual "
+"machine."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:243
+msgid ""
+"E<lt>package_formatE<gt>, if present, describes the packaging system used. "
+"Typical values would be C<rpm> and C<deb>."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:246
+msgid ""
+"E<lt>package_managementE<gt>, if present, describes the package manager. "
+"Typical values include C<yum>, C<up2date> and C<apt>"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:249
+msgid "E<lt>applicationsE<gt> lists the packages or applications installed."
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:252
+#, no-wrap
+msgid ""
+" <operatingsystems>\n"
+" <operatingsystem>\n"
+" ...\n"
+" <applications>\n"
+" <application>\n"
+" <name>coreutils</name>\n"
+" <version>8.5</version>\n"
+" <release>1</release>\n"
+" </application>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:262
+msgid ""
+"The version and release fields may not be available for some types guests. "
+"Other fields are possible, see "
+"L<guestfs(3)/guestfs_inspect_list_applications>."
+msgstr ""
+
+#. type: =head2
+#: ../inspector/virt-inspector.pod:266
+msgid "E<lt>drive_mappingsE<gt>"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:268
+msgid ""
+"For operating systems like Windows which use drive letters, virt-inspector "
+"is able to find out how drive letters map to filesystems."
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:272
+#, no-wrap
+msgid ""
+" <operatingsystems>\n"
+" <operatingsystem>\n"
+" ...\n"
+" <drive_mappings>\n"
+" <drive_mapping name=\"C\">/dev/sda2</drive_mapping>\n"
+" <drive_mapping name=\"E\">/dev/sdb1</drive_mapping>\n"
+" </drive_mappings>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:280
+msgid ""
+"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."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:284
+msgid ""
+"Note that this only covers permanent local filesystem mappings, not things "
+"like network shares. Furthermore NTFS volume mount points may not be listed "
+"here."
+msgstr ""
+
+#. type: =head2
+#: ../inspector/virt-inspector.pod:288
+msgid "E<lt>iconE<gt>"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:290
+msgid ""
+"Virt-inspector is sometimes able to extract an icon or logo for the guest. "
+"The icon is returned as base64-encoded PNG data. Note that the icon can be "
+"very large and high quality."
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:294
+#, no-wrap
+msgid ""
+" <operatingsystems>\n"
+" <operatingsystem>\n"
+" ...\n"
+" <icon>\n"
+" iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[.......]\n"
+" [... many lines of base64 data ...]\n"
+" </icon>\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:302
+msgid ""
+"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 L<base64(1)> program to do the conversion back "
+"to a PNG file:"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:307
+#, no-wrap
+msgid ""
+" base64 -i -d < icon.data > icon.png\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../inspector/virt-inspector.pod:309
+msgid "INSPECTING INSTALL DISKS, LIVE CDs"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:311
+msgid ""
+"Virt-inspector can detect some operating system installers on install disks, "
+"live CDs, bootable USB keys and more."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:314
+msgid ""
+"In this case the E<lt>formatE<gt> tag will contain C<installer> and other "
+"fields may be present to indicate a live CD, network installer, or one part "
+"of a multipart CD. For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:318
+#, no-wrap
+msgid ""
+" <operatingsystems>\n"
+" <operatingsystem>\n"
+" <root>/dev/sda</root>\n"
+" <name>linux</name>\n"
+" <arch>i386</arch>\n"
+" <distro>ubuntu</distro>\n"
+" <product_name>Ubuntu 10.10 "Maverick "
+"Meerkat"</product_name>\n"
+" <major_version>10</major_version>\n"
+" <minor_version>10</minor_version>\n"
+" <format>installer</format>\n"
+" <live/>\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../inspector/virt-inspector.pod:330
+msgid "USING XPATH"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:332
+msgid ""
+"You can use the XPath query language, and/or the xpath tool, in order to "
+"select parts of the XML."
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:337
+#, no-wrap
+msgid ""
+" $ virt-inspector -d Guest | xpath //filesystems\n"
+" Found 1 nodes:\n"
+" -- NODE --\n"
+" <filesystems>\n"
+" <filesystem dev=\"/dev/vg_f13x64/lv_root\">\n"
+" <type>ext4</type>\n"
+" [etc]\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:345
+#, no-wrap
+msgid ""
+" $ virt-inspector -d Guest | \\\n"
+" xpath \"string(//filesystem[@dev='/dev/sda1']/type)\"\n"
+" Query didn't return a nodeset. Value: ext4\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../inspector/virt-inspector.pod:356
+msgid "OLD VERSIONS OF VIRT-INSPECTOR"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:358
+msgid ""
+"Early versions of libguestfs shipped with a different virt-inspector program "
+"written in Perl (the current version is written in C). The XML output of "
+"the Perl virt-inspector was different and it could also output in other "
+"formats like text."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:363
+msgid "The old virt-inspector is no longer supported or shipped with libguestfs."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:366
+msgid ""
+"To confuse matters further, in Red Hat Enterprise Linux 6 we ship two "
+"versions of virt-inspector with different names:"
+msgstr ""
+
+#. type: verbatim
+#: ../inspector/virt-inspector.pod:369
+#, no-wrap
+msgid ""
+" virt-inspector Old Perl version.\n"
+" virt-inspector2 New C version.\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:374
+msgid ""
+"L<guestfs(3)>, L<guestfish(1)>, L<http://www.w3.org/TR/xpath/>, "
+"L<base64(1)>, L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../inspector/virt-inspector.pod:390
+msgid "Matthew Booth L<mbooth@redhat.com>"
+msgstr ""
+
+#. type: textblock
+#: ../java/examples/guestfs-java.pod:5
+msgid "guestfs-java - How to use libguestfs from Java"
+msgstr ""
+
+#. type: verbatim
+#: ../java/examples/guestfs-java.pod:9
+#, no-wrap
+msgid ""
+" import com.redhat.et.libguestfs.*;\n"
+" \n"
+msgstr ""
+
+#. type: verbatim
+#: ../java/examples/guestfs-java.pod:11
+#, no-wrap
+msgid ""
+" GuestFS g = new GuestFS ();\n"
+" g.add_drive_opts (\"disk.img\", null);\n"
+" g.launch ();\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../java/examples/guestfs-java.pod:17
+msgid ""
+"This manual page documents how to call libguestfs from the Java programming "
+"language. This page just documents the differences from the C API and gives "
+"some examples. If you are not familiar with using libguestfs, you also need "
+"to read L<guestfs(3)>."
+msgstr ""
+
+#. type: =head2
+#: ../java/examples/guestfs-java.pod:22 ../ocaml/examples/guestfs-ocaml.pod:53
+msgid "CLOSING THE HANDLE"
+msgstr ""
+
+#. type: textblock
+#: ../java/examples/guestfs-java.pod:24
+msgid ""
+"The handle is closed when it is reaped by the garbage collector. Because "
+"libguestfs handles include a lot of state, it is also possible to close (and "
+"hence free) them explicitly by calling the C<close> method."
+msgstr ""
+
+#. type: =head2
+#: ../java/examples/guestfs-java.pod:29 ../ocaml/examples/guestfs-ocaml.pod:60 ../python/examples/guestfs-python.pod:21 ../ruby/examples/guestfs-ruby.pod:22
+msgid "EXCEPTIONS"
+msgstr ""
+
+#. type: textblock
+#: ../java/examples/guestfs-java.pod:31
+msgid ""
+"Errors from libguestfs functions are mapped into the C<LibGuestFSException> "
+"exception. This has a single parameter which is the error message (a "
+"C<String>)."
+msgstr ""
+
+#. type: textblock
+#: ../java/examples/guestfs-java.pod:35
+msgid "Calling any method on a closed handle raises the same exception."
+msgstr ""
+
+#. type: textblock
+#: ../java/examples/guestfs-java.pod:47
+msgid ""
+"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-ocaml(3)>, "
+"L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, "
+"L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/>."
+msgstr ""
+
+#. type: textblock
+#: ../java/examples/guestfs-java.pod:63 ../perl/examples/guestfs-perl.pod:57
+msgid "Copyright (C) 2011 Red Hat Inc. L<http://libguestfs.org/>"
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:5
+msgid "guestfs-ocaml - How to use libguestfs from OCaml"
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:9
+msgid "Module style:"
+msgstr ""
+
+#. type: verbatim
+#: ../ocaml/examples/guestfs-ocaml.pod:11
+#, no-wrap
+msgid ""
+" let g = Guestfs.create () in\n"
+" Guestfs.add_drive_opts g ~format:\"raw\" ~readonly:true \"disk.img\";\n"
+" Guestfs.launch g;\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:15
+msgid "Object-oriented style:"
+msgstr ""
+
+#. type: verbatim
+#: ../ocaml/examples/guestfs-ocaml.pod:17
+#, no-wrap
+msgid ""
+" let g = new Guestfs.guestfs () in\n"
+" g#add_drive_opts ~format:\"raw\" ~readonly:true \"disk.img\";\n"
+" g#launch ();\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../ocaml/examples/guestfs-ocaml.pod:21
+#, no-wrap
+msgid ""
+" ocamlfind opt prog.ml -package guestfs -linkpkg -o prog\n"
+"or:\n"
+" ocamlopt -I +guestfs mlguestfs.cmxa prog.ml -o prog\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:27
+msgid ""
+"This manual page documents how to call libguestfs from the OCaml programming "
+"language. This page just documents the differences from the C API and gives "
+"some examples. If you are not familiar with using libguestfs, you also need "
+"to read L<guestfs(3)>."
+msgstr ""
+
+#. type: =head2
+#: ../ocaml/examples/guestfs-ocaml.pod:32
+msgid "PROGRAMMING STYLES"
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:34
+msgid ""
+"There are two different programming styles supported by the OCaml bindings. "
+"You can use a module style, with each C function mapped to an OCaml "
+"function:"
+msgstr ""
+
+#. type: verbatim
+#: ../ocaml/examples/guestfs-ocaml.pod:38
+#, no-wrap
+msgid ""
+" int guestfs_set_verbose (guestfs_h *g, int flag);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:40
+msgid "becomes:"
+msgstr ""
+
+#. type: verbatim
+#: ../ocaml/examples/guestfs-ocaml.pod:42
+#, no-wrap
+msgid ""
+" val Guestfs.set_verbose : Guestfs.t -> bool -> unit\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:44
+msgid ""
+"Alternately you can use an object-oriented style, calling methods on the "
+"class C<Guestfs.guestfs>:"
+msgstr ""
+
+#. type: verbatim
+#: ../ocaml/examples/guestfs-ocaml.pod:47
+#, no-wrap
+msgid ""
+" method set_verbose : bool -> unit\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:49
+msgid ""
+"The object-oriented style is usually briefer, and the minor performance "
+"penalty isn't noticable in the general overhead of performing libguestfs "
+"functions."
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:55
+msgid ""
+"The handle is closed when it is reaped by the garbage collector. Because "
+"libguestfs handles include a lot of state, it is also possible to close (and "
+"hence free) them explicitly by calling C<Guestfs.close> or the C<#close> "
+"method."
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:62
+msgid ""
+"Errors from libguestfs functions are mapped into the C<Guestfs.Error> "
+"exception. This has a single parameter which is the error message (a "
+"string)."
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:66
+msgid ""
+"Calling any function/method on a closed handle raises "
+"C<Guestfs.Handle_closed>. The single parameter is the name of the function "
+"that you called."
+msgstr ""
+
+#. type: textblock
+#: ../ocaml/examples/guestfs-ocaml.pod:80
+msgid ""
+"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-java(3)>, "
+"L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, "
+"L<guestfs-ruby(3)>, L<http://libguestfs.org/>, L<http://caml.inria.fr/>."
+msgstr ""
+
+#. type: textblock
+#: ../perl/examples/guestfs-perl.pod:5
+msgid "guestfs-perl - How to use libguestfs from Perl"
+msgstr ""
+
+#. type: verbatim
+#: ../perl/examples/guestfs-perl.pod:9
+#, no-wrap
+msgid ""
+" use Sys::Guestfs;\n"
+" \n"
+msgstr ""
+
+#. type: verbatim
+#: ../perl/examples/guestfs-perl.pod:11
+#, no-wrap
+msgid ""
+" my $h = Sys::Guestfs->new ();\n"
+" $h->add_drive_opts ('guest.img', format => 'raw');\n"
+" $h->launch ();\n"
+" $h->mount_options ('', '/dev/sda1', '/');\n"
+" $h->touch ('/hello');\n"
+" $h->sync ();\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../perl/examples/guestfs-perl.pod:20
+msgid ""
+"This manual page documents how to call libguestfs from the Perl programming "
+"language. This page just documents the differences from the C API and gives "
+"some examples. If you are not familiar with using libguestfs, you also need "
+"to read L<guestfs(3)>. To read the full Perl API, see L<Sys::Guestfs(3)>."
+msgstr ""
+
+#. type: =head2
+#: ../perl/examples/guestfs-perl.pod:26
+msgid "ERRORS"
+msgstr ""
+
+#. type: textblock
+#: ../perl/examples/guestfs-perl.pod:28
+msgid ""
+"Errors from libguestfs functions turn into calls to C<croak> (see "
+"L<Carp(3)>)."
+msgstr ""
+
+#. type: textblock
+#: ../perl/examples/guestfs-perl.pod:41
+msgid ""
+"L<Sys::Guestfs(3)>, L<guestfs(3)>, L<guestfs-examples(3)>, "
+"L<guestfs-java(3)>, L<guestfs-ocaml(3)>, L<guestfs-python(3)>, "
+"L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../python/examples/guestfs-python.pod:5
+msgid "guestfs-python - How to use libguestfs from Python"
+msgstr ""
+
+#. type: verbatim
+#: ../python/examples/guestfs-python.pod:9
+#, no-wrap
+msgid ""
+" import guestfs\n"
+" g = guestfs.GuestFS ()\n"
+" g.add_drive_opts (\"disk.img\", format=\"raw\", readonly=1)\n"
+" g.launch\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../python/examples/guestfs-python.pod:16
+msgid ""
+"This manual page documents how to call libguestfs from the Python "
+"programming language. This page just documents the differences from the C "
+"API and gives some examples. If you are not familiar with using libguestfs, "
+"you also need to read L<guestfs(3)>."
+msgstr ""
+
+#. type: textblock
+#: ../python/examples/guestfs-python.pod:23
+msgid ""
+"Errors from libguestfs functions are mapped into C<RuntimeException> with a "
+"single string argument which is the error message."
+msgstr ""
+
+#. type: =head2
+#: ../python/examples/guestfs-python.pod:26
+msgid "MORE DOCUMENTATION"
+msgstr ""
+
+#. type: textblock
+#: ../python/examples/guestfs-python.pod:28
+msgid "Type:"
+msgstr ""
+
+#. type: verbatim
+#: ../python/examples/guestfs-python.pod:30
+#, no-wrap
+msgid ""
+" $ python\n"
+" >>> import guestfs\n"
+" >>> help (guestfs)\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../python/examples/guestfs-python.pod:44
+msgid ""
+"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-java(3)>, "
+"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-recipes(1)>, "
+"L<guestfs-ruby(3)>, L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:5
+msgid "virt-rescue - Run a rescue shell on a virtual machine"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:9
+#, no-wrap
+msgid ""
+" virt-rescue [--options] -d domname\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:11
+#, no-wrap
+msgid ""
+" virt-rescue [--options] -a disk.img [-a disk.img ...]\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:15
+#, no-wrap
+msgid ""
+" virt-rescue [--options] domname\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:17
+#, no-wrap
+msgid ""
+" virt-rescue [--options] disk.img [disk.img ...]\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:21
+msgid ""
+"You must I<not> use C<virt-rescue> on live virtual machines. Doing so will "
+"probably result in disk corruption in the VM. C<virt-rescue> tries to stop "
+"you from doing this, but doesn't catch all cases."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:25
+msgid ""
+"However if you use the I<--ro> (read only) option, then you can attach a "
+"shell to a live virtual machine. The results might be strange or "
+"inconsistent at times but you won't get disk corruption."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:31
+msgid ""
+"virt-rescue is like a Rescue CD, but for virtual machines, and without the "
+"need for a CD. virt-rescue gives you a rescue shell and some simple "
+"recovery tools which you can use to examine or rescue a virtual machine or "
+"disk image."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:36
+msgid ""
+"You can run virt-rescue on any virtual machine known to libvirt, or directly "
+"on disk image(s):"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:39
+#, no-wrap
+msgid ""
+" virt-rescue -d GuestName\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:41
+#, no-wrap
+msgid ""
+" virt-rescue --ro -a /path/to/disk.img\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:43
+#, no-wrap
+msgid ""
+" virt-rescue -a /dev/sdc\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:45
+msgid "For live VMs you I<must> use the --ro option."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:47
+msgid ""
+"When you run virt-rescue on a virtual machine or disk image, you are placed "
+"in an interactive bash shell where you can use many ordinary Linux "
+"commands. What you see in C</> (C</bin>, C</lib> etc) is the rescue "
+"appliance. You must mount the virtual machine's filesystems by hand. There "
+"is an empty directory called C</sysroot> where you can mount filesystems."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:54
+msgid ""
+"In the example below, we list logical volumes, then choose one to mount "
+"under C</sysroot>:"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:57
+#, no-wrap
+msgid ""
+" ><rescue> lvs\n"
+" LV VG Attr LSize Origin Snap% Move Log Copy% Convert\n"
+" lv_root vg_f11x64 -wi-a- 8.83G\n"
+" lv_swap vg_f11x64 -wi-a- 992.00M\n"
+" ><rescue> mount /dev/vg_f11x64/lv_root /sysroot\n"
+" ><rescue> ls /sysroot\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:64
+msgid ""
+"If you don't know what filesystems are available on the virtual machine then "
+"you can use commands such as L<parted(8)> and L<lvs(8)> to find out."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:70
+msgid ""
+"Virt-rescue can be used on I<any> disk image file or device, not just a "
+"virtual machine. For example you can use it on a blank file if you want to "
+"partition that file (although we would recommend using L<guestfish(1)> "
+"instead as it is more suitable for this purpose). You can even use "
+"virt-rescue on things like SD cards."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:76
+msgid ""
+"Virt-rescue does not require root. You only need to run it as root if you "
+"need root to open the disk image."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:79
+msgid ""
+"This tool is just designed for quick interactive hacking on a virtual "
+"machine. For more structured access to a virtual machine disk image, you "
+"should use L<guestfs(3)>. To get a structured shell that you can use to "
+"make scripted changes to guests, use L<guestfish(1)>."
+msgstr ""
+
+#. type: =item
+#: ../rescue/virt-rescue.pod:103
+msgid "B<--append kernelopts>"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:105
+msgid "Pass additional options to the rescue kernel."
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:135
+#, no-wrap
+msgid ""
+" virt-rescue --format=raw -a disk.img\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:139
+#, no-wrap
+msgid ""
+" virt-rescue --format=raw -a disk.img --format -a another.img\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../rescue/virt-rescue.pod:148
+msgid "B<-m MB>"
+msgstr ""
+
+#. type: =item
+#: ../rescue/virt-rescue.pod:150
+msgid "B<--memsize MB>"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:152
+msgid ""
+"Change the amount of memory allocated to the rescue system. The default is "
+"set by libguestfs and is small but adequate for running system tools. The "
+"occasional program might need more memory. The parameter is specified in "
+"megabytes."
+msgstr ""
+
+#. type: =item
+#: ../rescue/virt-rescue.pod:157
+msgid "B<--network>"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:159
+msgid "Enable QEMU user networking in the guest. See L</NETWORK>."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:165
+msgid "Open the image read-only."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:175
+msgid ""
+"Enable SELinux in the rescue appliance. You should read "
+"L<guestfs(3)/SELINUX> before using this option."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:194
+msgid ""
+"This changes the I<-a> and I<-d> options so that disks are added and mounts "
+"are done read-write."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:207
+msgid "Previous versions of virt-rescue allowed you to write either:"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:209
+#, no-wrap
+msgid ""
+" virt-rescue disk.img [disk.img ...]\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:213
+#, no-wrap
+msgid ""
+" virt-rescue guestname\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../rescue/virt-rescue.pod:221
+msgid "NETWORK"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:223
+msgid ""
+"Adding the I<--network> option enables QEMU user networking in the rescue "
+"appliance. There are some differences between user networking and ordinary "
+"networking:"
+msgstr ""
+
+#. type: =item
+#: ../rescue/virt-rescue.pod:229
+msgid "ping does not work"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:231
+msgid ""
+"Because the ICMP ECHO_REQUEST protocol generally requires root in order to "
+"send the ping packets, and because virt-rescue must be able to run as "
+"non-root, QEMU user networking is not able to emulate the L<ping(8)> "
+"command. The ping command will appear to resolve addresses but will not be "
+"able to send or receive any packets. This does not mean that the network is "
+"not working."
+msgstr ""
+
+#. type: =item
+#: ../rescue/virt-rescue.pod:238
+msgid "cannot receive connections"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:240
+msgid "QEMU user networking cannot receive incoming connections."
+msgstr ""
+
+#. type: =item
+#: ../rescue/virt-rescue.pod:242
+msgid "making TCP connections"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:244
+msgid ""
+"The virt-rescue appliance needs to be small and so does not include many "
+"network tools. In particular there is no L<telnet(1)> command. You can "
+"make TCP connections from the shell using the magical "
+"C</dev/tcp/E<lt>hostnameE<gt>/E<lt>portE<gt>> syntax:"
+msgstr ""
+
+#. type: verbatim
+#: ../rescue/virt-rescue.pod:249
+#, no-wrap
+msgid ""
+" exec 3<>/dev/tcp/redhat.com/80\n"
+" echo \"GET /\" >&3\n"
+" cat <&3\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:253
+msgid "See L<bash(1)> for more details."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:259
+msgid ""
+"Several environment variables affect virt-rescue. See "
+"L<guestfs(3)/ENVIRONMENT VARIABLES> for the complete list."
+msgstr ""
+
+#. type: textblock
+#: ../rescue/virt-rescue.pod:286
+msgid ""
+"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-edit(1)>, "
+"L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:5
+msgid "virt-resize - Resize a virtual machine disk"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:9
+#, no-wrap
+msgid ""
+" virt-resize [--resize /dev/sdaN=[+/-]<size>[%]]\n"
+" [--expand /dev/sdaN] [--shrink /dev/sdaN]\n"
+" [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:15
+msgid ""
+"Virt-resize is a tool which can resize a virtual machine disk, making it "
+"larger or smaller overall, and resizing or deleting any partitions contained "
+"within."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:19
+msgid ""
+"Virt-resize B<cannot> resize disk images in-place. Virt-resize B<should "
+"not> be used on live virtual machines - for consistent results, shut the "
+"virtual machine down before resizing it."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:23
+msgid ""
+"If you are not familiar with the associated tools: L<virt-filesystems(1)> "
+"and L<virt-df(1)>, we recommend you go and read those manual pages first."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:31 ../src/guestfs.pod:469 ../src/guestfs.pod:1257 ../src/guestfs.pod:1395 ../src/guestfs.pod:2465
+msgid "1."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:33
+msgid ""
+"Copy C<olddisk> to C<newdisk>, extending one of the guest's partitions to "
+"fill the extra 5GB of space."
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:36
+#, no-wrap
+msgid ""
+" virt-filesystems --long -h --all -a olddisk\n"
+" \n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:38
+#, no-wrap
+msgid ""
+" truncate -r olddisk newdisk\n"
+" truncate -s +5G newdisk\n"
+" \n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:41
+#, no-wrap
+msgid ""
+" # Note \"/dev/sda2\" is a partition inside the \"olddisk\" file.\n"
+" virt-resize --expand /dev/sda2 olddisk newdisk\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:44 ../src/guestfs.pod:475 ../src/guestfs.pod:1261 ../src/guestfs.pod:1399 ../src/guestfs.pod:2490
+msgid "2."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:46
+msgid ""
+"As above, but make the /boot partition 200MB bigger, while giving the "
+"remaining space to /dev/sda2:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:49
+#, no-wrap
+msgid ""
+" virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
+" olddisk newdisk\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:52 ../src/guestfs.pod:486 ../src/guestfs.pod:1405
+msgid "3."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:54
+msgid ""
+"As in the first example, but expand a logical volume as the final step. "
+"This is what you would typically use for Linux guests that use LVM:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:58
+#, no-wrap
+msgid ""
+" virt-resize --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root \\\n"
+" olddisk newdisk\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:61
+msgid "4."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:63
+msgid ""
+"As in the first example, but the output format will be qcow2 instead of a "
+"raw disk:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:66
+#, no-wrap
+msgid ""
+" qemu-img create -f qcow2 newdisk.qcow2 15G\n"
+" virt-resize --expand /dev/sda2 olddisk newdisk.qcow2\n"
+"\n"
+msgstr ""
+
+#. type: =head1
+#: ../resize/virt-resize.pod:71
+msgid "DETAILED USAGE"
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:73
+msgid "EXPANDING A VIRTUAL MACHINE DISK"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:77
+msgid "1. Shut down the virtual machine"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:79
+msgid "2. Locate input disk image"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:81
+msgid ""
+"Locate the input disk image (ie. the file or device on the host containing "
+"the guest's disk). If the guest is managed by libvirt, you can use C<virsh "
+"dumpxml> like this to find the disk image name:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:85
+#, no-wrap
+msgid ""
+" # virsh dumpxml guestname | xpath /domain/devices/disk/source\n"
+" Found 1 nodes:\n"
+" -- NODE --\n"
+" <source dev=\"/dev/vg/lv_guest\" />\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:90
+msgid "3. Look at current sizing"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:92
+msgid "Use L<virt-filesystems(1)> to display the current partitions and sizes:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:95
+#, no-wrap
+msgid ""
+" # virt-filesystems --long --parts --blkdevs -h -a /dev/vg/lv_guest\n"
+" Name Type Size Parent\n"
+" /dev/sda1 partition 101M /dev/sda\n"
+" /dev/sda2 partition 7.9G /dev/sda\n"
+" /dev/sda device 8.0G -\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:101
+msgid ""
+"(This example is a virtual machine with an 8 GB disk which we would like to "
+"expand up to 10 GB)."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:104
+msgid "4. Create output disk"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:106
+msgid ""
+"Virt-resize cannot do in-place disk modifications. You have to have space "
+"to store the resized output disk."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:109
+msgid "To store the resized disk image in a file, create a file of a suitable size:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:112
+#, no-wrap
+msgid ""
+" # rm -f outdisk\n"
+" # truncate -s 10G outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:115
+msgid "Or use L<lvcreate(1)> to create a logical volume:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:117
+#, no-wrap
+msgid ""
+" # lvcreate -L 10G -n lv_name vg_name\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:119
+msgid "Or use L<virsh(1)> vol-create-as to create a libvirt storage volume:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:121
+#, no-wrap
+msgid ""
+" # virsh pool-list\n"
+" # virsh vol-create-as poolname newvol 10G\n"
+"\n"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:124
+msgid "5. Resize"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:126
+msgid ""
+"virt-resize takes two mandatory parameters, the input disk (eg. device or "
+"file) and the output disk. The output disk is the one created in the "
+"previous step."
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:130
+#, no-wrap
+msgid ""
+" # virt-resize indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:132
+msgid ""
+"This command just copies disk image C<indisk> to disk image C<outdisk> "
+"I<without> resizing or changing any existing partitions. If C<outdisk> is "
+"larger, then an extra, empty partition is created at the end of the disk "
+"covering the extra space. If C<outdisk> is smaller, then it will give an "
+"error."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:138
+msgid ""
+"More realistically you'd want to expand existing partitions in the disk "
+"image by passing extra options (for the full list see the L</OPTIONS> "
+"section below)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:142
+msgid ""
+"L</--expand> is the most useful option. It expands the named partition "
+"within the disk to fill any extra space:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:145
+#, no-wrap
+msgid ""
+" # virt-resize --expand /dev/sda2 indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:147
+msgid ""
+"(In this case, an extra partition is I<not> created at the end of the disk, "
+"because there will be no unused space)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:150
+msgid ""
+"L</--resize> is the other commonly used option. The following would "
+"increase the size of /dev/sda1 by 200M, and expand /dev/sda2 to fill the "
+"rest of the available space:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:154
+#, no-wrap
+msgid ""
+" # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
+" indisk outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:157
+msgid ""
+"If the expanded partition in the image contains a filesystem or LVM PV, then "
+"if virt-resize knows how, it will resize the contents, the equivalent of "
+"calling a command such as L<pvresize(8)>, L<resize2fs(8)>, L<ntfsresize(8)> "
+"or L<btrfs(8)>. However virt-resize does not know how to resize some "
+"filesystems, so you would have to online resize them after booting the "
+"guest."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:164
+msgid "Other options are covered below."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:166
+msgid "6. Test"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:168
+msgid "Thoroughly test the new disk image I<before> discarding the old one."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:170
+msgid "If you are using libvirt, edit the XML to point at the new disk:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:172
+#, no-wrap
+msgid ""
+" # virsh edit guestname\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:174
+msgid ""
+"Change E<lt>source ...E<gt>, see "
+"L<http://libvirt.org/formatdomain.html#elementsDisks>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:177
+msgid "Then start up the domain with the new, resized disk:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:179
+#, no-wrap
+msgid ""
+" # virsh start guestname\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:181
+msgid ""
+"and check that it still works. See also the L</NOTES> section below for "
+"additional information."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:184
+msgid "7. Resize LVs etc inside the guest"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:186
+msgid "(This can also be done offline using L<guestfish(1)>)"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:188
+msgid ""
+"Once the guest has booted you should see the new space available, at least "
+"for filesystems that virt-resize knows how to resize, and for PVs. The user "
+"may need to resize LVs inside PVs, and also resize filesystem types that "
+"virt-resize does not know how to expand."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:195
+msgid "SHRINKING A VIRTUAL MACHINE DISK"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:197
+msgid ""
+"Shrinking is somewhat more complex than expanding, and only an overview is "
+"given here."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:200
+msgid ""
+"Firstly virt-resize will not attempt to shrink any partition content (PVs, "
+"filesystems). The user has to shrink content before passing the disk image "
+"to virt-resize, and virt-resize will check that the content has been shrunk "
+"properly."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:205
+msgid "(Shrinking can also be done offline using L<guestfish(1)>)"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:207
+msgid ""
+"After shrinking PVs and filesystems, shut down the guest, and proceed with "
+"steps 3 and 4 above to allocate a new disk image."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:210
+msgid "Then run virt-resize with any of the I<--shrink> and/or I<--resize> options."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:213
+msgid "IGNORING OR DELETING PARTITIONS"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:215
+msgid ""
+"virt-resize also gives a convenient way to ignore or delete partitions when "
+"copying from the input disk to the output disk. Ignoring a partition speeds "
+"up the copy where you don't care about the existing contents of a "
+"partition. Deleting a partition removes it completely, but note that it "
+"also renumbers any partitions after the one which is deleted, which can "
+"leave some guests unbootable."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:222
+msgid "QCOW2 AND NON-SPARSE RAW FORMATS"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:224
+msgid ""
+"If the input disk is in qcow2 format, then you may prefer that the output is "
+"in qcow2 format as well. Alternately, virt-resize can convert the format on "
+"the fly. The output format is simply determined by the format of the empty "
+"output container that you provide. Thus to create qcow2 output, use:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:230
+#, no-wrap
+msgid ""
+" qemu-img create [-c] -f qcow2 outdisk [size]\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:232
+msgid "instead of the truncate command (use I<-c> for a compressed disk)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:234
+msgid "Similarly, to get non-sparse raw output use:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:236
+#, no-wrap
+msgid ""
+" fallocate -l size outdisk\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:238
+msgid ""
+"(on older systems that don't have the L<fallocate(1)> command use C<dd "
+"if=/dev/zero of=outdisk bs=1M count=..>)"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:247
+msgid "Display help."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:249
+msgid "B<-d>"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:251 ../tools/virt-make-fs.pl:177 ../tools/virt-win-reg.pl:120
+msgid "B<--debug>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:253 ../tools/virt-win-reg.pl:122
+msgid "Enable debugging messages."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:255
+msgid "B<--delete part>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:257
+msgid ""
+"Delete the named partition. It would be more accurate to describe this as "
+"\"don't copy it over\", since virt-resize doesn't do in-place changes and "
+"the original disk image is left intact."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:261
+msgid ""
+"Note that when you delete a partition, then anything contained in the "
+"partition is also deleted. Furthermore, this causes any partitions that "
+"come after to be I<renumbered>, which can easily make your guest unbootable."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:266 ../resize/virt-resize.pod:327 ../resize/virt-resize.pod:448
+msgid "You can give this option multiple times."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:268
+msgid "B<--expand part>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:270
+msgid ""
+"Expand the named partition so it uses up all extra space (space left over "
+"after any other resize changes that you request have been done)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:273
+msgid ""
+"If virt-resize knows how, it will expand the direct content of the "
+"partition. For example, if the partition is an LVM PV, it will expand the "
+"PV to fit (like calling L<pvresize(8)>). Virt-resize leaves any other "
+"content it doesn't know about alone."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:278
+msgid "Currently virt-resize can resize:"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:284
+msgid "ext2, ext3 and ext4 filesystems."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:288
+msgid "NTFS filesystems, if libguestfs was compiled with support for NTFS."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:290
+msgid ""
+"The filesystem must have been shut down consistently last time it was used. "
+"Additionally, L<ntfsresize(8)> marks the resized filesystem as requiring a "
+"consistency check, so at the first boot after resizing Windows will check "
+"the disk."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:297
+msgid ""
+"LVM PVs (physical volumes). virt-resize does not usually resize anything "
+"inside the PV, but see the I<--LV-expand> option. The user could also "
+"resize LVs as desired after boot."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:303
+msgid "Btrfs filesystems, if libguestfs was compiled with support for btrfs."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:307 ../resize/virt-resize.pod:476
+msgid "Note that you cannot use I<--expand> and I<--shrink> together."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:309 ../tools/virt-list-filesystems.pl:91 ../tools/virt-list-partitions.pl:92 ../tools/virt-tar.pl:141 ../tools/virt-win-reg.pl:142
+msgid "B<--format> raw"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:311
+msgid ""
+"Specify the format of the input disk image. If this flag is not given then "
+"it is auto-detected from the image itself."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:317
+msgid ""
+"Note that this option I<does not> affect the output format. See L</QCOW2 "
+"AND NON-SPARSE RAW FORMATS>."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:320
+msgid "B<--ignore part>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:322
+msgid ""
+"Ignore the named partition. Effectively this means the partition is "
+"allocated on the destination disk, but the content is not copied across from "
+"the source disk. The content of the partition will be blank (all zero "
+"bytes)."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:329
+msgid "B<--LV-expand logvol>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:331
+msgid ""
+"This takes the logical volume and, as a final step, expands it to fill all "
+"the space available in its volume group. A typical usage, assuming a Linux "
+"guest with a single PV C</dev/sda2> and a root device called "
+"C</dev/vg_guest/lv_root> would be:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:336
+#, no-wrap
+msgid ""
+" virt-resize indisk outdisk \\\n"
+" --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:339
+msgid ""
+"This would first expand the partition (and PV), and then expand the root "
+"device to fill the extra space in the PV."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:342
+msgid ""
+"The contents of the LV are also resized if virt-resize knows how to do "
+"that. You can stop virt-resize from trying to expand the content by using "
+"the option I<--no-expand-content>."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:346
+msgid "Use L<virt-filesystems(1)> to list the filesystems in the guest."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:348
+msgid ""
+"You can give this option multiple times, I<but> it doesn't make sense to do "
+"this unless the logical volumes you specify are all in different volume "
+"groups."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:354
+msgid "B<--dryrun>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:356
+msgid "Print a summary of what would be done, but don't do anything."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:358
+msgid "B<--no-copy-boot-loader>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:360
+msgid ""
+"By default, virt-resize copies over some sectors at the start of the disk "
+"(up to the beginning of the first partition). Commonly these sectors "
+"contain the Master Boot Record (MBR) and the boot loader, and are required "
+"in order for the guest to boot correctly."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:365
+msgid ""
+"If you specify this flag, then this initial copy is not done. You may need "
+"to reinstall the boot loader in this case."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:368
+msgid "B<--no-extra-partition>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:370
+msgid ""
+"By default, virt-resize creates an extra partition if there is any extra, "
+"unused space after all resizing has happened. Use this option to prevent "
+"the extra partition from being created. If you do this then the extra space "
+"will be inaccessible until you run fdisk, parted, or some other partitioning "
+"tool in the guest."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:376
+msgid ""
+"Note that if the surplus space is smaller than 10 MB, no extra partition "
+"will be created."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:379
+msgid "B<--no-expand-content>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:381
+msgid ""
+"By default, virt-resize will try to expand the direct contents of "
+"partitions, if it knows how (see I<--expand> option above)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:384
+msgid ""
+"If you give the I<--no-expand-content> option then virt-resize will not "
+"attempt this."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:387
+msgid "B<--ntfsresize-force>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:389
+msgid ""
+"Pass the I<--force> option to L<ntfsresize(8)>, allowing resizing even if "
+"the NTFS disk is marked as needing a consistency check. You have to use "
+"this option if you want to resize a Windows guest multiple times without "
+"booting into Windows between each resize."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:395
+msgid "B<--output-format> raw"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:397
+msgid ""
+"Specify the format of the output disk image. If this flag is not given then "
+"it is auto-detected from the image itself."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:403
+msgid ""
+"Note that this option I<does not create> the output format. This option "
+"just tells libguestfs what it is so it doesn't try to guess it. You still "
+"need to create the output disk with the right format. See L</QCOW2 AND "
+"NON-SPARSE RAW FORMATS>."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:408
+msgid "B<-q>"
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:410
+msgid "B<--quiet>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:412
+msgid "Don't print the summary."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:414
+msgid "B<--resize part=size>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:416
+msgid ""
+"Resize the named partition (expanding or shrinking it) so that it has the "
+"given size."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:419
+msgid ""
+"C<size> can be expressed as an absolute number followed by b/K/M/G to mean "
+"bytes, Kilobytes, Megabytes, or Gigabytes; or as a percentage of the current "
+"size; or as a relative number or percentage. For example:"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:425
+#, no-wrap
+msgid ""
+" --resize /dev/sda2=10G\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:427
+#, no-wrap
+msgid ""
+" --resize /dev/sda4=90%\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:429
+#, no-wrap
+msgid ""
+" --resize /dev/sda2=+1G\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:431
+#, no-wrap
+msgid ""
+" --resize /dev/sda2=-200M\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:433
+#, no-wrap
+msgid ""
+" --resize /dev/sda1=+128K\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:435
+#, no-wrap
+msgid ""
+" --resize /dev/sda1=+10%\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:437
+#, no-wrap
+msgid ""
+" --resize /dev/sda1=-10%\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:439
+msgid ""
+"You can increase the size of any partition. Virt-resize will expand the "
+"direct content of the partition if it knows how (see I<--expand> below)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:443
+msgid ""
+"You can only I<decrease> the size of partitions that contain filesystems or "
+"PVs which have already been shrunk. Virt-resize will check this has been "
+"done before proceeding, or else will print an error (see also "
+"I<--resize-force>)."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:450
+msgid "B<--resize-force part=size>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:452
+msgid ""
+"This is the same as I<--resize> except that it will let you decrease the "
+"size of any partition. Generally this means you will lose any data which "
+"was at the end of the partition you shrink, but you may not care about that "
+"(eg. if shrinking an unused partition, or if you can easily recreate it such "
+"as a swap partition)."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:458
+msgid "See also the I<--ignore> option."
+msgstr ""
+
+#. type: =item
+#: ../resize/virt-resize.pod:460
+msgid "B<--shrink part>"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:462
+msgid ""
+"Shrink the named partition until the overall disk image fits in the "
+"destination. The named partition B<must> contain a filesystem or PV which "
+"has already been shrunk using another tool (eg. L<guestfish(1)> or other "
+"online tools). Virt-resize will check this and give an error if it has not "
+"been done."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:468
+msgid ""
+"The amount by which the overall disk must be shrunk (after carrying out all "
+"other operations requested by the user) is called the \"deficit\". For "
+"example, a straight copy (assume no other operations) from a 5GB disk image "
+"to a 4GB disk image results in a 1GB deficit. In this case, virt-resize "
+"would give an error unless the user specified a partition to shrink and that "
+"partition had more than a gigabyte of free space."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:488
+msgid "\"Partition 1 does not end on cylinder boundary.\""
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:490
+msgid ""
+"Virt-resize aligns partitions to multiples of 64 sectors. Usually this "
+"means the partitions will not be aligned to the ancient CHS geometry. "
+"However CHS geometry is meaningless for disks manufactured since the early "
+"1990s, and doubly so for virtual hard drives. Alignment of partitions to "
+"cylinders is not required by any modern operating system."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:497
+msgid "RESIZING WINDOWS VIRTUAL MACHINES"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:499
+msgid ""
+"In Windows Vista and later versions, Microsoft switched to using a separate "
+"boot partition. In these VMs, typically C</dev/sda1> is the boot partition "
+"and C</dev/sda2> is the main (C:) drive. We have not had any luck resizing "
+"the boot partition. Doing so seems to break the guest completely. However "
+"expanding the second partition (ie. C: drive) should work."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:506
+msgid ""
+"Windows may initiate a lengthy \"chkdsk\" on first boot after a resize, if "
+"NTFS partitions have been expanded. This is just a safety check and (unless "
+"it find errors) is nothing to worry about."
+msgstr ""
+
+#. type: =head2
+#: ../resize/virt-resize.pod:510
+msgid "GUEST BOOT STUCK AT \"GRUB\""
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:512
+msgid ""
+"If a Linux guest does not boot after resizing, and the boot is stuck after "
+"printing C<GRUB> on the console, try reinstalling grub. This sometimes "
+"happens on older (RHEL 5-era) guests, for reasons we don't fully understand, "
+"although we think is to do with partition alignment."
+msgstr ""
+
+#. type: verbatim
+#: ../resize/virt-resize.pod:517
+#, no-wrap
+msgid ""
+" guestfish -i -a newdisk\n"
+" ><fs> cat /boot/grub/device.map\n"
+" # check the contents of this file are sensible or\n"
+" # edit the file if necessary\n"
+" ><fs> grub-install / /dev/vda\n"
+" ><fs> exit\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:524
+msgid ""
+"For more flexible guest reconfiguration, including if you need to specify "
+"other parameters to grub-install, use L<virt-rescue(1)>."
+msgstr ""
+
+#. type: =head1
+#: ../resize/virt-resize.pod:527
+msgid "ALTERNATIVE TOOLS"
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:529
+msgid ""
+"There are several proprietary tools for resizing partitions. We won't "
+"mention any here."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:532
+msgid ""
+"L<parted(8)> and its graphical shell gparted can do some types of resizing "
+"operations on disk images. They can resize and move partitions, but I don't "
+"think they can do anything with the contents, and they certainly don't "
+"understand LVM."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:537
+msgid ""
+"L<guestfish(1)> can do everything that virt-resize can do and a lot more, "
+"but at a much lower level. You will probably end up hand-calculating sector "
+"offsets, which is something that virt-resize was designed to avoid. If you "
+"want to see the guestfish-equivalent commands that virt-resize runs, use the "
+"I<--debug> flag."
+msgstr ""
+
+#. type: textblock
+#: ../resize/virt-resize.pod:552
+msgid ""
+"L<virt-filesystems(1)>, L<virt-df(1)>, L<guestfs(3)>, L<guestfish(1)>, "
+"L<lvm(8)>, L<pvresize(8)>, L<lvresize(8)>, L<resize2fs(8)>, "
+"L<ntfsresize(8)>, L<btrfs(8)>, L<virsh(1)>, L<parted(8)>, L<truncate(1)>, "
+"L<fallocate(1)>, L<grub(8)>, L<grub-install(8)>, L<virt-rescue(1)>, "
+"L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: textblock
+#: ../ruby/examples/guestfs-ruby.pod:5
+msgid "guestfs-ruby - How to use libguestfs from Ruby"
+msgstr ""
+
+#. type: verbatim
+#: ../ruby/examples/guestfs-ruby.pod:9
+#, no-wrap
+msgid ""
+" require 'guestfs'\n"
+" g = Guestfs::Guestfs.new()\n"
+" g.add_drive_opts(\"disk.img\",\n"
+" :readonly => 1, :format => \"raw\")\n"
+" g.launch()\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../ruby/examples/guestfs-ruby.pod:17
+msgid ""
+"This manual page documents how to call libguestfs from the Ruby programming "
+"language. This page just documents the differences from the C API and gives "
+"some examples. If you are not familiar with using libguestfs, you also need "
+"to read L<guestfs(3)>."
+msgstr ""
+
+#. type: textblock
+#: ../ruby/examples/guestfs-ruby.pod:24
+msgid ""
+"Errors from libguestfs functions are mapped into the C<Error> exception. "
+"This has a single parameter which is the error message (a string)."
+msgstr ""
+
+#. type: textblock
+#: ../ruby/examples/guestfs-ruby.pod:38
+msgid ""
+"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-java(3)>, "
+"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, "
+"L<guestfs-recipes(1)>, L<http://libguestfs.org/>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1
+msgid "guestfs_add_cdrom"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:3
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_cdrom (guestfs_h *g,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:17
+msgid ""
+"This call checks for the existence of C<filename>. This stops you from "
+"specifying other types of drive which are supported by qemu such as C<nbd:> "
+"and C<http:> URLs. To specify those, use the general C<guestfs_config> call "
+"instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:24
+msgid ""
+"If you just want to add an ISO file (often you use this as an efficient way "
+"to transfer large files into the guest), then you should probably use "
+"C<guestfs_add_drive_ro> instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:30 ../src/guestfs-actions.pod:140 ../src/guestfs-actions.pod:201 ../src/guestfs-actions.pod:238 ../src/guestfs-actions.pod:252 ../src/guestfs-actions.pod:273 ../src/guestfs-actions.pod:293 ../src/guestfs-actions.pod:307 ../src/guestfs-actions.pod:427 ../src/guestfs-actions.pod:447 ../src/guestfs-actions.pod:461 ../src/guestfs-actions.pod:506 ../src/guestfs-actions.pod:534 ../src/guestfs-actions.pod:552 ../src/guestfs-actions.pod:619 ../src/guestfs-actions.pod:652 ../src/guestfs-actions.pod:666 ../src/guestfs-actions.pod:681 ../src/guestfs-actions.pod:780 ../src/guestfs-actions.pod:798 ../src/guestfs-actions.pod:812 ../src/guestfs-actions.pod:826 ../src/guestfs-actions.pod:863 ../src/guestfs-actions.pod:1046 ../src/guestfs-actions.pod:1066 ../src/guestfs-actions.pod:1084 ../src/guestfs-actions.pod:1168 ../src/guestfs-actions.pod:1186 ../src/guestfs-actions.pod:1205 ../src/guestfs-actions.pod:1219 ../src/guestfs-actions.pod:1239 ../src/guestfs-actions.pod:1309 ../src/guestfs-actions.pod:1340 ../src/guestfs-actions.pod:1365 ../src/guestfs-actions.pod:1407 ../src/guestfs-actions.pod:1513 ../src/guestfs-actions.pod:1547 ../src/guestfs-actions.pod:1762 ../src/guestfs-actions.pod:1784 ../src/guestfs-actions.pod:1871 ../src/guestfs-actions.pod:2346 ../src/guestfs-actions.pod:2490 ../src/guestfs-actions.pod:2551 ../src/guestfs-actions.pod:2586 ../src/guestfs-actions.pod:3626 ../src/guestfs-actions.pod:3641 ../src/guestfs-actions.pod:3666 ../src/guestfs-actions.pod:3855 ../src/guestfs-actions.pod:3869 ../src/guestfs-actions.pod:3882 ../src/guestfs-actions.pod:3896 ../src/guestfs-actions.pod:3911 ../src/guestfs-actions.pod:3947 ../src/guestfs-actions.pod:4019 ../src/guestfs-actions.pod:4039 ../src/guestfs-actions.pod:4056 ../src/guestfs-actions.pod:4079 ../src/guestfs-actions.pod:4102 ../src/guestfs-actions.pod:4137 ../src/guestfs-actions.pod:4156 ../src/guestfs-actions.pod:4175 ../src/guestfs-actions.pod:4210 ../src/guestfs-actions.pod:4222 ../src/guestfs-actions.pod:4258 ../src/guestfs-actions.pod:4274 ../src/guestfs-actions.pod:4287 ../src/guestfs-actions.pod:4302 ../src/guestfs-actions.pod:4319 ../src/guestfs-actions.pod:4412 ../src/guestfs-actions.pod:4432 ../src/guestfs-actions.pod:4445 ../src/guestfs-actions.pod:4496 ../src/guestfs-actions.pod:4514 ../src/guestfs-actions.pod:4532 ../src/guestfs-actions.pod:4548 ../src/guestfs-actions.pod:4562 ../src/guestfs-actions.pod:4576 ../src/guestfs-actions.pod:4593 ../src/guestfs-actions.pod:4608 ../src/guestfs-actions.pod:4628 ../src/guestfs-actions.pod:4698 ../src/guestfs-actions.pod:4771 ../src/guestfs-actions.pod:4802 ../src/guestfs-actions.pod:4821 ../src/guestfs-actions.pod:4840 ../src/guestfs-actions.pod:4852 ../src/guestfs-actions.pod:4869 ../src/guestfs-actions.pod:4882 ../src/guestfs-actions.pod:4897 ../src/guestfs-actions.pod:4912 ../src/guestfs-actions.pod:4947 ../src/guestfs-actions.pod:4980 ../src/guestfs-actions.pod:5019 ../src/guestfs-actions.pod:5039 ../src/guestfs-actions.pod:5053 ../src/guestfs-actions.pod:5070 ../src/guestfs-actions.pod:5119 ../src/guestfs-actions.pod:5165 ../src/guestfs-actions.pod:5219 ../src/guestfs-actions.pod:5255 ../src/guestfs-actions.pod:5290 ../src/guestfs-actions.pod:5307 ../src/guestfs-actions.pod:5325 ../src/guestfs-actions.pod:5465 ../src/guestfs-actions.pod:5522 ../src/guestfs-actions.pod:5544 ../src/guestfs-actions.pod:5562 ../src/guestfs-actions.pod:5594 ../src/guestfs-actions.pod:5660 ../src/guestfs-actions.pod:5677 ../src/guestfs-actions.pod:5690 ../src/guestfs-actions.pod:5704 ../src/guestfs-actions.pod:5993 ../src/guestfs-actions.pod:6012 ../src/guestfs-actions.pod:6031 ../src/guestfs-actions.pod:6045 ../src/guestfs-actions.pod:6057 ../src/guestfs-actions.pod:6071 ../src/guestfs-actions.pod:6083 ../src/guestfs-actions.pod:6097 ../src/guestfs-actions.pod:6113 ../src/guestfs-actions.pod:6134 ../src/guestfs-actions.pod:6153 ../src/guestfs-actions.pod:6172 ../src/guestfs-actions.pod:6202 ../src/guestfs-actions.pod:6220 ../src/guestfs-actions.pod:6243 ../src/guestfs-actions.pod:6261 ../src/guestfs-actions.pod:6280 ../src/guestfs-actions.pod:6301 ../src/guestfs-actions.pod:6320 ../src/guestfs-actions.pod:6337 ../src/guestfs-actions.pod:6356 ../src/guestfs-actions.pod:6384 ../src/guestfs-actions.pod:6408 ../src/guestfs-actions.pod:6427 ../src/guestfs-actions.pod:6451 ../src/guestfs-actions.pod:6470 ../src/guestfs-actions.pod:6485 ../src/guestfs-actions.pod:6504 ../src/guestfs-actions.pod:6541 ../src/guestfs-actions.pod:6571 ../src/guestfs-actions.pod:6604 ../src/guestfs-actions.pod:6726 ../src/guestfs-actions.pod:6847 ../src/guestfs-actions.pod:6859 ../src/guestfs-actions.pod:6872 ../src/guestfs-actions.pod:6885 ../src/guestfs-actions.pod:6907 ../src/guestfs-actions.pod:6920 ../src/guestfs-actions.pod:6933 ../src/guestfs-actions.pod:6946 ../src/guestfs-actions.pod:6961 ../src/guestfs-actions.pod:7020 ../src/guestfs-actions.pod:7037 ../src/guestfs-actions.pod:7053 ../src/guestfs-actions.pod:7069 ../src/guestfs-actions.pod:7086 ../src/guestfs-actions.pod:7099 ../src/guestfs-actions.pod:7119 ../src/guestfs-actions.pod:7155 ../src/guestfs-actions.pod:7169 ../src/guestfs-actions.pod:7210 ../src/guestfs-actions.pod:7223 ../src/guestfs-actions.pod:7241 ../src/guestfs-actions.pod:7275 ../src/guestfs-actions.pod:7311 ../src/guestfs-actions.pod:7427 ../src/guestfs-actions.pod:7442 ../src/guestfs-actions.pod:7456 ../src/guestfs-actions.pod:7511 ../src/guestfs-actions.pod:7524 ../src/guestfs-actions.pod:7569 ../src/guestfs-actions.pod:7602 ../src/guestfs-actions.pod:7665 ../src/guestfs-actions.pod:7685 ../src/guestfs-actions.pod:7711 ../src/guestfs-actions.pod:7778 ../src/guestfs-actions.pod:7797 ../src/guestfs-actions.pod:7826
+msgid "This function returns 0 on success or -1 on error."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:32 ../src/guestfs-actions.pod:254 ../src/guestfs-actions.pod:275
+msgid ""
+"This function is deprecated. In new code, use the "
+"L</guestfs_add_drive_opts> call instead."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:39 ../src/guestfs-actions.pod:142 ../src/guestfs-actions.pod:1170 ../src/guestfs-actions.pod:1985 ../src/guestfs-actions.pod:2083 ../src/guestfs-actions.pod:2197 ../src/guestfs-actions.pod:3628 ../src/guestfs-actions.pod:3648 ../src/guestfs-actions.pod:4956 ../src/guestfs-actions.pod:6222 ../src/guestfs-actions.pod:6339 ../src/guestfs-actions.pod:6472 ../src/guestfs-actions.pod:6963 ../src/guestfs-actions.pod:7088 ../src/guestfs-actions.pod:7611
+msgid "(Added in 0.3)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:41
+msgid "guestfs_add_domain"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:43
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_domain (guestfs_h *g,\n"
+" const char *dom,\n"
+" ...);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:48 ../src/guestfs-actions.pod:151 ../src/guestfs-actions.pod:837 ../src/guestfs-actions.pod:2831 ../src/guestfs-actions.pod:4647 ../src/guestfs-actions.pod:4966 ../src/guestfs-actions.pod:5183
+msgid ""
+"You may supply a list of optional arguments to this call. Use zero or more "
+"of the following pairs of parameters, and terminate the list with C<-1> on "
+"its own. See L</CALLS WITH OPTIONAL ARGUMENTS>."
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:53
+#, no-wrap
+msgid ""
+" GUESTFS_ADD_DOMAIN_LIBVIRTURI, const char *libvirturi,\n"
+" GUESTFS_ADD_DOMAIN_READONLY, int readonly,\n"
+" GUESTFS_ADD_DOMAIN_IFACE, const char *iface,\n"
+" GUESTFS_ADD_DOMAIN_LIVE, int live,\n"
+" GUESTFS_ADD_DOMAIN_ALLOWUUID, int allowuuid,\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:59
+msgid ""
+"This function adds the disk(s) attached to the named libvirt domain C<dom>. "
+"It works by connecting to libvirt, requesting the domain and domain XML from "
+"libvirt, parsing it for disks, and calling C<guestfs_add_drive_opts> on each "
+"one."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:94
+msgid ""
+"The other optional parameters are passed directly through to "
+"C<guestfs_add_drive_opts>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:97 ../src/guestfs-actions.pod:350 ../src/guestfs-actions.pod:520 ../src/guestfs-actions.pod:698 ../src/guestfs-actions.pod:729 ../src/guestfs-actions.pod:747 ../src/guestfs-actions.pod:766 ../src/guestfs-actions.pod:1385 ../src/guestfs-actions.pod:1741 ../src/guestfs-actions.pod:1944 ../src/guestfs-actions.pod:2055 ../src/guestfs-actions.pod:2106 ../src/guestfs-actions.pod:2161 ../src/guestfs-actions.pod:2184 ../src/guestfs-actions.pod:2477 ../src/guestfs-actions.pod:2949 ../src/guestfs-actions.pod:2967 ../src/guestfs-actions.pod:5142 ../src/guestfs-actions.pod:5362 ../src/guestfs-actions.pod:5774 ../src/guestfs-actions.pod:5800 ../src/guestfs-actions.pod:7196 ../src/guestfs-actions.pod:7622 ../src/guestfs-actions.pod:7635 ../src/guestfs-actions.pod:7648
+msgid "On error this function returns -1."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:99
+msgid "(Added in 1.7.4)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:101
+msgid "guestfs_add_domain_va"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:103
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_domain_va (guestfs_h *g,\n"
+" const char *dom,\n"
+" va_list args);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:108
+msgid "This is the \"va_list variant\" of L</guestfs_add_domain>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:110 ../src/guestfs-actions.pod:121 ../src/guestfs-actions.pod:214 ../src/guestfs-actions.pod:225 ../src/guestfs-actions.pod:876 ../src/guestfs-actions.pod:887 ../src/guestfs-actions.pod:2915 ../src/guestfs-actions.pod:2927 ../src/guestfs-actions.pod:4712 ../src/guestfs-actions.pod:4724 ../src/guestfs-actions.pod:4994 ../src/guestfs-actions.pod:5006 ../src/guestfs-actions.pod:5232 ../src/guestfs-actions.pod:5243
+msgid "See L</CALLS WITH OPTIONAL ARGUMENTS>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:112
+msgid "guestfs_add_domain_argv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:114
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_domain_argv (guestfs_h *g,\n"
+" const char *dom,\n"
+" const struct guestfs_add_domain_argv *optargs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:119
+msgid "This is the \"argv variant\" of L</guestfs_add_domain>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:123
+msgid "guestfs_add_drive"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:125
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive (guestfs_h *g,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:129
+msgid ""
+"This function is the equivalent of calling C<guestfs_add_drive_opts> with no "
+"optional parameters, so the disk is added writable, with the format being "
+"detected automatically."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:133
+msgid ""
+"Automatic detection of the format opens you up to a potential security hole "
+"when dealing with untrusted raw-format images. See CVE-2010-3851 and "
+"RHBZ#642934. Specifying the format closes this security hole. Therefore "
+"you should think about replacing calls to this function with calls to "
+"C<guestfs_add_drive_opts>, and specifying the format."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:144
+msgid "guestfs_add_drive_opts"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:146
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_opts (guestfs_h *g,\n"
+" const char *filename,\n"
+" ...);\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:156
+#, no-wrap
+msgid ""
+" GUESTFS_ADD_DRIVE_OPTS_READONLY, int readonly,\n"
+" GUESTFS_ADD_DRIVE_OPTS_FORMAT, const char *format,\n"
+" GUESTFS_ADD_DRIVE_OPTS_IFACE, const char *iface,\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:185
+msgid ""
+"This forces the image format. If you omit this (or use C<guestfs_add_drive> "
+"or C<guestfs_add_drive_ro>) then the format is automatically detected. "
+"Possible formats include C<raw> and C<qcow2>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:196
+msgid ""
+"This rarely-used option lets you emulate the behaviour of the deprecated "
+"C<guestfs_add_drive_with_if> call (q.v.)"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:203
+msgid "(Added in 1.5.23)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:205
+msgid "guestfs_add_drive_opts_va"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:207
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_opts_va (guestfs_h *g,\n"
+" const char *filename,\n"
+" va_list args);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:212
+msgid "This is the \"va_list variant\" of L</guestfs_add_drive_opts>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:216
+msgid "guestfs_add_drive_opts_argv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:218
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_opts_argv (guestfs_h *g,\n"
+" const char *filename,\n"
+" const struct guestfs_add_drive_opts_argv "
+"*optargs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:223
+msgid "This is the \"argv variant\" of L</guestfs_add_drive_opts>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:227
+msgid "guestfs_add_drive_ro"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:229
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_ro (guestfs_h *g,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:233
+msgid ""
+"This function is the equivalent of calling C<guestfs_add_drive_opts> with "
+"the optional parameter C<GUESTFS_ADD_DRIVE_OPTS_READONLY> set to 1, so the "
+"disk is added read-only, with the format being detected automatically."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:240
+msgid "(Added in 1.0.38)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:242
+msgid "guestfs_add_drive_ro_with_if"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:244
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_ro_with_if (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *iface);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:249
+msgid ""
+"This is the same as C<guestfs_add_drive_ro> but it allows you to specify the "
+"QEMU interface emulation to use at run time."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:261 ../src/guestfs-actions.pod:282 ../src/guestfs-actions.pod:2436
+msgid "(Added in 1.0.84)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:263
+msgid "guestfs_add_drive_with_if"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:265
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_add_drive_with_if (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *iface);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:270
+msgid ""
+"This is the same as C<guestfs_add_drive> but it allows you to specify the "
+"QEMU interface emulation to use at run time."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:284
+msgid "guestfs_aug_clear"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:286
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_clear (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:295 ../src/guestfs-actions.pod:2186
+msgid "(Added in 1.3.4)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:297
+msgid "guestfs_aug_close"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:299
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_close (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:302
+msgid ""
+"Close the current Augeas handle and free up any resources used by it. After "
+"calling this, you have to call C<guestfs_aug_init> again before you can use "
+"any other Augeas functions."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:309 ../src/guestfs-actions.pod:334 ../src/guestfs-actions.pod:352 ../src/guestfs-actions.pod:366 ../src/guestfs-actions.pod:429 ../src/guestfs-actions.pod:449 ../src/guestfs-actions.pod:463 ../src/guestfs-actions.pod:494 ../src/guestfs-actions.pod:508 ../src/guestfs-actions.pod:522 ../src/guestfs-actions.pod:536 ../src/guestfs-actions.pod:554 ../src/guestfs-actions.pod:5851
+msgid "(Added in 0.7)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:311
+msgid "guestfs_aug_defnode"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:313
+#, no-wrap
+msgid ""
+" struct guestfs_int_bool *\n"
+" guestfs_aug_defnode (guestfs_h *g,\n"
+" const char *name,\n"
+" const char *expr,\n"
+" const char *val);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:322
+msgid ""
+"If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
+"calling C<guestfs_aug_set> C<expr>, C<value>. C<name> will be the nodeset "
+"containing that single node."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:330
+msgid ""
+"This function returns a C<struct guestfs_int_bool *>, or NULL if there was "
+"an error. I<The caller must call C<guestfs_free_int_bool> after use>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:336
+msgid "guestfs_aug_defvar"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:338
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_defvar (guestfs_h *g,\n"
+" const char *name,\n"
+" const char *expr);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:354
+msgid "guestfs_aug_get"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:356
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_aug_get (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:363 ../src/guestfs-actions.pod:927 ../src/guestfs-actions.pod:945 ../src/guestfs-actions.pod:1005 ../src/guestfs-actions.pod:1021 ../src/guestfs-actions.pod:1124 ../src/guestfs-actions.pod:1254 ../src/guestfs-actions.pod:1271 ../src/guestfs-actions.pod:1290 ../src/guestfs-actions.pod:1424 ../src/guestfs-actions.pod:1612 ../src/guestfs-actions.pod:1724 ../src/guestfs-actions.pod:1887 ../src/guestfs-actions.pod:1904 ../src/guestfs-actions.pod:1971 ../src/guestfs-actions.pod:2007 ../src/guestfs-actions.pod:2028 ../src/guestfs-actions.pod:2209 ../src/guestfs-actions.pod:2401 ../src/guestfs-actions.pod:2605 ../src/guestfs-actions.pod:2695 ../src/guestfs-actions.pod:2799 ../src/guestfs-actions.pod:2818 ../src/guestfs-actions.pod:3032 ../src/guestfs-actions.pod:3060 ../src/guestfs-actions.pod:3081 ../src/guestfs-actions.pod:3115 ../src/guestfs-actions.pod:3174 ../src/guestfs-actions.pod:3194 ../src/guestfs-actions.pod:3214 ../src/guestfs-actions.pod:3841 ../src/guestfs-actions.pod:4194 ../src/guestfs-actions.pod:4364 ../src/guestfs-actions.pod:4474 ../src/guestfs-actions.pod:5380 ../src/guestfs-actions.pod:5579 ../src/guestfs-actions.pod:5749 ../src/guestfs-actions.pod:5927 ../src/guestfs-actions.pod:5976 ../src/guestfs-actions.pod:6632 ../src/guestfs-actions.pod:6648 ../src/guestfs-actions.pod:6665 ../src/guestfs-actions.pod:6696 ../src/guestfs-actions.pod:7370 ../src/guestfs-actions.pod:7389 ../src/guestfs-actions.pod:7407 ../src/guestfs-actions.pod:7581 ../src/guestfs-actions.pod:7883
+msgid ""
+"This function returns a string, or NULL on error. I<The caller must free "
+"the returned string after use>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:368
+msgid "guestfs_aug_init"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:370
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_init (guestfs_h *g,\n"
+" const char *root,\n"
+" int flags);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:379
+msgid "You must call this before using any other C<guestfs_aug_*> commands."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:404
+msgid ""
+"This option is only useful when debugging Augeas lenses. Use of this option "
+"may require additional memory for the libguestfs appliance. You may need to "
+"set the C<LIBGUESTFS_MEMSIZE> environment variable or call "
+"C<guestfs_set_memsize>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:419
+msgid "Do not load the tree in C<guestfs_aug_init>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:423
+msgid "To close the handle, you can call C<guestfs_aug_close>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:431
+msgid "guestfs_aug_insert"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:433
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_insert (guestfs_h *g,\n"
+" const char *augpath,\n"
+" const char *label,\n"
+" int before);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:451
+msgid "guestfs_aug_load"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:453
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_load (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:465
+msgid "guestfs_aug_ls"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:467
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_aug_ls (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:471
+msgid ""
+"This is just a shortcut for listing C<guestfs_aug_match> C<path/*> and "
+"sorting the resulting nodes into alphabetical order."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:474 ../src/guestfs-actions.pod:490 ../src/guestfs-actions.pod:636 ../src/guestfs-actions.pod:1143 ../src/guestfs-actions.pod:1439 ../src/guestfs-actions.pod:1458 ../src/guestfs-actions.pod:1561 ../src/guestfs-actions.pod:1580 ../src/guestfs-actions.pod:1826 ../src/guestfs-actions.pod:2281 ../src/guestfs-actions.pod:2297 ../src/guestfs-actions.pod:2316 ../src/guestfs-actions.pod:2359 ../src/guestfs-actions.pod:2383 ../src/guestfs-actions.pod:2454 ../src/guestfs-actions.pod:2503 ../src/guestfs-actions.pod:2760 ../src/guestfs-actions.pod:3134 ../src/guestfs-actions.pod:3410 ../src/guestfs-actions.pod:3724 ../src/guestfs-actions.pod:3741 ../src/guestfs-actions.pod:3761 ../src/guestfs-actions.pod:3823 ../src/guestfs-actions.pod:3928 ../src/guestfs-actions.pod:4336 ../src/guestfs-actions.pod:5103 ../src/guestfs-actions.pod:5721 ../src/guestfs-actions.pod:5847 ../src/guestfs-actions.pod:5961 ../src/guestfs-actions.pod:6712 ../src/guestfs-actions.pod:6773 ../src/guestfs-actions.pod:6828 ../src/guestfs-actions.pod:6974 ../src/guestfs-actions.pod:6998 ../src/guestfs-actions.pod:7474 ../src/guestfs-actions.pod:7494 ../src/guestfs-actions.pod:7541 ../src/guestfs-actions.pod:7735 ../src/guestfs-actions.pod:7754 ../src/guestfs-actions.pod:7840 ../src/guestfs-actions.pod:7859 ../src/guestfs-actions.pod:7905 ../src/guestfs-actions.pod:7924
+msgid ""
+"This function returns a NULL-terminated array of strings (like "
+"L<environ(3)>), or NULL if there was an error. I<The caller must free the "
+"strings and the array after use>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:478 ../src/guestfs-actions.pod:1068 ../src/guestfs-actions.pod:1086 ../src/guestfs-actions.pod:1496 ../src/guestfs-actions.pod:3488 ../src/guestfs-actions.pod:3519 ../src/guestfs-actions.pod:4177 ../src/guestfs-actions.pod:4227 ../src/guestfs-actions.pod:4414 ../src/guestfs-actions.pod:4447 ../src/guestfs-actions.pod:4610 ../src/guestfs-actions.pod:5107 ../src/guestfs-actions.pod:5662 ../src/guestfs-actions.pod:6059 ../src/guestfs-actions.pod:6073 ../src/guestfs-actions.pod:6085 ../src/guestfs-actions.pod:6553 ../src/guestfs-actions.pod:7212 ../src/guestfs-actions.pod:7225 ../src/guestfs-actions.pod:7458 ../src/guestfs-actions.pod:7723
+msgid "(Added in 0.8)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:480
+msgid "guestfs_aug_match"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:482
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_aug_match (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:496
+msgid "guestfs_aug_mv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:498
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_mv (guestfs_h *g,\n"
+" const char *src,\n"
+" const char *dest);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:510
+msgid "guestfs_aug_rm"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:512
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_rm (guestfs_h *g,\n"
+" const char *augpath);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:524
+msgid "guestfs_aug_save"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:526
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_save (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:531
+msgid ""
+"The flags which were passed to C<guestfs_aug_init> affect exactly how files "
+"are saved."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:538
+msgid "guestfs_aug_set"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:540
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_aug_set (guestfs_h *g,\n"
+" const char *augpath,\n"
+" const char *val);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:547
+msgid ""
+"In the Augeas API, it is possible to clear a node by setting the value to "
+"NULL. Due to an oversight in the libguestfs API you cannot do that with "
+"this call. Instead you must use the C<guestfs_aug_clear> call."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:556
+msgid "guestfs_available"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:558
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_available (guestfs_h *g,\n"
+" char *const *groups);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:566
+msgid ""
+"The libguestfs groups, and the functions that those groups correspond to, "
+"are listed in L<guestfs(3)/AVAILABILITY>. You can also fetch this list at "
+"runtime by calling C<guestfs_available_all_groups>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:590
+msgid "You must call C<guestfs_launch> before calling this function."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:612
+msgid ""
+"This call was added in version C<1.0.80>. In previous versions of "
+"libguestfs all you could do would be to speculatively execute a command to "
+"find out if the daemon implemented it. See also C<guestfs_version>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:621 ../src/guestfs-actions.pod:1241
+msgid "(Added in 1.0.80)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:623
+msgid "guestfs_available_all_groups"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:625
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_available_all_groups (guestfs_h *g);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:628
+msgid ""
+"This command returns a list of all optional groups that this daemon knows "
+"about. Note this returns both supported and unsupported groups. To find "
+"out which ones the daemon can actually support you have to call "
+"C<guestfs_available> on each member of the returned list."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:634
+msgid "See also C<guestfs_available> and L<guestfs(3)/AVAILABILITY>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:640
+msgid "(Added in 1.3.15)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:642
+msgid "guestfs_base64_in"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:644
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_base64_in (guestfs_h *g,\n"
+" const char *base64file,\n"
+" const char *filename);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:654 ../src/guestfs-actions.pod:668
+msgid "(Added in 1.3.5)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:656
+msgid "guestfs_base64_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:658
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_base64_out (guestfs_h *g,\n"
+" const char *filename,\n"
+" const char *base64file);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:670
+msgid "guestfs_blockdev_flushbufs"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:672
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_flushbufs (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:683 ../src/guestfs-actions.pod:700 ../src/guestfs-actions.pod:715 ../src/guestfs-actions.pod:731 ../src/guestfs-actions.pod:749 ../src/guestfs-actions.pod:768 ../src/guestfs-actions.pod:782 ../src/guestfs-actions.pod:800 ../src/guestfs-actions.pod:814 ../src/guestfs-actions.pod:828
+msgid "(Added in 0.9.3)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:685
+msgid "guestfs_blockdev_getbsz"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:687
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_getbsz (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:702
+msgid "guestfs_blockdev_getro"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:704
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_getro (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:713 ../src/guestfs-actions.pod:1479 ../src/guestfs-actions.pod:1494 ../src/guestfs-actions.pod:1983 ../src/guestfs-actions.pod:1994 ../src/guestfs-actions.pod:2066 ../src/guestfs-actions.pod:2092 ../src/guestfs-actions.pod:2132 ../src/guestfs-actions.pod:2147 ../src/guestfs-actions.pod:2172 ../src/guestfs-actions.pod:2195 ../src/guestfs-actions.pod:3231 ../src/guestfs-actions.pod:3247 ../src/guestfs-actions.pod:3265 ../src/guestfs-actions.pod:3427 ../src/guestfs-actions.pod:3441 ../src/guestfs-actions.pod:3456 ../src/guestfs-actions.pod:3470 ../src/guestfs-actions.pod:3486 ../src/guestfs-actions.pod:3501 ../src/guestfs-actions.pod:3517 ../src/guestfs-actions.pod:3531 ../src/guestfs-actions.pod:3544 ../src/guestfs-actions.pod:3558 ../src/guestfs-actions.pod:3573 ../src/guestfs-actions.pod:3588 ../src/guestfs-actions.pod:3601 ../src/guestfs-actions.pod:3615 ../src/guestfs-actions.pod:5344
+msgid "This function returns a C truth value on success or -1 on error."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:717
+msgid "guestfs_blockdev_getsize64"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:719
+#, no-wrap
+msgid ""
+" int64_t\n"
+" guestfs_blockdev_getsize64 (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:725
+msgid "See also C<guestfs_blockdev_getsz>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:733
+msgid "guestfs_blockdev_getss"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:735
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_getss (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:742
+msgid ""
+"(Note, this is not the size in sectors, use C<guestfs_blockdev_getsz> for "
+"that)."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:751
+msgid "guestfs_blockdev_getsz"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:753
+#, no-wrap
+msgid ""
+" int64_t\n"
+" guestfs_blockdev_getsz (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:760
+msgid ""
+"See also C<guestfs_blockdev_getss> for the real sector size of the device, "
+"and C<guestfs_blockdev_getsize64> for the more useful I<size in bytes>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:770
+msgid "guestfs_blockdev_rereadpt"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:772
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_rereadpt (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:784
+msgid "guestfs_blockdev_setbsz"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:786
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_setbsz (guestfs_h *g,\n"
+" const char *device,\n"
+" int blocksize);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:802
+msgid "guestfs_blockdev_setro"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:804
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_setro (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:816
+msgid "guestfs_blockdev_setrw"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:818
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_blockdev_setrw (guestfs_h *g,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:830
+msgid "guestfs_btrfs_filesystem_resize"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:832
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_btrfs_filesystem_resize (guestfs_h *g,\n"
+" const char *mountpoint,\n"
+" ...);\n"
+"\n"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:842
+#, no-wrap
+msgid ""
+" GUESTFS_BTRFS_FILESYSTEM_RESIZE_SIZE, int64_t size,\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:865
+msgid "(Added in 1.11.17)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:867
+msgid "guestfs_btrfs_filesystem_resize_va"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:869
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_btrfs_filesystem_resize_va (guestfs_h *g,\n"
+" const char *mountpoint,\n"
+" va_list args);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:874
+msgid "This is the \"va_list variant\" of L</guestfs_btrfs_filesystem_resize>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:878
+msgid "guestfs_btrfs_filesystem_resize_argv"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:880
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_btrfs_filesystem_resize_argv (guestfs_h *g,\n"
+" const char *mountpoint,\n"
+" const struct "
+"guestfs_btrfs_filesystem_resize_argv *optargs);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:885
+msgid "This is the \"argv variant\" of L</guestfs_btrfs_filesystem_resize>."
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:889
+msgid "guestfs_case_sensitive_path"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:891
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_case_sensitive_path (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:917
+msgid ""
+"Thus C<guestfs_case_sensitive_path> (\"/Windows/System32\") might return "
+"C<\"/WINDOWS/system32\"> (the exact return value would depend on details of "
+"how the directories were originally created under Windows)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:925
+msgid "See also C<guestfs_realpath>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:930 ../src/guestfs-actions.pod:7392
+msgid "(Added in 1.0.75)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:932
+msgid "guestfs_cat"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:934
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_cat (guestfs_h *g,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:940
+msgid ""
+"Note that this function cannot correctly handle binary files (specifically, "
+"files containing C<\\0> character which is treated as end of string). For "
+"those you need to use the C<guestfs_read_file> or C<guestfs_download> "
+"functions which have a more complex interface."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:951 ../src/guestfs-actions.pod:3745 ../src/guestfs-actions.pod:3827 ../src/guestfs-actions.pod:3844 ../src/guestfs-actions.pod:3932 ../src/guestfs-actions.pod:4340 ../src/guestfs-actions.pod:4354 ../src/guestfs-actions.pod:5725 ../src/guestfs-actions.pod:5739 ../src/guestfs-actions.pod:7545 ../src/guestfs-actions.pod:7559
+msgid "(Added in 0.4)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:953
+msgid "guestfs_checksum"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:955
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_checksum (guestfs_h *g,\n"
+" const char *csumtype,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1001
+msgid "To get the checksum for a device, use C<guestfs_checksum_device>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1003
+msgid "To get the checksums for many files, use C<guestfs_checksums_out>."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1008 ../src/guestfs-actions.pod:1316 ../src/guestfs-actions.pod:2163 ../src/guestfs-actions.pod:3443 ../src/guestfs-actions.pod:3472 ../src/guestfs-actions.pod:3533 ../src/guestfs-actions.pod:3560 ../src/guestfs-actions.pod:7248
+msgid "(Added in 1.0.2)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1010
+msgid "guestfs_checksum_device"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1012
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_checksum_device (guestfs_h *g,\n"
+" const char *csumtype,\n"
+" const char *device);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1017
+msgid ""
+"This call computes the MD5, SHAx or CRC checksum of the contents of the "
+"device named C<device>. For the types of checksums supported see the "
+"C<guestfs_checksum> command."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1024 ../src/guestfs-actions.pod:5174 ../src/guestfs-actions.pod:5309 ../src/guestfs-actions.pod:5346 ../src/guestfs-actions.pod:5364 ../src/guestfs-actions.pod:5546 ../src/guestfs-actions.pod:7157 ../src/guestfs-actions.pod:7171 ../src/guestfs-actions.pod:7571
+msgid "(Added in 1.3.2)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1026
+msgid "guestfs_checksums_out"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1028
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_checksums_out (guestfs_h *g,\n"
+" const char *csumtype,\n"
+" const char *directory,\n"
+" const char *sumsfile);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1048
+msgid "(Added in 1.3.7)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1050
+msgid "guestfs_chmod"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1052
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_chmod (guestfs_h *g,\n"
+" int mode,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1070
+msgid "guestfs_chown"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1072
+#, no-wrap
+msgid ""
+" int\n"
+" guestfs_chown (guestfs_h *g,\n"
+" int owner,\n"
+" int group,\n"
+" const char *path);\n"
+"\n"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1088
+msgid "guestfs_command"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1090
+#, no-wrap
+msgid ""
+" char *\n"
+" guestfs_command (guestfs_h *g,\n"
+" char *const *arguments);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1099
+msgid ""
+"The single parameter is an argv-style list of arguments. The first element "
+"is the name of the program to run. Subsequent elements are parameters. The "
+"list must be non-empty (ie. must contain a program name). Note that the "
+"command runs directly, and is I<not> invoked via the shell (see "
+"C<guestfs_sh>)."
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1130 ../src/guestfs-actions.pod:1150 ../src/guestfs-actions.pod:1615
+msgid "(Added in 0.9.1)"
+msgstr ""
+
+#. type: =head2
+#: ../src/guestfs-actions.pod:1132
+msgid "guestfs_command_lines"
+msgstr ""
+
+#. type: verbatim
+#: ../src/guestfs-actions.pod:1134
+#, no-wrap
+msgid ""
+" char **\n"
+" guestfs_command_lines (guestfs_h *g,\n"
+" char *const *arguments);\n"
+"\n"
+msgstr ""
+
+#. type: textblock
+#: ../src/guestfs-actions.pod:1138
+msgid ""
+"This is the same as C<guestfs_command>, but splits the result into a list of "
+"lines."