# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Red Hat Inc.
# This file is distributed under the same license as the libguestfs package.
#
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: libguestfs 1.39.12\n"
"Report-Msgid-Bugs-To: libguestfs@redhat.com\n"
"POT-Creation-Date: 2020-07-06 15:46+0100\n"
"PO-Revision-Date: 2015-02-21 10:15+0000\n"
"Last-Translator: Copied by Zanata <copied-by-zanata@zanata.org>\n"
"Language-Team: English (United Kingdom) (http://www.transifex.com/projects/p/"
"libguestfs/language/en_GB/)\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Zanata 4.6.2\n"

#. type: =head1
#: ../align/virt-alignment-scan.pod:1
#: ../appliance/libguestfs-make-fixed-appliance.pod:1
#: ../builder/virt-builder-repository.pod:8 ../builder/virt-builder.pod:8
#: ../builder/virt-index-validate.pod:1 ../cat/virt-cat.pod:1
#: ../cat/virt-filesystems.pod:1 ../cat/virt-log.pod:1 ../cat/virt-ls.pod:1
#: ../cat/virt-tail.pod:1 ../customize/virt-customize.pod:1
#: ../daemon/guestfsd.pod:1 ../df/virt-df.pod:1 ../dib/virt-dib.pod:1
#: ../diff/virt-diff.pod:1 ../docs/guestfs-building.pod:1
#: ../docs/guestfs-faq.pod:1 ../docs/guestfs-hacking.pod:1
#: ../docs/guestfs-internals.pod:1 ../docs/guestfs-performance.pod:1
#: ../docs/guestfs-recipes.pod:8 ../docs/guestfs-release-notes-1.10.pod:1
#: ../docs/guestfs-release-notes-1.12.pod:1
#: ../docs/guestfs-release-notes-1.14.pod:1
#: ../docs/guestfs-release-notes-1.16.pod:1
#: ../docs/guestfs-release-notes-1.18.pod:1
#: ../docs/guestfs-release-notes-1.20.pod:1
#: ../docs/guestfs-release-notes-1.22.pod:1
#: ../docs/guestfs-release-notes-1.24.pod:1
#: ../docs/guestfs-release-notes-1.26.pod:1
#: ../docs/guestfs-release-notes-1.28.pod:1
#: ../docs/guestfs-release-notes-1.30.pod:1
#: ../docs/guestfs-release-notes-1.32.pod:1
#: ../docs/guestfs-release-notes-1.34.pod:1
#: ../docs/guestfs-release-notes-1.36.pod:1
#: ../docs/guestfs-release-notes-1.38.pod:1
#: ../docs/guestfs-release-notes-1.4.pod:1
#: ../docs/guestfs-release-notes-1.40.pod:1
#: ../docs/guestfs-release-notes-1.42.pod:1
#: ../docs/guestfs-release-notes-1.6.pod:1
#: ../docs/guestfs-release-notes-1.8.pod:1
#: ../docs/guestfs-release-notes-historical.pod:1
#: ../docs/guestfs-security.pod:1 ../docs/guestfs-testing.pod:1
#: ../edit/virt-edit.pod:1 ../erlang/examples/guestfs-erlang.pod:1
#: ../examples/guestfs-examples.pod:1 ../fish/guestfish.pod:1
#: ../fish/libguestfs-tools.conf.pod:1 ../fish/virt-copy-in.pod:1
#: ../fish/virt-copy-out.pod:1 ../fish/virt-tar-in.pod:1
#: ../fish/virt-tar-out.pod:1 ../format/virt-format.pod:1
#: ../fuse/guestmount.pod:1 ../fuse/guestunmount.pod:1
#: ../get-kernel/virt-get-kernel.pod:1 ../gobject/guestfs-gobject.pod:1
#: ../golang/examples/guestfs-golang.pod:1 ../inspector/virt-inspector.pod:1
#: ../java/examples/guestfs-java.pod:1 ../lib/guestfs.pod:1
#: ../lua/examples/guestfs-lua.pod:1 ../make-fs/virt-make-fs.pod:1
#: ../ocaml/examples/guestfs-ocaml.pod:1 ../perl/examples/guestfs-perl.pod:1
#: ../python/examples/guestfs-python.pod:1 ../rescue/virt-rescue.pod:1
#: ../resize/virt-resize.pod:1 ../ruby/examples/guestfs-ruby.pod:1
#: ../sparsify/virt-sparsify.pod:1 ../sysprep/virt-sysprep.pod:1
#: ../test-tool/libguestfs-test-tool.pod:1 ../tools/virt-list-filesystems:27
#: ../tools/virt-list-partitions:27 ../tools/virt-tar:28
#: ../tools/virt-win-reg:32
msgid "NAME"
msgstr "NAME"

#. type: textblock
#: ../align/virt-alignment-scan.pod:3
msgid "virt-alignment-scan - Check alignment of virtual machine partitions"
msgstr "virt-alignment-scan - Check alignment of virtual machine partitions"

#. type: =head1
#: ../align/virt-alignment-scan.pod:5
#: ../appliance/libguestfs-make-fixed-appliance.pod:5
#: ../builder/virt-builder-repository.pod:12 ../builder/virt-builder.pod:12
#: ../builder/virt-index-validate.pod:5 ../cat/virt-cat.pod:5
#: ../cat/virt-filesystems.pod:5 ../cat/virt-log.pod:5 ../cat/virt-ls.pod:5
#: ../cat/virt-tail.pod:5 ../customize/virt-customize.pod:5
#: ../daemon/guestfsd.pod:5 ../df/virt-df.pod:5 ../dib/virt-dib.pod:5
#: ../diff/virt-diff.pod:5 ../edit/virt-edit.pod:5
#: ../erlang/examples/guestfs-erlang.pod:5 ../examples/guestfs-examples.pod:5
#: ../fish/guestfish.pod:5 ../fish/libguestfs-tools.conf.pod:5
#: ../fish/virt-copy-in.pod:5 ../fish/virt-copy-out.pod:5
#: ../fish/virt-tar-in.pod:5 ../fish/virt-tar-out.pod:5
#: ../format/virt-format.pod:5 ../fuse/guestmount.pod:5
#: ../fuse/guestunmount.pod:5 ../get-kernel/virt-get-kernel.pod:5
#: ../gobject/guestfs-gobject.pod:5 ../golang/examples/guestfs-golang.pod:5
#: ../inspector/virt-inspector.pod:5 ../java/examples/guestfs-java.pod:5
#: ../lib/guestfs.pod:5 ../lua/examples/guestfs-lua.pod:5
#: ../make-fs/virt-make-fs.pod:5 ../ocaml/examples/guestfs-ocaml.pod:5
#: ../perl/examples/guestfs-perl.pod:5 ../python/examples/guestfs-python.pod:5
#: ../rescue/virt-rescue.pod:5 ../resize/virt-resize.pod:5
#: ../ruby/examples/guestfs-ruby.pod:5 ../sparsify/virt-sparsify.pod:5
#: ../sysprep/virt-sysprep.pod:5 ../test-tool/libguestfs-test-tool.pod:5
#: ../tools/virt-list-filesystems:31 ../tools/virt-list-partitions:31
#: ../tools/virt-tar:32 ../tools/virt-win-reg:36
msgid "SYNOPSIS"
msgstr "SYNOPSIS"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:7
#, no-wrap
msgid ""
" virt-alignment-scan [--options] -d domname\n"
"\n"
msgstr ""
" virt-alignment-scan [--options] -d domname\n"
"\n"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:9
#, no-wrap
msgid ""
" virt-alignment-scan [--options] -a disk.img [-a disk.img ...]\n"
"\n"
msgstr ""
" virt-alignment-scan [--options] -a disk.img [-a disk.img ...]\n"
"\n"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:11
#, no-wrap
msgid ""
" virt-alignment-scan [--options]\n"
"\n"
msgstr ""
" virt-alignment-scan [--options]\n"
"\n"

#. type: =head1
#: ../align/virt-alignment-scan.pod:13
#: ../appliance/libguestfs-make-fixed-appliance.pod:11
#: ../builder/virt-builder-repository.pod:17 ../builder/virt-builder.pod:32
#: ../builder/virt-index-validate.pod:9 ../cat/virt-cat.pod:17
#: ../cat/virt-filesystems.pod:11 ../cat/virt-log.pod:11 ../cat/virt-ls.pod:17
#: ../cat/virt-tail.pod:11 ../customize/virt-customize.pod:18
#: ../daemon/guestfsd.pod:9 ../df/virt-df.pod:23 ../dib/virt-dib.pod:9
#: ../diff/virt-diff.pod:11 ../docs/guestfs-building.pod:5
#: ../docs/guestfs-hacking.pod:5 ../docs/guestfs-internals.pod:5
#: ../docs/guestfs-performance.pod:5 ../docs/guestfs-recipes.pod:12
#: ../docs/guestfs-security.pod:5 ../docs/guestfs-testing.pod:5
#: ../edit/virt-edit.pod:19 ../erlang/examples/guestfs-erlang.pod:14
#: ../examples/guestfs-examples.pod:17 ../fish/guestfish.pod:21
#: ../fish/libguestfs-tools.conf.pod:15 ../fish/virt-copy-in.pod:11
#: ../fish/virt-copy-out.pod:11 ../fish/virt-tar-in.pod:13
#: ../fish/virt-tar-out.pod:13 ../format/virt-format.pod:9
#: ../fuse/guestmount.pod:13 ../fuse/guestunmount.pod:11
#: ../get-kernel/virt-get-kernel.pod:11 ../gobject/guestfs-gobject.pod:15
#: ../golang/examples/guestfs-golang.pod:24 ../inspector/virt-inspector.pod:17
#: ../java/examples/guestfs-java.pod:19 ../lib/guestfs.pod:22
#: ../lua/examples/guestfs-lua.pod:14 ../make-fs/virt-make-fs.pod:13
#: ../ocaml/examples/guestfs-ocaml.pod:23 ../perl/examples/guestfs-perl.pod:17
#: ../python/examples/guestfs-python.pod:12 ../rescue/virt-rescue.pod:17
#: ../resize/virt-resize.pod:11 ../ruby/examples/guestfs-ruby.pod:13
#: ../sparsify/virt-sparsify.pod:11 ../sysprep/virt-sysprep.pod:11
#: ../test-tool/libguestfs-test-tool.pod:9 ../tools/virt-list-filesystems:42
#: ../tools/virt-list-partitions:42 ../tools/virt-tar:74
#: ../tools/virt-win-reg:60
msgid "DESCRIPTION"
msgstr "DESCRIPTION"

#. type: textblock
#: ../align/virt-alignment-scan.pod:15
msgid ""
"When older operating systems install themselves, the partitioning tools "
"place partitions at a sector misaligned with the underlying storage "
"(commonly the first partition starts on sector C<63>).  Misaligned "
"partitions can result in an operating system issuing more I/O than should be "
"necessary."
msgstr ""
"When older operating systems install themselves, the partitioning tools "
"place partitions at a sector misaligned with the underlying storage "
"(commonly the first partition starts on sector C<63>).  Misaligned "
"partitions can result in an operating system issuing more I/O than should be "
"necessary."

#. type: textblock
#: ../align/virt-alignment-scan.pod:21
msgid ""
"The virt-alignment-scan tool checks the alignment of partitions in virtual "
"machines and disk images and warns you if there are alignment problems."
msgstr ""
"The virt-alignment-scan tool checks the alignment of partitions in virtual "
"machines and disk images and warns you if there are alignment problems."

#. type: textblock
#: ../align/virt-alignment-scan.pod:25
msgid ""
"Currently there is no virt tool for fixing alignment problems.  You can only "
"reinstall the guest operating system.  The following NetApp document "
"summarises the problem and possible solutions: L<http://media.netapp.com/"
"documents/tr-3747.pdf>"
msgstr ""
"Currently there is no virt tool for fixing alignment problems.  You can only "
"reinstall the guest operating system.  The following NetApp document "
"summarises the problem and possible solutions: L<http://media.netapp.com/"
"documents/tr-3747.pdf>"

#. type: =head1
#: ../align/virt-alignment-scan.pod:30
msgid "OUTPUT"
msgstr "OUTPUT"

#. type: textblock
#: ../align/virt-alignment-scan.pod:32
msgid "To run this tool on a disk image directly, use the I<-a> option:"
msgstr "To run this tool on a disk image directly, use the I<-a> option:"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:34
#, no-wrap
msgid ""
" $ virt-alignment-scan -a winxp.img\n"
" /dev/sda1        32256          512    bad (alignment < 4K)\n"
"\n"
msgstr ""
" $ virt-alignment-scan -a winxp.img\n"
" /dev/sda1        32256          512    bad (alignment < 4K)\n"
"\n"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:37
#, no-wrap
msgid ""
" $ virt-alignment-scan -a fedora16.img\n"
" /dev/sda1      1048576         1024K   ok\n"
" /dev/sda2      2097152         2048K   ok\n"
" /dev/sda3    526385152         2048K   ok\n"
"\n"
msgstr ""
" $ virt-alignment-scan -a fedora16.img\n"
" /dev/sda1      1048576         1024K   ok\n"
" /dev/sda2      2097152         2048K   ok\n"
" /dev/sda3    526385152         2048K   ok\n"
"\n"

#. type: textblock
#: ../align/virt-alignment-scan.pod:42
msgid ""
"To run the tool on a guest known to libvirt, use the I<-d> option and "
"possibly the I<-c> option:"
msgstr ""
"To run the tool on a guest known to libvirt, use the I<-d> option and "
"possibly the I<-c> option:"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:45
#, no-wrap
msgid ""
" # virt-alignment-scan -d RHEL5\n"
" /dev/sda1        32256          512    bad (alignment < 4K)\n"
" /dev/sda2    106928640          512    bad (alignment < 4K)\n"
"\n"
msgstr ""
" # virt-alignment-scan -d RHEL5\n"
" /dev/sda1        32256          512    bad (alignment < 4K)\n"
" /dev/sda2    106928640          512    bad (alignment < 4K)\n"
"\n"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:49
#, no-wrap
msgid ""
" $ virt-alignment-scan -c qemu:///system -d Win7TwoDisks\n"
" /dev/sda1      1048576         1024K   ok\n"
" /dev/sda2    105906176         1024K   ok\n"
" /dev/sdb1        65536           64K   ok\n"
"\n"
msgstr ""
" $ virt-alignment-scan -c qemu:///system -d Win7TwoDisks\n"
" /dev/sda1      1048576         1024K   ok\n"
" /dev/sda2    105906176         1024K   ok\n"
" /dev/sdb1        65536           64K   ok\n"
"\n"

#. type: textblock
#: ../align/virt-alignment-scan.pod:54
msgid ""
"Run virt-alignment-scan without any I<-a> or I<-d> options to scan all "
"libvirt domains."
msgstr ""
"Run virt-alignment-scan without any I<-a> or I<-d> options to scan all "
"libvirt domains."

#. type: verbatim
#: ../align/virt-alignment-scan.pod:57
#, no-wrap
msgid ""
" # virt-alignment-scan\n"
" F16x64:/dev/sda1      1048576         1024K   ok\n"
" F16x64:/dev/sda2      2097152         2048K   ok\n"
" F16x64:/dev/sda3    526385152         2048K   ok\n"
"\n"
msgstr ""
" # virt-alignment-scan\n"
" F16x64:/dev/sda1      1048576         1024K   ok\n"
" F16x64:/dev/sda2      2097152         2048K   ok\n"
" F16x64:/dev/sda3    526385152         2048K   ok\n"
"\n"

#. type: textblock
#: ../align/virt-alignment-scan.pod:62
msgid ""
"The output consists of 4 or more whitespace-separated columns.  Only the "
"first 4 columns are significant if you want to parse this from a program.  "
"The columns are:"
msgstr ""
"The output consists of 4 or more whitespace-separated columns.  Only the "
"first 4 columns are significant if you want to parse this from a program.  "
"The columns are:"

#. type: =item
#: ../align/virt-alignment-scan.pod:68
msgid "col 1"
msgstr "col 1"

#. type: textblock
#: ../align/virt-alignment-scan.pod:70
msgid ""
"The device and partition name (eg. F</dev/sda1> meaning the first partition "
"on the first block device)."
msgstr ""

#. type: textblock
#: ../align/virt-alignment-scan.pod:73
msgid ""
"When listing all libvirt domains (no I<-a> or I<-d> option given) this "
"column is prefixed by the libvirt name or UUID (if I<--uuid> is given).  eg: "
"C<WinXP:/dev/sda1>"
msgstr ""
"When listing all libvirt domains (no I<-a> or I<-d> option given) this "
"column is prefixed by the libvirt name or UUID (if I<--uuid> is given).  eg: "
"C<WinXP:/dev/sda1>"

#. type: =item
#: ../align/virt-alignment-scan.pod:77
msgid "col 2"
msgstr "col 2"

#. type: textblock
#: ../align/virt-alignment-scan.pod:79
msgid "the start of the partition in bytes"
msgstr "the start of the partition in bytes"

#. type: =item
#: ../align/virt-alignment-scan.pod:81
msgid "col 3"
msgstr "col 3"

#. type: textblock
#: ../align/virt-alignment-scan.pod:83
msgid "the alignment in bytes or Kbytes (eg. C<512> or C<4K>)"
msgstr "the alignment in bytes or Kbytes (eg. C<512> or C<4K>)"

#. type: =item
#: ../align/virt-alignment-scan.pod:85
msgid "col 4"
msgstr "col 4"

#. type: textblock
#: ../align/virt-alignment-scan.pod:87
msgid ""
"C<ok> if the alignment is best for performance, or C<bad> if the alignment "
"can cause performance problems"
msgstr ""
"C<ok> if the alignment is best for performance, or C<bad> if the alignment "
"can cause performance problems"

#. type: =item
#: ../align/virt-alignment-scan.pod:90
msgid "cols 5+"
msgstr "cols 5+"

#. type: textblock
#: ../align/virt-alignment-scan.pod:92
msgid "optional free-text explanation."
msgstr "optional free-text explanation."

#. type: textblock
#: ../align/virt-alignment-scan.pod:96
msgid ""
"The exit code from the program changes depending on whether poorly aligned "
"partitions were found.  See L</EXIT STATUS> below."
msgstr ""
"The exit code from the program changes depending on whether poorly aligned "
"partitions were found.  See L</EXIT STATUS> below."

#. type: textblock
#: ../align/virt-alignment-scan.pod:99
msgid "If you just want the exit code with no output, use the I<-q> option."
msgstr "If you just want the exit code with no output, use the I<-q> option."

#. type: =head1
#: ../align/virt-alignment-scan.pod:101
#: ../appliance/libguestfs-make-fixed-appliance.pod:97
#: ../builder/virt-builder-repository.pod:87 ../builder/virt-builder.pod:176
#: ../builder/virt-index-validate.pod:19 ../cat/virt-cat.pod:51
#: ../cat/virt-filesystems.pod:89 ../cat/virt-log.pod:35 ../cat/virt-ls.pod:249
#: ../cat/virt-tail.pod:46 ../customize/virt-customize.pod:32
#: ../daemon/guestfsd.pod:43 ../df/virt-df.pod:71 ../dib/virt-dib.pod:48
#: ../diff/virt-diff.pod:35 ../edit/virt-edit.pod:54 ../fish/guestfish.pod:145
#: ../fish/virt-copy-in.pod:37 ../fish/virt-copy-out.pod:32
#: ../fish/virt-tar-in.pod:34 ../fish/virt-tar-out.pod:34
#: ../format/virt-format.pod:57 ../fuse/guestmount.pod:156
#: ../fuse/guestunmount.pod:70 ../get-kernel/virt-get-kernel.pod:23
#: ../inspector/virt-inspector.pod:52 ../make-fs/virt-make-fs.pod:117
#: ../rescue/virt-rescue.pod:86 ../resize/virt-resize.pod:268
#: ../sparsify/virt-sparsify.pod:114 ../sysprep/virt-sysprep.pod:38
#: ../test-tool/libguestfs-test-tool.pod:34 ../tools/virt-list-filesystems:52
#: ../tools/virt-list-partitions:53 ../tools/virt-tar:100
#: ../tools/virt-win-reg:93
msgid "OPTIONS"
msgstr "OPTIONS"

#. type: =item
#: ../align/virt-alignment-scan.pod:105
#: ../appliance/libguestfs-make-fixed-appliance.pod:101
#: ../builder/virt-builder-repository.pod:91 ../builder/virt-builder.pod:180
#: ../builder/virt-index-validate.pod:62 ../cat/virt-cat.pod:55
#: ../cat/virt-filesystems.pod:93 ../cat/virt-log.pod:39 ../cat/virt-ls.pod:253
#: ../cat/virt-tail.pod:50 ../customize/virt-customize.pod:36
#: ../daemon/guestfsd.pod:49 ../df/virt-df.pod:75 ../dib/virt-dib.pod:52
#: ../diff/virt-diff.pod:39 ../edit/virt-edit.pod:58 ../fish/guestfish.pod:149
#: ../format/virt-format.pod:61 ../fuse/guestmount.pod:239
#: ../fuse/guestunmount.pod:79 ../get-kernel/virt-get-kernel.pod:27
#: ../inspector/virt-inspector.pod:56 ../make-fs/virt-make-fs.pod:121
#: ../rescue/virt-rescue.pod:90 ../resize/virt-resize.pod:272
#: ../sparsify/virt-sparsify.pod:118 ../sysprep/virt-sysprep.pod:42
#: ../test-tool/libguestfs-test-tool.pod:38 ../tools/virt-list-filesystems:60
#: ../tools/virt-list-partitions:61 ../tools/virt-tar:108
#: ../tools/virt-win-reg:101
msgid "B<--help>"
msgstr "B<--help>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:107 ../cat/virt-cat.pod:57
#: ../cat/virt-filesystems.pod:95 ../cat/virt-log.pod:41 ../cat/virt-ls.pod:255
#: ../cat/virt-tail.pod:52 ../customize/virt-customize.pod:38
#: ../daemon/guestfsd.pod:51 ../df/virt-df.pod:77 ../diff/virt-diff.pod:41
#: ../edit/virt-edit.pod:60 ../format/virt-format.pod:63
#: ../inspector/virt-inspector.pod:58 ../make-fs/virt-make-fs.pod:123
#: ../rescue/virt-rescue.pod:92 ../sysprep/virt-sysprep.pod:44
#: ../tools/virt-list-filesystems:62 ../tools/virt-list-partitions:63
#: ../tools/virt-tar:110 ../tools/virt-win-reg:103
msgid "Display brief help."
msgstr "Display brief help."

#. type: =item
#: ../align/virt-alignment-scan.pod:109 ../cat/virt-cat.pod:59
#: ../cat/virt-filesystems.pod:97 ../cat/virt-log.pod:43 ../cat/virt-ls.pod:257
#: ../cat/virt-tail.pod:54 ../customize/virt-customize.pod:40
#: ../diff/virt-diff.pod:43 ../edit/virt-edit.pod:62
#: ../format/virt-format.pod:65 ../get-kernel/virt-get-kernel.pod:31
#: ../inspector/virt-inspector.pod:60 ../sysprep/virt-sysprep.pod:46
msgid "B<-a> file"
msgstr "B<-a> file"

#. type: =item
#: ../align/virt-alignment-scan.pod:111 ../cat/virt-cat.pod:61
#: ../cat/virt-filesystems.pod:99 ../cat/virt-log.pod:45 ../cat/virt-ls.pod:259
#: ../cat/virt-tail.pod:56 ../customize/virt-customize.pod:42
#: ../diff/virt-diff.pod:45 ../edit/virt-edit.pod:64
#: ../format/virt-format.pod:67 ../get-kernel/virt-get-kernel.pod:33
#: ../inspector/virt-inspector.pod:62 ../sysprep/virt-sysprep.pod:48
msgid "B<--add> file"
msgstr "B<--add> file"

#. type: textblock
#: ../align/virt-alignment-scan.pod:113 ../customize/virt-customize.pod:44
#: ../get-kernel/virt-get-kernel.pod:35 ../sysprep/virt-sysprep.pod:50
msgid "Add I<file> which should be a disk image from a virtual machine."
msgstr "Add I<file> which should be a disk image from a virtual machine."

#. type: textblock
#: ../align/virt-alignment-scan.pod:115 ../cat/virt-cat.pod:67
#: ../cat/virt-filesystems.pod:105 ../cat/virt-log.pod:51
#: ../cat/virt-ls.pod:265 ../cat/virt-tail.pod:62 ../df/virt-df.pod:87
#: ../diff/virt-diff.pod:51 ../edit/virt-edit.pod:70 ../fish/guestfish.pod:171
#: ../format/virt-format.pod:71 ../fuse/guestmount.pod:166
#: ../inspector/virt-inspector.pod:68 ../rescue/virt-rescue.pod:102
msgid ""
"The format of the disk image is auto-detected.  To override this and force a "
"particular format use the I<--format=..> option."
msgstr ""
"The format of the disk image is auto-detected.  To override this and force a "
"particular format use the I<--format=..> option."

#. type: =item
#: ../align/virt-alignment-scan.pod:118 ../cat/virt-cat.pod:70
#: ../cat/virt-filesystems.pod:108 ../cat/virt-log.pod:54
#: ../cat/virt-ls.pod:268 ../cat/virt-tail.pod:65
msgid "B<-a URI>"
msgstr "B<-a URI>"

#. type: =item
#: ../align/virt-alignment-scan.pod:120 ../cat/virt-cat.pod:72
#: ../cat/virt-filesystems.pod:110 ../cat/virt-log.pod:56
#: ../cat/virt-ls.pod:270 ../cat/virt-tail.pod:67
msgid "B<--add URI>"
msgstr "B<--add URI>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:122 ../cat/virt-cat.pod:74
#: ../cat/virt-filesystems.pod:112 ../cat/virt-log.pod:58
#: ../cat/virt-ls.pod:272 ../cat/virt-tail.pod:69 ../df/virt-df.pod:94
#: ../diff/virt-diff.pod:58 ../edit/virt-edit.pod:77
#: ../format/virt-format.pod:80 ../fuse/guestmount.pod:173
#: ../inspector/virt-inspector.pod:75 ../rescue/virt-rescue.pod:109
msgid "Add a remote disk.  See L<guestfish(1)/ADDING REMOTE STORAGE>."
msgstr "Add a remote disk.  See L<guestfish(1)/ADDING REMOTE STORAGE>."

#. type: textblock
#: ../align/virt-alignment-scan.pod:124 ../cat/virt-cat.pod:76
#: ../cat/virt-filesystems.pod:129 ../cat/virt-log.pod:60
#: ../cat/virt-ls.pod:274 ../cat/virt-tail.pod:71 ../df/virt-df.pod:96
#: ../diff/virt-diff.pod:76 ../edit/virt-edit.pod:93 ../fish/guestfish.pod:184
#: ../format/virt-format.pod:82 ../fuse/guestmount.pod:175
#: ../inspector/virt-inspector.pod:77 ../rescue/virt-rescue.pod:115
msgid "__INCLUDE:blocksize-option.pod__"
msgstr ""

#. type: =item
#: ../align/virt-alignment-scan.pod:126 ../cat/virt-cat.pod:78
#: ../cat/virt-filesystems.pod:131 ../cat/virt-log.pod:62
#: ../cat/virt-ls.pod:287 ../cat/virt-tail.pod:73
#: ../customize/virt-customize.pod:86 ../df/virt-df.pod:98
#: ../diff/virt-diff.pod:89 ../edit/virt-edit.pod:95 ../fish/guestfish.pod:186
#: ../fuse/guestmount.pod:177 ../get-kernel/virt-get-kernel.pod:64
#: ../inspector/virt-inspector.pod:79 ../rescue/virt-rescue.pod:117
#: ../sysprep/virt-sysprep.pod:71
msgid "B<-c> URI"
msgstr "B<-c> URI"

#. type: =item
#: ../align/virt-alignment-scan.pod:128 ../cat/virt-cat.pod:80
#: ../cat/virt-filesystems.pod:133 ../cat/virt-log.pod:64
#: ../cat/virt-ls.pod:289 ../cat/virt-tail.pod:75
#: ../customize/virt-customize.pod:88 ../df/virt-df.pod:100
#: ../diff/virt-diff.pod:91 ../edit/virt-edit.pod:97 ../fish/guestfish.pod:188
#: ../fuse/guestmount.pod:179 ../get-kernel/virt-get-kernel.pod:66
#: ../inspector/virt-inspector.pod:81 ../rescue/virt-rescue.pod:119
#: ../sysprep/virt-sysprep.pod:73
msgid "B<--connect> URI"
msgstr "B<--connect> URI"

#. type: textblock
#: ../align/virt-alignment-scan.pod:130 ../cat/virt-cat.pod:82
#: ../cat/virt-filesystems.pod:135 ../cat/virt-log.pod:66
#: ../cat/virt-ls.pod:291 ../cat/virt-tail.pod:77
#: ../customize/virt-customize.pod:90 ../df/virt-df.pod:102
#: ../diff/virt-diff.pod:93 ../edit/virt-edit.pod:99
#: ../get-kernel/virt-get-kernel.pod:68 ../inspector/virt-inspector.pod:83
#: ../rescue/virt-rescue.pod:121 ../sysprep/virt-sysprep.pod:75
#: ../tools/virt-list-filesystems:80 ../tools/virt-list-partitions:81
#: ../tools/virt-tar:128 ../tools/virt-win-reg:129
msgid ""
"If using libvirt, connect to the given I<URI>.  If omitted, then we connect "
"to the default libvirt hypervisor."
msgstr ""
"If using libvirt, connect to the given I<URI>.  If omitted, then we connect "
"to the default libvirt hypervisor."

#. type: textblock
#: ../align/virt-alignment-scan.pod:133 ../cat/virt-cat.pod:85
#: ../cat/virt-filesystems.pod:138 ../cat/virt-log.pod:69
#: ../cat/virt-ls.pod:294 ../cat/virt-tail.pod:80
#: ../customize/virt-customize.pod:93 ../df/virt-df.pod:105
#: ../diff/virt-diff.pod:96 ../get-kernel/virt-get-kernel.pod:71
#: ../rescue/virt-rescue.pod:124 ../sysprep/virt-sysprep.pod:78
msgid ""
"If you specify guest block devices directly (I<-a>), then libvirt is not "
"used at all."
msgstr ""
"If you specify guest block devices directly (I<-a>), then libvirt is not "
"used at all."

#. type: =item
#: ../align/virt-alignment-scan.pod:136 ../cat/virt-cat.pod:88
#: ../cat/virt-filesystems.pod:147 ../cat/virt-log.pod:72
#: ../cat/virt-ls.pod:303 ../cat/virt-tail.pod:83
#: ../customize/virt-customize.pod:96 ../df/virt-df.pod:114
#: ../diff/virt-diff.pod:117 ../get-kernel/virt-get-kernel.pod:74
#: ../inspector/virt-inspector.pod:90 ../rescue/virt-rescue.pod:127
#: ../sysprep/virt-sysprep.pod:81
msgid "B<-d> guest"
msgstr "B<-d> guest"

#. type: =item
#: ../align/virt-alignment-scan.pod:138 ../cat/virt-cat.pod:90
#: ../cat/virt-filesystems.pod:149 ../cat/virt-log.pod:74
#: ../cat/virt-ls.pod:305 ../cat/virt-tail.pod:85
#: ../customize/virt-customize.pod:98 ../df/virt-df.pod:116
#: ../diff/virt-diff.pod:119 ../get-kernel/virt-get-kernel.pod:76
#: ../inspector/virt-inspector.pod:92 ../rescue/virt-rescue.pod:129
#: ../sysprep/virt-sysprep.pod:83
msgid "B<--domain> guest"
msgstr "B<--domain> guest"

#. type: textblock
#: ../align/virt-alignment-scan.pod:140 ../cat/virt-cat.pod:92
#: ../cat/virt-filesystems.pod:151 ../cat/virt-log.pod:76
#: ../cat/virt-ls.pod:307 ../cat/virt-tail.pod:87
#: ../customize/virt-customize.pod:100 ../df/virt-df.pod:118
#: ../edit/virt-edit.pod:109 ../get-kernel/virt-get-kernel.pod:78
#: ../inspector/virt-inspector.pod:94 ../rescue/virt-rescue.pod:131
#: ../sysprep/virt-sysprep.pod:85
msgid ""
"Add all the disks from the named libvirt guest.  Domain UUIDs can be used "
"instead of names."
msgstr ""
"Add all the disks from the named libvirt guest.  Domain UUIDs can be used "
"instead of names."

#. type: =item
#: ../align/virt-alignment-scan.pod:143 ../cat/virt-cat.pod:102
#: ../cat/virt-filesystems.pod:176 ../cat/virt-log.pod:86
#: ../cat/virt-ls.pod:324 ../cat/virt-tail.pod:104 ../df/virt-df.pod:121
#: ../diff/virt-diff.pod:140 ../edit/virt-edit.pod:134
#: ../fish/guestfish.pod:229 ../format/virt-format.pod:93
#: ../fuse/guestmount.pod:221 ../inspector/virt-inspector.pod:104
#: ../rescue/virt-rescue.pod:157
msgid "B<--format=raw|qcow2|..>"
msgstr "B<--format=raw|qcow2|..>"

#. type: =item
#: ../align/virt-alignment-scan.pod:145 ../cat/virt-cat.pod:104
#: ../cat/virt-filesystems.pod:178 ../cat/virt-log.pod:88
#: ../cat/virt-ls.pod:326 ../cat/virt-tail.pod:106 ../df/virt-df.pod:123
#: ../diff/virt-diff.pod:142 ../edit/virt-edit.pod:136
#: ../fish/guestfish.pod:231 ../format/virt-format.pod:95
#: ../fuse/guestmount.pod:223 ../inspector/virt-inspector.pod:106
#: ../rescue/virt-rescue.pod:159
msgid "B<--format>"
msgstr "B<--format>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:147 ../cat/virt-cat.pod:106
#: ../cat/virt-filesystems.pod:180 ../cat/virt-log.pod:90
#: ../cat/virt-ls.pod:328 ../cat/virt-tail.pod:108 ../df/virt-df.pod:125
#: ../edit/virt-edit.pod:138 ../fish/guestfish.pod:233
#: ../format/virt-format.pod:97 ../fuse/guestmount.pod:225
#: ../rescue/virt-rescue.pod:161
msgid ""
"The default for the I<-a> option is to auto-detect the format of the disk "
"image.  Using this forces the disk format for I<-a> options which follow on "
"the command line.  Using I<--format> with no argument switches back to auto-"
"detection for subsequent I<-a> options."
msgstr ""
"The default for the I<-a> option is to auto-detect the format of the disk "
"image.  Using this forces the disk format for I<-a> options which follow on "
"the command line.  Using I<--format> with no argument switches back to auto-"
"detection for subsequent I<-a> options."

#. type: textblock
#: ../align/virt-alignment-scan.pod:152 ../builder/virt-builder.pod:150
#: ../cat/virt-cat.pod:111 ../cat/virt-filesystems.pod:185
#: ../cat/virt-log.pod:95 ../cat/virt-ls.pod:333 ../cat/virt-tail.pod:113
#: ../customize/virt-customize.pod:126 ../df/virt-df.pod:130
#: ../diff/virt-diff.pod:150 ../docs/guestfs-building.pod:469
#: ../docs/guestfs-hacking.pod:866 ../docs/guestfs-recipes.pod:508
#: ../docs/internal-documentation.pod:3112 ../edit/virt-edit.pod:143
#: ../fish/guestfish.pod:238 ../fish/guestfish.pod:707
#: ../format/virt-format.pod:102 ../inspector/virt-inspector.pod:350
#: ../rescue/virt-rescue.pod:166 ../sysprep/virt-sysprep.pod:174
#: ../sysprep/virt-sysprep.pod:227
msgid "For example:"
msgstr "For example:"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:154
#, no-wrap
msgid ""
" virt-alignment-scan --format=raw -a disk.img\n"
"\n"
msgstr ""
" virt-alignment-scan --format=raw -a disk.img\n"
"\n"

#. type: textblock
#: ../align/virt-alignment-scan.pod:156 ../cat/virt-cat.pod:115
#: ../cat/virt-filesystems.pod:189 ../cat/virt-log.pod:99
#: ../cat/virt-ls.pod:337 ../cat/virt-tail.pod:117
#: ../customize/virt-customize.pod:130 ../df/virt-df.pod:134
#: ../diff/virt-diff.pod:154 ../edit/virt-edit.pod:147
#: ../fish/guestfish.pod:242 ../format/virt-format.pod:106
#: ../rescue/virt-rescue.pod:170 ../sysprep/virt-sysprep.pod:178
msgid "forces raw format (no auto-detection) for F<disk.img>."
msgstr ""

#. type: verbatim
#: ../align/virt-alignment-scan.pod:158
#, no-wrap
msgid ""
" virt-alignment-scan --format=raw -a disk.img --format -a another.img\n"
"\n"
msgstr ""
" virt-alignment-scan --format=raw -a disk.img --format -a another.img\n"
"\n"

#. type: textblock
#: ../align/virt-alignment-scan.pod:160 ../cat/virt-cat.pod:119
#: ../cat/virt-filesystems.pod:193 ../cat/virt-log.pod:103
#: ../cat/virt-ls.pod:341 ../cat/virt-tail.pod:121
#: ../customize/virt-customize.pod:134 ../df/virt-df.pod:138
#: ../diff/virt-diff.pod:158 ../edit/virt-edit.pod:151
#: ../fish/guestfish.pod:246 ../format/virt-format.pod:110
#: ../rescue/virt-rescue.pod:174 ../sysprep/virt-sysprep.pod:182
msgid ""
"forces raw format (no auto-detection) for F<disk.img> and reverts to auto-"
"detection for F<another.img>."
msgstr ""

#. type: textblock
#: ../align/virt-alignment-scan.pod:163 ../cat/virt-cat.pod:122
#: ../cat/virt-filesystems.pod:196 ../cat/virt-log.pod:106
#: ../cat/virt-ls.pod:344 ../cat/virt-tail.pod:124
#: ../customize/virt-customize.pod:137 ../df/virt-df.pod:141
#: ../diff/virt-diff.pod:161 ../edit/virt-edit.pod:154
#: ../format/virt-format.pod:113 ../get-kernel/virt-get-kernel.pod:96
#: ../rescue/virt-rescue.pod:177 ../sysprep/virt-sysprep.pod:185
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)."
msgstr ""
"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)."

#. type: =item
#: ../align/virt-alignment-scan.pod:167 ../df/virt-df.pod:164
msgid "B<-P> nr_threads"
msgstr "B<-P> nr_threads"

#. type: textblock
#: ../align/virt-alignment-scan.pod:169
msgid ""
"Since libguestfs 1.22, virt-alignment-scan is multithreaded and examines "
"guests in parallel.  By default the number of threads to use is chosen based "
"on the amount of free memory available at the time that virt-alignment-scan "
"is started.  You can force virt-alignment-scan to use at most C<nr_threads> "
"by using the I<-P> option."
msgstr ""
"Since libguestfs 1.22, virt-alignment-scan is multithreaded and examines "
"guests in parallel.  By default the number of threads to use is chosen based "
"on the amount of free memory available at the time that virt-alignment-scan "
"is started.  You can force virt-alignment-scan to use at most C<nr_threads> "
"by using the I<-P> option."

#. type: textblock
#: ../align/virt-alignment-scan.pod:176 ../df/virt-df.pod:172
msgid ""
"Note that I<-P 0> means to autodetect, and I<-P 1> means to use a single "
"thread."
msgstr ""
"Note that I<-P 0> means to autodetect, and I<-P 1> means to use a single "
"thread."

#. type: =item
#: ../align/virt-alignment-scan.pod:179
#: ../builder/virt-builder-repository.pod:151 ../builder/virt-builder.pod:477
#: ../customize/virt-customize.pod:206 ../dib/virt-dib.pod:370
#: ../fuse/guestunmount.pod:83 ../get-kernel/virt-get-kernel.pod:135
#: ../resize/virt-resize.pod:530 ../sparsify/virt-sparsify.pod:262
#: ../sysprep/virt-sysprep.pod:237
msgid "B<-q>"
msgstr "B<-q>"

#. type: =item
#: ../align/virt-alignment-scan.pod:181
#: ../builder/virt-builder-repository.pod:153 ../builder/virt-builder.pod:479
#: ../customize/virt-customize.pod:208 ../dib/virt-dib.pod:372
#: ../fuse/guestunmount.pod:85 ../get-kernel/virt-get-kernel.pod:137
#: ../resize/virt-resize.pod:532 ../sparsify/virt-sparsify.pod:264
#: ../sysprep/virt-sysprep.pod:239
msgid "B<--quiet>"
msgstr "B<--quiet>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:183
msgid ""
"Don’t produce any output.  Just set the exit code (see L</EXIT STATUS> "
"below)."
msgstr ""

#. type: =item
#: ../align/virt-alignment-scan.pod:186 ../cat/virt-filesystems.pod:261
#: ../df/virt-df.pod:175
msgid "B<--uuid>"
msgstr "B<--uuid>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:188 ../df/virt-df.pod:177
msgid ""
"Print UUIDs instead of names.  This is useful for following a guest even "
"when the guest is migrated or renamed, or when two guests happen to have the "
"same name."
msgstr ""
"Print UUIDs instead of names.  This is useful for following a guest even "
"when the guest is migrated or renamed, or when two guests happen to have the "
"same name."

#. type: textblock
#: ../align/virt-alignment-scan.pod:192
msgid ""
"This option only applies when listing all libvirt domains (when no I<-a> or "
"I<-d> options are specified)."
msgstr ""
"This option only applies when listing all libvirt domains (when no I<-a> or "
"I<-d> options are specified)."

#. type: =item
#: ../align/virt-alignment-scan.pod:195
#: ../builder/virt-builder-repository.pod:157 ../builder/virt-builder.pod:524
#: ../cat/virt-cat.pod:169 ../cat/virt-filesystems.pod:267
#: ../cat/virt-log.pod:117 ../cat/virt-ls.pod:459 ../cat/virt-tail.pod:171
#: ../customize/virt-customize.pod:218 ../daemon/guestfsd.pod:88
#: ../df/virt-df.pod:185 ../dib/virt-dib.pod:439 ../diff/virt-diff.pod:201
#: ../edit/virt-edit.pod:201 ../fish/guestfish.pod:418
#: ../format/virt-format.pod:155 ../fuse/guestmount.pod:374
#: ../get-kernel/virt-get-kernel.pod:152 ../inspector/virt-inspector.pod:140
#: ../make-fs/virt-make-fs.pod:207 ../rescue/virt-rescue.pod:271
#: ../resize/virt-resize.pod:622 ../sparsify/virt-sparsify.pod:311
#: ../sysprep/virt-sysprep.pod:258
msgid "B<-v>"
msgstr "B<-v>"

#. type: =item
#: ../align/virt-alignment-scan.pod:197
#: ../builder/virt-builder-repository.pod:159 ../builder/virt-builder.pod:526
#: ../cat/virt-cat.pod:171 ../cat/virt-filesystems.pod:269
#: ../cat/virt-log.pod:119 ../cat/virt-ls.pod:461 ../cat/virt-tail.pod:173
#: ../customize/virt-customize.pod:220 ../daemon/guestfsd.pod:90
#: ../df/virt-df.pod:187 ../dib/virt-dib.pod:441 ../diff/virt-diff.pod:203
#: ../edit/virt-edit.pod:203 ../fish/guestfish.pod:420
#: ../format/virt-format.pod:157 ../fuse/guestmount.pod:376
#: ../get-kernel/virt-get-kernel.pod:154 ../inspector/virt-inspector.pod:142
#: ../make-fs/virt-make-fs.pod:209 ../rescue/virt-rescue.pod:273
#: ../resize/virt-resize.pod:624 ../sparsify/virt-sparsify.pod:313
#: ../sysprep/virt-sysprep.pod:260
msgid "B<--verbose>"
msgstr "B<--verbose>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:199 ../cat/virt-cat.pod:173
#: ../cat/virt-filesystems.pod:271 ../cat/virt-log.pod:121
#: ../cat/virt-ls.pod:463 ../cat/virt-tail.pod:175
#: ../customize/virt-customize.pod:222 ../daemon/guestfsd.pod:92
#: ../df/virt-df.pod:189 ../diff/virt-diff.pod:205 ../edit/virt-edit.pod:205
#: ../format/virt-format.pod:159 ../get-kernel/virt-get-kernel.pod:156
#: ../inspector/virt-inspector.pod:144 ../rescue/virt-rescue.pod:275
#: ../sparsify/virt-sparsify.pod:315 ../sysprep/virt-sysprep.pod:262
msgid "Enable verbose messages for debugging."
msgstr "Enable verbose messages for debugging."

#. type: =item
#: ../align/virt-alignment-scan.pod:201
#: ../appliance/libguestfs-make-fixed-appliance.pod:105
#: ../builder/virt-builder-repository.pod:166 ../builder/virt-builder.pod:533
#: ../builder/virt-index-validate.pod:66 ../cat/virt-cat.pod:175
#: ../cat/virt-filesystems.pod:273 ../cat/virt-log.pod:123
#: ../cat/virt-ls.pod:465 ../cat/virt-tail.pod:177
#: ../customize/virt-customize.pod:224 ../df/virt-df.pod:191
#: ../dib/virt-dib.pod:445 ../diff/virt-diff.pod:207 ../edit/virt-edit.pod:207
#: ../fish/guestfish.pod:425 ../format/virt-format.pod:161
#: ../fuse/guestmount.pod:380 ../fuse/guestunmount.pod:105
#: ../get-kernel/virt-get-kernel.pod:158 ../inspector/virt-inspector.pod:146
#: ../make-fs/virt-make-fs.pod:213 ../rescue/virt-rescue.pod:277
#: ../resize/virt-resize.pod:628 ../sparsify/virt-sparsify.pod:317
#: ../sysprep/virt-sysprep.pod:264 ../test-tool/libguestfs-test-tool.pod:59
msgid "B<-V>"
msgstr "B<-V>"

#. type: =item
#: ../align/virt-alignment-scan.pod:203
#: ../appliance/libguestfs-make-fixed-appliance.pod:107
#: ../builder/virt-builder-repository.pod:168 ../builder/virt-builder.pod:535
#: ../builder/virt-index-validate.pod:68 ../cat/virt-cat.pod:177
#: ../cat/virt-filesystems.pod:275 ../cat/virt-log.pod:125
#: ../cat/virt-ls.pod:467 ../cat/virt-tail.pod:179
#: ../customize/virt-customize.pod:226 ../df/virt-df.pod:193
#: ../dib/virt-dib.pod:447 ../diff/virt-diff.pod:209 ../edit/virt-edit.pod:209
#: ../fish/guestfish.pod:427 ../format/virt-format.pod:163
#: ../fuse/guestmount.pod:382 ../fuse/guestunmount.pod:107
#: ../get-kernel/virt-get-kernel.pod:160 ../inspector/virt-inspector.pod:148
#: ../make-fs/virt-make-fs.pod:215 ../rescue/virt-rescue.pod:279
#: ../resize/virt-resize.pod:630 ../sparsify/virt-sparsify.pod:319
#: ../sysprep/virt-sysprep.pod:266 ../test-tool/libguestfs-test-tool.pod:61
#: ../tools/virt-list-filesystems:68 ../tools/virt-list-partitions:69
#: ../tools/virt-tar:116 ../tools/virt-win-reg:109
msgid "B<--version>"
msgstr "B<--version>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:205
#: ../builder/virt-builder-repository.pod:170 ../builder/virt-builder.pod:537
#: ../builder/virt-index-validate.pod:70 ../cat/virt-cat.pod:179
#: ../cat/virt-filesystems.pod:277 ../cat/virt-log.pod:127
#: ../cat/virt-ls.pod:469 ../cat/virt-tail.pod:181
#: ../customize/virt-customize.pod:228 ../df/virt-df.pod:195
#: ../dib/virt-dib.pod:449 ../diff/virt-diff.pod:211 ../edit/virt-edit.pod:211
#: ../format/virt-format.pod:165 ../get-kernel/virt-get-kernel.pod:162
#: ../inspector/virt-inspector.pod:150 ../make-fs/virt-make-fs.pod:217
#: ../rescue/virt-rescue.pod:281 ../resize/virt-resize.pod:632
#: ../sparsify/virt-sparsify.pod:321 ../sysprep/virt-sysprep.pod:268
#: ../tools/virt-list-filesystems:70 ../tools/virt-list-partitions:71
#: ../tools/virt-tar:118 ../tools/virt-win-reg:111
msgid "Display version number and exit."
msgstr "Display version number and exit."

#. type: =item
#: ../align/virt-alignment-scan.pod:207
#: ../builder/virt-builder-repository.pod:172 ../builder/virt-builder.pod:539
#: ../cat/virt-cat.pod:181 ../cat/virt-filesystems.pod:287
#: ../cat/virt-log.pod:129 ../cat/virt-ls.pod:471 ../cat/virt-tail.pod:183
#: ../customize/virt-customize.pod:230 ../df/virt-df.pod:197
#: ../dib/virt-dib.pod:451 ../diff/virt-diff.pod:213 ../edit/virt-edit.pod:213
#: ../fish/guestfish.pod:440 ../format/virt-format.pod:177
#: ../fuse/guestmount.pod:395 ../get-kernel/virt-get-kernel.pod:164
#: ../inspector/virt-inspector.pod:152 ../make-fs/virt-make-fs.pod:219
#: ../rescue/virt-rescue.pod:292 ../resize/virt-resize.pod:634
#: ../sparsify/virt-sparsify.pod:323 ../sysprep/virt-sysprep.pod:270
#: ../tools/virt-tar:155
msgid "B<-x>"
msgstr "B<-x>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:209
#: ../builder/virt-builder-repository.pod:174 ../builder/virt-builder.pod:541
#: ../cat/virt-cat.pod:183 ../cat/virt-filesystems.pod:289
#: ../cat/virt-log.pod:131 ../cat/virt-ls.pod:473 ../cat/virt-tail.pod:185
#: ../customize/virt-customize.pod:232 ../df/virt-df.pod:199
#: ../dib/virt-dib.pod:453 ../diff/virt-diff.pod:215 ../edit/virt-edit.pod:215
#: ../format/virt-format.pod:179 ../get-kernel/virt-get-kernel.pod:166
#: ../inspector/virt-inspector.pod:154 ../rescue/virt-rescue.pod:294
#: ../resize/virt-resize.pod:636 ../sparsify/virt-sparsify.pod:325
#: ../sysprep/virt-sysprep.pod:272
msgid "Enable tracing of libguestfs API calls."
msgstr "Enable tracing of libguestfs API calls."

#. type: =head1
#: ../align/virt-alignment-scan.pod:213
msgid "RECOMMENDED ALIGNMENT"
msgstr "RECOMMENDED ALIGNMENT"

#. type: textblock
#: ../align/virt-alignment-scan.pod:215
msgid ""
"Operating systems older than Windows 2008 and Linux before ca.2010 place the "
"first sector of the first partition at sector 63, with a 512 byte sector "
"size.  This happens because of a historical accident.  Drives have to report "
"a cylinder / head / sector (CHS) geometry to the BIOS.  The geometry is "
"completely meaningless on modern drives, but it happens that the geometry "
"reported always has 63 sectors per track.  The operating system therefore "
"places the first partition at the start of the second \"track\", at sector "
"63."
msgstr ""
"Operating systems older than Windows 2008 and Linux before ca.2010 place the "
"first sector of the first partition at sector 63, with a 512 byte sector "
"size.  This happens because of a historical accident.  Drives have to report "
"a cylinder / head / sector (CHS) geometry to the BIOS.  The geometry is "
"completely meaningless on modern drives, but it happens that the geometry "
"reported always has 63 sectors per track.  The operating system therefore "
"places the first partition at the start of the second \"track\", at sector "
"63."

#. type: textblock
#: ../align/virt-alignment-scan.pod:224
msgid ""
"When the guest OS is virtualized, the host operating system and hypervisor "
"may prefer accesses aligned to one of:"
msgstr ""
"When the guest OS is virtualised, the host operating system and hypervisor "
"may prefer accesses aligned to one of:"

#. type: =item
#: ../align/virt-alignment-scan.pod:229
msgid "* 512 bytes"
msgstr "* 512 bytes"

#. type: textblock
#: ../align/virt-alignment-scan.pod:231
msgid ""
"if the host OS uses local storage directly on hard drive partitions, and the "
"hard drive has 512 byte physical sectors."
msgstr ""
"if the host OS uses local storage directly on hard drive partitions, and the "
"hard drive has 512 byte physical sectors."

#. type: =item
#: ../align/virt-alignment-scan.pod:234
msgid "* 4 Kbytes"
msgstr "* 4 Kbytes"

#. type: textblock
#: ../align/virt-alignment-scan.pod:236
msgid ""
"for local storage on new hard drives with 4Kbyte physical sectors; for file-"
"backed storage on filesystems with 4Kbyte block size; or for some types of "
"network-attached storage."
msgstr ""
"for local storage on new hard drives with 4Kbyte physical sectors; for file-"
"backed storage on filesystems with 4Kbyte block size; or for some types of "
"network-attached storage."

#. type: =item
#: ../align/virt-alignment-scan.pod:240
msgid "* 64 Kbytes"
msgstr "* 64 Kbytes"

#. type: textblock
#: ../align/virt-alignment-scan.pod:242
msgid ""
"for high-end network-attached storage.  This is the optimal block size for "
"some NetApp hardware."
msgstr ""
"for high-end network-attached storage.  This is the optimal block size for "
"some NetApp hardware."

#. type: =item
#: ../align/virt-alignment-scan.pod:245
msgid "* 1 Mbyte"
msgstr "* 1 Mbyte"

#. type: textblock
#: ../align/virt-alignment-scan.pod:247
msgid "see L</1 MB PARTITION ALIGNMENT> below."
msgstr "see L</1 MB PARTITION ALIGNMENT> below."

#. type: textblock
#: ../align/virt-alignment-scan.pod:251
msgid ""
"Partitions which are not aligned correctly to the underlying storage cause "
"extra I/O.  For example:"
msgstr ""
"Partitions which are not aligned correctly to the underlying storage cause "
"extra I/O.  For example:"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:254
#, no-wrap
msgid ""
"                       sect#63\n"
"                       ┌──────────────────────────┬ ─ ─ ─ ─\n"
"                       │         guest            │\n"
"                       │    filesystem block      │\n"
"  ─ ┬──────────────────┴──────┬───────────────────┴─────┬ ─ ─\n"
"    │  host block             │  host block             │\n"
"    │                         │                         │\n"
"  ─ ┴─────────────────────────┴─────────────────────────┴ ─ ─\n"
"\n"
msgstr ""

#. type: textblock
#: ../align/virt-alignment-scan.pod:263
msgid ""
"In this example, each time a 4K guest block is read, two blocks on the host "
"must be accessed (so twice as much I/O is done).  When a 4K guest block is "
"written, two host blocks must first be read, the old and new data combined, "
"and the two blocks written back (4x I/O)."
msgstr ""
"In this example, each time a 4K guest block is read, two blocks on the host "
"must be accessed (so twice as much I/O is done).  When a 4K guest block is "
"written, two host blocks must first be read, the old and new data combined, "
"and the two blocks written back (4x I/O)."

#. type: =head2
#: ../align/virt-alignment-scan.pod:268
msgid "LINUX HOST BLOCK AND I/O SIZE"
msgstr "LINUX HOST BLOCK AND I/O SIZE"

#. type: textblock
#: ../align/virt-alignment-scan.pod:270
msgid ""
"New versions of the Linux kernel expose the physical and logical block size, "
"and minimum and recommended I/O size."
msgstr ""
"New versions of the Linux kernel expose the physical and logical block size, "
"and minimum and recommended I/O size."

#. type: textblock
#: ../align/virt-alignment-scan.pod:273
msgid "For a typical consumer hard drive with 512 byte sectors:"
msgstr "For a typical consumer hard drive with 512 byte sectors:"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:275
#, no-wrap
msgid ""
" $ cat /sys/block/sda/queue/hw_sector_size\n"
" 512\n"
" $ cat /sys/block/sda/queue/physical_block_size\n"
" 512\n"
" $ cat /sys/block/sda/queue/logical_block_size\n"
" 512\n"
" $ cat /sys/block/sda/queue/minimum_io_size\n"
" 512\n"
" $ cat /sys/block/sda/queue/optimal_io_size\n"
" 0\n"
"\n"
msgstr ""
" $ cat /sys/block/sda/queue/hw_sector_size\n"
" 512\n"
" $ cat /sys/block/sda/queue/physical_block_size\n"
" 512\n"
" $ cat /sys/block/sda/queue/logical_block_size\n"
" 512\n"
" $ cat /sys/block/sda/queue/minimum_io_size\n"
" 512\n"
" $ cat /sys/block/sda/queue/optimal_io_size\n"
" 0\n"
"\n"

#. type: textblock
#: ../align/virt-alignment-scan.pod:286
msgid "For a new consumer hard drive with 4Kbyte sectors:"
msgstr "For a new consumer hard drive with 4Kbyte sectors:"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:288
#, no-wrap
msgid ""
" $ cat /sys/block/sda/queue/hw_sector_size\n"
" 4096\n"
" $ cat /sys/block/sda/queue/physical_block_size\n"
" 4096\n"
" $ cat /sys/block/sda/queue/logical_block_size\n"
" 4096\n"
" $ cat /sys/block/sda/queue/minimum_io_size\n"
" 4096\n"
" $ cat /sys/block/sda/queue/optimal_io_size\n"
" 0\n"
"\n"
msgstr ""
" $ cat /sys/block/sda/queue/hw_sector_size\n"
" 4096\n"
" $ cat /sys/block/sda/queue/physical_block_size\n"
" 4096\n"
" $ cat /sys/block/sda/queue/logical_block_size\n"
" 4096\n"
" $ cat /sys/block/sda/queue/minimum_io_size\n"
" 4096\n"
" $ cat /sys/block/sda/queue/optimal_io_size\n"
" 0\n"
"\n"

#. type: textblock
#: ../align/virt-alignment-scan.pod:299
msgid "For a NetApp LUN:"
msgstr "For a NetApp LUN:"

#. type: verbatim
#: ../align/virt-alignment-scan.pod:301
#, no-wrap
msgid ""
" $ cat /sys/block/sdc/queue/logical_block_size\n"
" 512\n"
" $ cat /sys/block/sdc/queue/physical_block_size\n"
" 512\n"
" $ cat /sys/block/sdc/queue/minimum_io_size\n"
" 4096\n"
" $ cat /sys/block/sdc/queue/optimal_io_size\n"
" 65536\n"
"\n"
msgstr ""
" $ cat /sys/block/sdc/queue/logical_block_size\n"
" 512\n"
" $ cat /sys/block/sdc/queue/physical_block_size\n"
" 512\n"
" $ cat /sys/block/sdc/queue/minimum_io_size\n"
" 4096\n"
" $ cat /sys/block/sdc/queue/optimal_io_size\n"
" 65536\n"
"\n"

#. type: textblock
#: ../align/virt-alignment-scan.pod:310
msgid ""
"The NetApp allows 512 byte accesses (but they will be very inefficient), "
"prefers a minimum 4K I/O size, but the optimal I/O size is 64K."
msgstr ""
"The NetApp allows 512 byte accesses (but they will be very inefficient), "
"prefers a minimum 4K I/O size, but the optimal I/O size is 64K."

#. type: textblock
#: ../align/virt-alignment-scan.pod:314
msgid ""
"For detailed information about what these numbers mean, see L<http://docs."
"redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/"
"Storage_Administration_Guide/newstorage-iolimits.html>"
msgstr ""
"For detailed information about what these numbers mean, see L<http://docs."
"redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/"
"Storage_Administration_Guide/newstorage-iolimits.html>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:317
msgid ""
"[Thanks to Matt Booth for providing 4K drive data.  Thanks to Mike Snitzer "
"for providing NetApp data and additional information.]"
msgstr ""
"[Thanks to Matt Booth for providing 4K drive data.  Thanks to Mike Snitzer "
"for providing NetApp data and additional information.]"

#. type: =head2
#: ../align/virt-alignment-scan.pod:320
msgid "1 MB PARTITION ALIGNMENT"
msgstr "1 MB PARTITION ALIGNMENT"

#. type: textblock
#: ../align/virt-alignment-scan.pod:322
msgid ""
"Microsoft picked 1 MB as the default alignment for all partitions starting "
"with Windows 2008 Server, and Linux has followed this."
msgstr ""
"Microsoft picked 1 MB as the default alignment for all partitions starting "
"with Windows 2008 Server, and Linux has followed this."

#. type: textblock
#: ../align/virt-alignment-scan.pod:325
msgid ""
"Assuming 512 byte sectors in the guest, you will now see the first partition "
"starting at sector 2048, and subsequent partitions (if any)  will start at a "
"multiple of 2048 sectors."
msgstr ""
"Assuming 512 byte sectors in the guest, you will now see the first partition "
"starting at sector 2048, and subsequent partitions (if any)  will start at a "
"multiple of 2048 sectors."

#. type: textblock
#: ../align/virt-alignment-scan.pod:329
msgid ""
"1 MB alignment is compatible with all current alignment requirements (4K, "
"64K) and provides room for future growth in physical block sizes."
msgstr ""
"1 MB alignment is compatible with all current alignment requirements (4K, "
"64K) and provides room for future growth in physical block sizes."

#. type: =head2
#: ../align/virt-alignment-scan.pod:332
msgid "SETTING ALIGNMENT"
msgstr "SETTING ALIGNMENT"

#. type: textblock
#: ../align/virt-alignment-scan.pod:334
msgid ""
"L<virt-resize(1)> can change the alignment of the partitions of some "
"guests.  Currently it can fully align all the partitions of all Windows "
"guests, and it will fix the bootloader where necessary.  For Linux guests, "
"it can align the second and subsequent partitions, so the majority of OS "
"accesses except at boot will be aligned."
msgstr ""
"L<virt-resize(1)> can change the alignment of the partitions of some "
"guests.  Currently it can fully align all the partitions of all Windows "
"guests, and it will fix the bootloader where necessary.  For Linux guests, "
"it can align the second and subsequent partitions, so the majority of OS "
"accesses except at boot will be aligned."

#. type: textblock
#: ../align/virt-alignment-scan.pod:340
msgid ""
"Another way to correct partition alignment problems is to reinstall your "
"guest operating systems.  If you install operating systems from templates, "
"ensure these have correct partition alignment too."
msgstr ""
"Another way to correct partition alignment problems is to reinstall your "
"guest operating systems.  If you install operating systems from templates, "
"ensure these have correct partition alignment too."

#. type: textblock
#: ../align/virt-alignment-scan.pod:344
msgid ""
"For older versions of Windows, the following NetApp document contains useful "
"information: L<http://media.netapp.com/documents/tr-3747.pdf>"
msgstr ""
"For older versions of Windows, the following NetApp document contains useful "
"information: L<http://media.netapp.com/documents/tr-3747.pdf>"

#. type: textblock
#: ../align/virt-alignment-scan.pod:347
msgid ""
"For Red Hat Enterprise Linux E<le> 5, use a Kickstart script that contains "
"an explicit C<%pre> section that creates aligned partitions using "
"L<parted(8)>.  Do not use the Kickstart C<part> command.  The NetApp "
"document above contains an example."
msgstr ""
"For Red Hat Enterprise Linux E<le> 5, use a Kickstart script that contains "
"an explicit C<%pre> section that creates aligned partitions using "
"L<parted(8)>.  Do not use the Kickstart C<part> command.  The NetApp "
"document above contains an example."

#. type: =head1
#: ../align/virt-alignment-scan.pod:352
#: ../appliance/libguestfs-make-fixed-appliance.pod:130
#: ../builder/virt-builder-repository.pod:196 ../builder/virt-builder.pod:1876
#: ../builder/virt-index-validate.pod:74 ../cat/virt-cat.pod:274
#: ../cat/virt-filesystems.pod:383 ../cat/virt-log.pod:135
#: ../cat/virt-ls.pod:517 ../cat/virt-tail.pod:235
#: ../customize/virt-customize.pod:248 ../daemon/guestfsd.pod:99
#: ../df/virt-df.pod:253 ../dib/virt-dib.pod:703 ../diff/virt-diff.pod:247
#: ../edit/virt-edit.pod:382 ../fish/guestfish.pod:1399
#: ../format/virt-format.pod:183 ../fuse/guestmount.pod:425
#: ../fuse/guestunmount.pod:124 ../get-kernel/virt-get-kernel.pod:193
#: ../inspector/virt-inspector.pod:489 ../resize/virt-resize.pod:837
#: ../sparsify/virt-sparsify.pod:448 ../sysprep/virt-sysprep.pod:561
#: ../test-tool/libguestfs-test-tool.pod:168
msgid "EXIT STATUS"
msgstr "EXIT STATUS"

#. type: textblock
#: ../align/virt-alignment-scan.pod:354
msgid "This program returns:"
msgstr "This program returns:"

#. type: =item
#: ../align/virt-alignment-scan.pod:358 ../align/virt-alignment-scan.pod:364
#: ../align/virt-alignment-scan.pod:370 ../align/virt-alignment-scan.pod:377
#: ../appliance/libguestfs-make-fixed-appliance.pod:22
#: ../appliance/libguestfs-make-fixed-appliance.pod:28
#: ../appliance/libguestfs-make-fixed-appliance.pod:34
#: ../appliance/libguestfs-make-fixed-appliance.pod:52
#: ../appliance/libguestfs-make-fixed-appliance.pod:73
#: ../builder/virt-builder.pod:934 ../builder/virt-builder.pod:941
#: ../builder/virt-builder.pod:945 ../builder/virt-builder.pod:949
#: ../builder/virt-builder.pod:954 ../builder/virt-builder.pod:958
#: ../builder/virt-builder.pod:962 ../builder/virt-builder.pod:967
#: ../builder/virt-builder.pod:1142 ../builder/virt-builder.pod:1147
#: ../builder/virt-builder.pod:1720 ../builder/virt-builder.pod:1724
#: ../builder/virt-builder.pod:1728 ../builder/virt-index-validate.pod:32
#: ../builder/virt-index-validate.pod:37 ../builder/virt-index-validate.pod:51
#: ../builder/virt-index-validate.pod:56 ../cat/virt-cat.pod:220
#: ../cat/virt-cat.pod:225 ../cat/virt-cat.pod:230 ../cat/virt-cat.pod:241
#: ../cat/virt-cat.pod:245 ../cat/virt-tail.pod:25 ../cat/virt-tail.pod:29
#: ../cat/virt-tail.pod:34 ../cat/virt-tail.pod:204 ../cat/virt-tail.pod:209
#: ../cat/virt-tail.pod:214 ../cat/virt-tail.pod:225 ../cat/virt-tail.pod:229
#: ../common/mlcustomize/customize-options.pod:290
#: ../common/mlcustomize/customize-options.pod:294
#: ../docs/guestfs-building.pod:13 ../docs/guestfs-building.pod:17
#: ../docs/guestfs-building.pod:21 ../docs/guestfs-building.pod:25
#: ../docs/guestfs-building.pod:766 ../docs/guestfs-building.pod:771
#: ../docs/guestfs-faq.pod:188 ../docs/guestfs-faq.pod:194
#: ../docs/guestfs-faq.pod:198 ../docs/guestfs-faq.pod:203
#: ../docs/guestfs-faq.pod:761 ../docs/guestfs-faq.pod:767
#: ../docs/guestfs-faq.pod:806 ../docs/guestfs-faq.pod:812
#: ../docs/guestfs-faq.pod:1374 ../docs/guestfs-faq.pod:1385
#: ../docs/guestfs-faq.pod:1390 ../docs/guestfs-hacking.pod:699
#: ../docs/guestfs-hacking.pod:704 ../docs/guestfs-hacking.pod:711
#: ../docs/guestfs-hacking.pod:716 ../docs/guestfs-hacking.pod:735
#: ../docs/guestfs-hacking.pod:740 ../docs/guestfs-hacking.pod:746
#: ../docs/guestfs-hacking.pod:751 ../docs/guestfs-hacking.pod:771
#: ../docs/guestfs-hacking.pod:775 ../docs/guestfs-hacking.pod:779
#: ../docs/guestfs-hacking.pod:783 ../docs/guestfs-hacking.pod:787
#: ../docs/guestfs-hacking.pod:931 ../docs/guestfs-hacking.pod:935
#: ../docs/guestfs-hacking.pod:942 ../docs/guestfs-hacking.pod:1002
#: ../docs/guestfs-hacking.pod:1022 ../docs/guestfs-hacking.pod:1026
#: ../docs/guestfs-hacking.pod:1030 ../docs/guestfs-hacking.pod:1044
#: ../docs/guestfs-hacking.pod:1048 ../docs/guestfs-hacking.pod:1053
#: ../docs/guestfs-hacking.pod:1057 ../docs/guestfs-hacking.pod:1069
#: ../docs/guestfs-hacking.pod:1076 ../docs/guestfs-hacking.pod:1080
#: ../docs/guestfs-performance.pod:111 ../docs/guestfs-performance.pod:117
#: ../docs/guestfs-performance.pod:122 ../docs/guestfs-performance.pod:249
#: ../docs/guestfs-performance.pod:254 ../docs/guestfs-performance.pod:259
#: ../docs/guestfs-performance.pod:379 ../docs/guestfs-performance.pod:383
#: ../docs/guestfs-performance.pod:389 ../docs/guestfs-performance.pod:395
#: ../docs/guestfs-recipes.pod:280 ../docs/guestfs-recipes.pod:284
#: ../docs/guestfs-recipes.pod:288 ../docs/guestfs-recipes.pod:314
#: ../docs/guestfs-recipes.pod:319 ../docs/guestfs-recipes.pod:426
#: ../docs/guestfs-recipes.pod:430 ../docs/guestfs-recipes.pod:434
#: ../docs/guestfs-recipes.pod:438 ../docs/guestfs-recipes.pod:442
#: ../docs/guestfs-release-notes-1.20.pod:20
#: ../docs/guestfs-release-notes-1.20.pod:24
#: ../docs/guestfs-release-notes-1.20.pod:28
#: ../docs/guestfs-release-notes-1.20.pod:90
#: ../docs/guestfs-release-notes-1.20.pod:94
#: ../docs/guestfs-release-notes-1.20.pod:98
#: ../docs/guestfs-release-notes-1.20.pod:102
#: ../docs/guestfs-release-notes-1.20.pod:106
#: ../docs/guestfs-release-notes-1.20.pod:110
#: ../docs/guestfs-release-notes-1.20.pod:115
#: ../docs/guestfs-release-notes-1.20.pod:119
#: ../docs/guestfs-release-notes-1.20.pod:123
#: ../docs/guestfs-release-notes-1.20.pod:127
#: ../docs/guestfs-release-notes-1.20.pod:323
#: ../docs/guestfs-release-notes-1.20.pod:328
#: ../docs/guestfs-release-notes-1.20.pod:333
#: ../docs/guestfs-release-notes-1.22.pod:19
#: ../docs/guestfs-release-notes-1.22.pod:23
#: ../docs/guestfs-release-notes-1.22.pod:27
#: ../docs/guestfs-release-notes-1.22.pod:31
#: ../docs/guestfs-release-notes-1.22.pod:35
#: ../docs/guestfs-release-notes-1.22.pod:39
#: ../docs/guestfs-release-notes-1.22.pod:43
#: ../docs/guestfs-release-notes-1.22.pod:48
#: ../docs/guestfs-release-notes-1.22.pod:52
#: ../docs/guestfs-release-notes-1.26.pod:227
#: ../docs/guestfs-release-notes-1.26.pod:232
#: ../docs/guestfs-release-notes-1.32.pod:129
#: ../docs/guestfs-release-notes-1.32.pod:134
#: ../docs/guestfs-release-notes-1.42.pod:13
#: ../docs/guestfs-release-notes-1.42.pod:17
#: ../docs/guestfs-release-notes-1.42.pod:21 ../docs/guestfs-security.pod:81
#: ../docs/guestfs-security.pod:85 ../docs/guestfs-security.pod:89
#: ../docs/guestfs-security.pod:93 ../docs/guestfs-security.pod:97
#: ../docs/guestfs-security.pod:101 ../docs/guestfs-security.pod:311
#: ../docs/guestfs-security.pod:316 ../docs/guestfs-testing.pod:62
#: ../docs/guestfs-testing.pod:69 ../docs/guestfs-testing.pod:80
#: ../docs/guestfs-testing.pod:86 ../docs/guestfs-testing.pod:194
#: ../docs/guestfs-testing.pod:198 ../docs/guestfs-testing.pod:202
#: ../docs/internal-documentation.pod:41 ../docs/internal-documentation.pod:46
#: ../docs/internal-documentation.pod:1432
#: ../docs/internal-documentation.pod:1436
#: ../docs/internal-documentation.pod:1653
#: ../docs/internal-documentation.pod:1657
#: ../docs/internal-documentation.pod:2584
#: ../docs/internal-documentation.pod:2592
#: ../docs/internal-documentation.pod:2598
#: ../docs/internal-documentation.pod:2605
#: ../docs/internal-documentation.pod:2863
#: ../docs/internal-documentation.pod:2870
#: ../docs/internal-documentation.pod:2874
#: ../docs/internal-documentation.pod:2903
#: ../docs/internal-documentation.pod:2910
#: ../docs/internal-documentation.pod:2914
#: ../docs/internal-documentation.pod:2945
#: ../docs/internal-documentation.pod:2950
#: ../docs/internal-documentation.pod:2957
#: ../docs/internal-documentation.pod:3137
#: ../docs/internal-documentation.pod:3142
#: ../docs/internal-documentation.pod:3258
#: ../docs/internal-documentation.pod:3262
#: ../docs/internal-documentation.pod:3481
#: ../docs/internal-documentation.pod:3485
#: ../docs/internal-documentation.pod:3489
#: ../docs/internal-documentation.pod:3494
#: ../docs/internal-documentation.pod:4121
#: ../docs/internal-documentation.pod:4126 ../edit/virt-edit.pod:306
#: ../edit/virt-edit.pod:311 ../edit/virt-edit.pod:316
#: ../edit/virt-edit.pod:327 ../edit/virt-edit.pod:331
#: ../fish/guestfish-actions.pod:786 ../fish/guestfish-actions.pod:792
#: ../fish/guestfish-actions.pod:800 ../fish/guestfish-actions.pod:807
#: ../fish/guestfish-actions.pod:814 ../fish/guestfish-actions.pod:2542
#: ../fish/guestfish-actions.pod:2546 ../fish/guestfish-actions.pod:2550
#: ../fish/guestfish-actions.pod:2554 ../fish/guestfish-actions.pod:2562
#: ../fish/guestfish-actions.pod:2566 ../fish/guestfish-actions.pod:2570
#: ../fish/guestfish-actions.pod:2580 ../fish/guestfish-actions.pod:2584
#: ../fish/guestfish-actions.pod:2588 ../fish/guestfish-actions.pod:2850
#: ../fish/guestfish-actions.pod:2854 ../fish/guestfish-actions.pod:2859
#: ../fish/guestfish-actions.pod:2913 ../fish/guestfish-actions.pod:2917
#: ../fish/guestfish-actions.pod:2922 ../fish/guestfish-actions.pod:3546
#: ../fish/guestfish-actions.pod:3553 ../fish/guestfish-actions.pod:3560
#: ../fish/guestfish-actions.pod:4296 ../fish/guestfish-actions.pod:4302
#: ../fish/guestfish-actions.pod:4310 ../fish/guestfish-actions.pod:4317
#: ../fish/guestfish-actions.pod:4324 ../fish/guestfish.pod:480
#: ../fish/guestfish.pod:484 ../fish/guestfish.pod:488
#: ../fish/guestfish.pod:492 ../fish/guestfish.pod:1346
#: ../fish/guestfish.pod:1352 ../fish/libguestfs-tools.conf.pod:22
#: ../fish/libguestfs-tools.conf.pod:26 ../fish/libguestfs-tools.conf.pod:30
#: ../fish/libguestfs-tools.conf.pod:60 ../fish/libguestfs-tools.conf.pod:65
#: ../fish/libguestfs-tools.conf.pod:69 ../fish/libguestfs-tools.conf.pod:75
#: ../golang/examples/guestfs-golang.pod:58
#: ../golang/examples/guestfs-golang.pod:62 ../inspector/virt-inspector.pod:507
#: ../inspector/virt-inspector.pod:511 ../lib/guestfs-actions.pod:1194
#: ../lib/guestfs-actions.pod:1200 ../lib/guestfs-actions.pod:1208
#: ../lib/guestfs-actions.pod:1215 ../lib/guestfs-actions.pod:1222
#: ../lib/guestfs-actions.pod:4362 ../lib/guestfs-actions.pod:4366
#: ../lib/guestfs-actions.pod:4370 ../lib/guestfs-actions.pod:4374
#: ../lib/guestfs-actions.pod:4382 ../lib/guestfs-actions.pod:4386
#: ../lib/guestfs-actions.pod:4390 ../lib/guestfs-actions.pod:4400
#: ../lib/guestfs-actions.pod:4404 ../lib/guestfs-actions.pod:4408
#: ../lib/guestfs-actions.pod:4744 ../lib/guestfs-actions.pod:4748
#: ../lib/guestfs-actions.pod:4753 ../lib/guestfs-actions.pod:4840
#: ../lib/guestfs-actions.pod:4844 ../lib/guestfs-actions.pod:4849
#: ../lib/guestfs-actions.pod:5858 ../lib/guestfs-actions.pod:5865
#: ../lib/guestfs-actions.pod:5872 ../lib/guestfs-actions.pod:6905
#: ../lib/guestfs-actions.pod:6911 ../lib/guestfs-actions.pod:6919
#: ../lib/guestfs-actions.pod:6926 ../lib/guestfs-actions.pod:6933
#: ../lib/guestfs.pod:436 ../lib/guestfs.pod:441 ../lib/guestfs.pod:446
#: ../lib/guestfs.pod:450 ../lib/guestfs.pod:455 ../lib/guestfs.pod:459
#: ../lib/guestfs.pod:464 ../lib/guestfs.pod:469 ../lib/guestfs.pod:799
#: ../lib/guestfs.pod:806 ../lib/guestfs.pod:812 ../lib/guestfs.pod:818
#: ../lib/guestfs.pod:824 ../lib/guestfs.pod:829 ../lib/guestfs.pod:835
#: ../lib/guestfs.pod:1054 ../lib/guestfs.pod:1058 ../lib/guestfs.pod:1064
#: ../lib/guestfs.pod:1149 ../lib/guestfs.pod:1154 ../lib/guestfs.pod:1158
#: ../lib/guestfs.pod:1164 ../lib/guestfs.pod:1168 ../lib/guestfs.pod:1172
#: ../lib/guestfs.pod:1177 ../lib/guestfs.pod:1738 ../lib/guestfs.pod:1743
#: ../lib/guestfs.pod:1747 ../lib/guestfs.pod:2382 ../lib/guestfs.pod:2387
#: ../lib/guestfs.pod:2391 ../lib/guestfs.pod:2495 ../lib/guestfs.pod:2500
#: ../lib/guestfs.pod:2504 ../lib/guestfs.pod:2514 ../lib/guestfs.pod:2945
#: ../lib/guestfs.pod:2950 ../lib/guestfs.pod:2956 ../lib/guestfs.pod:2964
#: ../lib/guestfs.pod:3121 ../lib/guestfs.pod:3127 ../lib/guestfs.pod:3132
#: ../lib/guestfs.pod:3138 ../resize/virt-resize.pod:376
#: ../resize/virt-resize.pod:380 ../resize/virt-resize.pod:389
#: ../resize/virt-resize.pod:395 ../resize/virt-resize.pod:399
#: ../resize/virt-resize.pod:403 ../resize/virt-resize.pod:411
#: ../sparsify/virt-sparsify.pod:46 ../sparsify/virt-sparsify.pod:50
#: ../sparsify/virt-sparsify.pod:59 ../sparsify/virt-sparsify.pod:64
#: ../sparsify/virt-sparsify.pod:69 ../sparsify/virt-sparsify.pod:75
#: ../sparsify/virt-sparsify.pod:137 ../sparsify/virt-sparsify.pod:141
#: ../sparsify/virt-sparsify.pod:145 ../sparsify/virt-sparsify.pod:150
#: ../sparsify/virt-sparsify.pod:292 ../sparsify/virt-sparsify.pod:297
#: ../sparsify/virt-sparsify.pod:302 ../sysprep/sysprep-extra-options.pod:334
#: ../sysprep/sysprep-extra-options.pod:338 ../sysprep/virt-sysprep.pod:324
#: ../sysprep/virt-sysprep.pod:328 ../sysprep/virt-sysprep.pod:332
#: ../sysprep/virt-sysprep.pod:336 ../sysprep/virt-sysprep.pod:351
#: ../sysprep/virt-sysprep.pod:355 ../sysprep/virt-sysprep.pod:359
#: ../sysprep/virt-sysprep.pod:363 ../sysprep/virt-sysprep.pod:367
#: ../sysprep/virt-sysprep.pod:420 ../sysprep/virt-sysprep.pod:432
#: ../sysprep/virt-sysprep.pod:436 ../sysprep/virt-sysprep.pod:444
#: ../sysprep/virt-sysprep.pod:450 ../tools/virt-win-reg:194
#: ../tools/virt-win-reg:199 ../tools/virt-win-reg:205
#: ../tools/virt-win-reg:773 ../tools/virt-win-reg:779
#: ../tools/virt-win-reg:785
msgid "*"
msgstr "*"

#. type: textblock
#: ../align/virt-alignment-scan.pod:360
msgid "0"
msgstr "0"

#. type: textblock
#: ../align/virt-alignment-scan.pod:362
msgid ""
"successful exit, all partitions are aligned E<ge> 64K for best performance"
msgstr ""
"successful exit, all partitions are aligned E<ge> 64K for best performance"

#. type: =item
#: ../align/virt-alignment-scan.pod:366 ../lib/guestfs.pod:1985
msgid "1"
msgstr "1"

#. type: textblock
#: ../align/virt-alignment-scan.pod:368
msgid "an error scanning the disk image or guest"
msgstr "an error scanning the disk image or guest"

#. type: =item
#: ../align/virt-alignment-scan.pod:372 ../lib/guestfs.pod:1989
msgid "2"
msgstr "2"

#. type: textblock
#: ../align/virt-alignment-scan.pod:374
msgid ""
"successful exit, some partitions have alignment E<lt> 64K which can result "
"in poor performance on high end network storage"
msgstr ""
"successful exit, some partitions have alignment E<lt> 64K which can result "
"in poor performance on high end network storage"

#. type: =item
#: ../align/virt-alignment-scan.pod:379 ../lib/guestfs.pod:1993
msgid "3"
msgstr "3"

#. type: textblock
#: ../align/virt-alignment-scan.pod:381
msgid ""
"successful exit, some partitions have alignment E<lt> 4K which can result in "
"poor performance on most hypervisors"
msgstr ""
"successful exit, some partitions have alignment E<lt> 4K which can result in "
"poor performance on most hypervisors"

#. type: =head1
#: ../align/virt-alignment-scan.pod:386
#: ../appliance/libguestfs-make-fixed-appliance.pod:140
#: ../builder/virt-builder-repository.pod:201 ../builder/virt-builder.pod:1881
#: ../builder/virt-index-validate.pod:79 ../cat/virt-cat.pod:279
#: ../cat/virt-filesystems.pod:388 ../cat/virt-log.pod:140
#: ../cat/virt-ls.pod:522 ../cat/virt-tail.pod:240
#: ../customize/virt-customize.pod:288 ../daemon/guestfsd.pod:143
#: ../df/virt-df.pod:258 ../dib/virt-dib.pod:708 ../diff/virt-diff.pod:252
#: ../docs/guestfs-building.pod:787 ../docs/guestfs-faq.pod:1404
#: ../docs/guestfs-hacking.pod:1100 ../docs/guestfs-internals.pod:400
#: ../docs/guestfs-performance.pod:603 ../docs/guestfs-recipes.pod:719
#: ../docs/guestfs-release-notes-1.10.pod:145
#: ../docs/guestfs-release-notes-1.12.pod:136
#: ../docs/guestfs-release-notes-1.14.pod:172
#: ../docs/guestfs-release-notes-1.16.pod:143
#: ../docs/guestfs-release-notes-1.18.pod:241
#: ../docs/guestfs-release-notes-1.20.pod:595
#: ../docs/guestfs-release-notes-1.22.pod:360
#: ../docs/guestfs-release-notes-1.24.pod:315
#: ../docs/guestfs-release-notes-1.26.pod:375
#: ../docs/guestfs-release-notes-1.28.pod:498
#: ../docs/guestfs-release-notes-1.30.pod:826
#: ../docs/guestfs-release-notes-1.32.pod:490
#: ../docs/guestfs-release-notes-1.34.pod:715
#: ../docs/guestfs-release-notes-1.36.pod:544
#: ../docs/guestfs-release-notes-1.38.pod:598
#: ../docs/guestfs-release-notes-1.4.pod:199
#: ../docs/guestfs-release-notes-1.40.pod:389
#: ../docs/guestfs-release-notes-1.42.pod:272
#: ../docs/guestfs-release-notes-1.6.pod:170
#: ../docs/guestfs-release-notes-1.8.pod:145
#: ../docs/guestfs-release-notes-historical.pod:35
#: ../docs/guestfs-security.pod:409 ../docs/guestfs-testing.pod:395
#: ../edit/virt-edit.pod:387 ../erlang/examples/guestfs-erlang.pod:95
#: ../examples/guestfs-examples.pod:55 ../fish/guestfish.pod:1625
#: ../fish/libguestfs-tools.conf.pod:88 ../fish/virt-copy-in.pod:42
#: ../fish/virt-copy-out.pod:37 ../fish/virt-tar-in.pod:39
#: ../fish/virt-tar-out.pod:39 ../format/virt-format.pod:187
#: ../fuse/guestmount.pod:430 ../fuse/guestunmount.pod:147
#: ../get-kernel/virt-get-kernel.pod:198 ../gobject/guestfs-gobject.pod:44
#: ../golang/examples/guestfs-golang.pod:76 ../inspector/virt-inspector.pod:494
#: ../java/examples/guestfs-java.pod:159 ../lib/guestfs.pod:3443
#: ../lua/examples/guestfs-lua.pod:136 ../make-fs/virt-make-fs.pod:225
#: ../ocaml/examples/guestfs-ocaml.pod:80 ../perl/examples/guestfs-perl.pod:38
#: ../python/examples/guestfs-python.pod:63 ../rescue/virt-rescue.pod:496
#: ../resize/virt-resize.pod:842 ../ruby/examples/guestfs-ruby.pod:34
#: ../sparsify/virt-sparsify.pod:459 ../sysprep/virt-sysprep.pod:601
#: ../test-tool/libguestfs-test-tool.pod:178 ../tools/virt-list-filesystems:181
#: ../tools/virt-list-partitions:263 ../tools/virt-tar:292
#: ../tools/virt-win-reg:804
msgid "SEE ALSO"
msgstr "SEE ALSO"

#. type: textblock
#: ../align/virt-alignment-scan.pod:388
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<virt-rescue(1)>, "
"L<virt-resize(1)>, L<http://libguestfs.org/>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<virt-rescue(1)>, "
"L<virt-resize(1)>, L<http://libguestfs.org/>."

#. type: =head1
#: ../align/virt-alignment-scan.pod:395
#: ../builder/virt-builder-repository.pod:206 ../builder/virt-builder.pod:1902
#: ../builder/virt-index-validate.pod:84 ../cat/virt-cat.pod:290
#: ../cat/virt-filesystems.pod:399 ../cat/virt-log.pod:151
#: ../cat/virt-ls.pod:532 ../cat/virt-tail.pod:251 ../daemon/guestfsd.pod:148
#: ../df/virt-df.pod:266 ../dib/virt-dib.pod:715 ../diff/virt-diff.pod:262
#: ../docs/guestfs-release-notes-1.10.pod:156
#: ../docs/guestfs-release-notes-1.12.pod:147
#: ../docs/guestfs-release-notes-1.14.pod:183
#: ../docs/guestfs-release-notes-1.16.pod:154
#: ../docs/guestfs-release-notes-1.18.pod:252
#: ../docs/guestfs-release-notes-1.20.pod:606
#: ../docs/guestfs-release-notes-1.22.pod:371
#: ../docs/guestfs-release-notes-1.24.pod:326
#: ../docs/guestfs-release-notes-1.26.pod:386
#: ../docs/guestfs-release-notes-1.28.pod:509
#: ../docs/guestfs-release-notes-1.30.pod:837
#: ../docs/guestfs-release-notes-1.32.pod:501
#: ../docs/guestfs-release-notes-1.34.pod:726
#: ../docs/guestfs-release-notes-1.36.pod:555
#: ../docs/guestfs-release-notes-1.38.pod:609
#: ../docs/guestfs-release-notes-1.4.pod:210
#: ../docs/guestfs-release-notes-1.40.pod:400
#: ../docs/guestfs-release-notes-1.6.pod:181
#: ../docs/guestfs-release-notes-1.8.pod:156
#: ../docs/guestfs-release-notes-historical.pod:46 ../edit/virt-edit.pod:398
#: ../format/virt-format.pod:197 ../get-kernel/virt-get-kernel.pod:206
#: ../make-fs/virt-make-fs.pod:239 ../rescue/virt-rescue.pod:506
#: ../resize/virt-resize.pod:867 ../sparsify/virt-sparsify.pod:472
#: ../tools/virt-list-filesystems:193 ../tools/virt-list-partitions:274
#: ../tools/virt-tar:306 ../tools/virt-win-reg:819
msgid "AUTHOR"
msgstr "AUTHOR"

#. type: textblock
#: ../align/virt-alignment-scan.pod:397 ../builder/virt-builder.pod:1904
#: ../builder/virt-index-validate.pod:86 ../cat/virt-cat.pod:292
#: ../cat/virt-filesystems.pod:401 ../cat/virt-log.pod:153
#: ../cat/virt-ls.pod:534 ../cat/virt-tail.pod:253
#: ../customize/virt-customize.pod:307 ../daemon/guestfsd.pod:150
#: ../df/virt-df.pod:268 ../diff/virt-diff.pod:264 ../edit/virt-edit.pod:400
#: ../format/virt-format.pod:199 ../get-kernel/virt-get-kernel.pod:208
#: ../inspector/virt-inspector.pod:509 ../make-fs/virt-make-fs.pod:241
#: ../rescue/virt-rescue.pod:508 ../resize/virt-resize.pod:869
#: ../sparsify/virt-sparsify.pod:474 ../sysprep/virt-sysprep.pod:620
#: ../tools/virt-list-filesystems:195 ../tools/virt-list-partitions:276
#: ../tools/virt-tar:308 ../tools/virt-win-reg:821
msgid "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"
msgstr "Richard W.M. Jones L<http://people.redhat.com/~rjones/>"

#. type: =head1
#: ../align/virt-alignment-scan.pod:399
#: ../appliance/libguestfs-make-fixed-appliance.pod:152
#: ../builder/virt-builder-repository.pod:210 ../builder/virt-builder.pod:1906
#: ../builder/virt-index-validate.pod:88 ../cat/virt-cat.pod:294
#: ../cat/virt-filesystems.pod:403 ../cat/virt-log.pod:155
#: ../cat/virt-ls.pod:536 ../cat/virt-tail.pod:255
#: ../customize/virt-customize.pod:309 ../daemon/guestfsd.pod:152
#: ../df/virt-df.pod:270 ../dib/virt-dib.pod:719 ../diff/virt-diff.pod:266
#: ../docs/guestfs-building.pod:804 ../docs/guestfs-faq.pod:1414
#: ../docs/guestfs-hacking.pod:1117 ../docs/guestfs-internals.pod:413
#: ../docs/guestfs-performance.pod:620 ../docs/guestfs-recipes.pod:739
#: ../docs/guestfs-release-notes-1.10.pod:160
#: ../docs/guestfs-release-notes-1.12.pod:151
#: ../docs/guestfs-release-notes-1.14.pod:187
#: ../docs/guestfs-release-notes-1.16.pod:158
#: ../docs/guestfs-release-notes-1.18.pod:256
#: ../docs/guestfs-release-notes-1.20.pod:610
#: ../docs/guestfs-release-notes-1.22.pod:375
#: ../docs/guestfs-release-notes-1.24.pod:330
#: ../docs/guestfs-release-notes-1.26.pod:390
#: ../docs/guestfs-release-notes-1.28.pod:513
#: ../docs/guestfs-release-notes-1.30.pod:841
#: ../docs/guestfs-release-notes-1.32.pod:505
#: ../docs/guestfs-release-notes-1.34.pod:730
#: ../docs/guestfs-release-notes-1.36.pod:559
#: ../docs/guestfs-release-notes-1.38.pod:613
#: ../docs/guestfs-release-notes-1.4.pod:214
#: ../docs/guestfs-release-notes-1.40.pod:404
#: ../docs/guestfs-release-notes-1.42.pod:307
#: ../docs/guestfs-release-notes-1.6.pod:185
#: ../docs/guestfs-release-notes-1.8.pod:160
#: ../docs/guestfs-release-notes-historical.pod:50
#: ../docs/guestfs-security.pod:421 ../docs/guestfs-testing.pod:406
#: ../edit/virt-edit.pod:402 ../erlang/examples/guestfs-erlang.pod:115
#: ../examples/guestfs-examples.pod:73 ../fish/guestfish.pod:1666
#: ../fish/libguestfs-tools.conf.pod:100 ../fish/virt-copy-in.pod:56
#: ../fish/virt-copy-out.pod:51 ../fish/virt-tar-in.pod:54
#: ../fish/virt-tar-out.pod:53 ../format/virt-format.pod:201
#: ../fuse/guestmount.pod:448 ../fuse/guestunmount.pod:160
#: ../get-kernel/virt-get-kernel.pod:210 ../gobject/guestfs-gobject.pod:62
#: ../golang/examples/guestfs-golang.pod:96 ../inspector/virt-inspector.pod:517
#: ../java/examples/guestfs-java.pod:179 ../lib/guestfs.pod:3525
#: ../lua/examples/guestfs-lua.pod:156 ../make-fs/virt-make-fs.pod:243
#: ../ocaml/examples/guestfs-ocaml.pod:100 ../perl/examples/guestfs-perl.pod:58
#: ../python/examples/guestfs-python.pod:82 ../rescue/virt-rescue.pod:510
#: ../resize/virt-resize.pod:871 ../ruby/examples/guestfs-ruby.pod:53
#: ../sparsify/virt-sparsify.pod:476 ../sysprep/virt-sysprep.pod:624
#: ../test-tool/libguestfs-test-tool.pod:188 ../tools/virt-list-filesystems:197
#: ../tools/virt-list-partitions:278 ../tools/virt-tar:310
#: ../tools/virt-win-reg:823
msgid "COPYRIGHT"
msgstr "COPYRIGHT"

#. type: textblock
#: ../align/virt-alignment-scan.pod:401
msgid "Copyright (C) 2011 Red Hat Inc."
msgstr "Copyright (C) 2011 Red Hat Inc."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:3
msgid ""
"libguestfs-make-fixed-appliance - Make a \"fixed appliance\" for libguestfs"
msgstr ""
"libguestfs-make-fixed-appliance - Make a \"fixed appliance\" for libguestfs"

#. type: verbatim
#: ../appliance/libguestfs-make-fixed-appliance.pod:7
#, no-wrap
msgid ""
" libguestfs-make-fixed-appliance [--options] OUTPUTDIR\n"
"\n"
msgstr ""
" libguestfs-make-fixed-appliance [--options] OUTPUTDIR\n"
"\n"

#. type: verbatim
#: ../appliance/libguestfs-make-fixed-appliance.pod:9
#, no-wrap
msgid ""
" libguestfs-make-fixed-appliance [--options] --xz\n"
"\n"
msgstr ""
" libguestfs-make-fixed-appliance [--options] --xz\n"
"\n"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:13
msgid ""
"libguestfs-make-fixed-appliance lets you make a pre-built binary appliance "
"for libguestfs."
msgstr ""
"libguestfs-make-fixed-appliance lets you make a pre-built binary appliance "
"for libguestfs."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:16
msgid "B<Note that ordinary users should not need to run this tool>."
msgstr "B<Note that ordinary users should not need to run this tool>."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:18
msgid "Some reasons why you I<might> want to use this include:"
msgstr "Some reasons why you I<might> want to use this include:"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:24
msgid ""
"You want to make a self-contained libguestfs appliance that can be copied to "
"another machine or platform that doesn't support L<supermin(1)>."
msgstr ""

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:30
msgid ""
"You have multiple users on the same machine and want to avoid the storage "
"duplication and start-up overhead of having multiple cached copies of the "
"appliance."
msgstr ""
"You have multiple users on the same machine and want to avoid the storage "
"duplication and start-up overhead of having multiple cached copies of the "
"appliance."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:36
msgid ""
"You want to have very predictable performance from libguestfs (see L<guestfs-"
"performance(1)>)."
msgstr ""
"You want to have very predictable performance from libguestfs (see L<guestfs-"
"performance(1)>)."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:41
msgid ""
"For deeper understanding of why you might need this tool, read L<guestfs-"
"internals(1)/FIXED APPLIANCE>."
msgstr ""

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:44
msgid ""
"Instead of running this tool, you can download fixed appliances from "
"L<http://libguestfs.org/download/binaries/appliance/>.  These appliances "
"were made using this tool."
msgstr ""
"Instead of running this tool, you can download fixed appliances from "
"L<http://libguestfs.org/download/binaries/appliance/>.  These appliances "
"were made using this tool."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:48
msgid "There are two ways to use this tool."
msgstr "There are two ways to use this tool."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:54
msgid "Specify an output directory, for example:"
msgstr "Specify an output directory, for example:"

#. type: verbatim
#: ../appliance/libguestfs-make-fixed-appliance.pod:56
#, no-wrap
msgid ""
" libguestfs-make-fixed-appliance /usr/local/lib/guestfs/appliance\n"
"\n"
msgstr ""
" libguestfs-make-fixed-appliance /usr/local/lib/guestfs/appliance\n"
"\n"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:58
msgid ""
"The output directory is created if it does not exist.  Four files are "
"created in this directory:"
msgstr ""
"The output directory is created if it does not exist.  Four files are "
"created in this directory:"

#. type: verbatim
#: ../appliance/libguestfs-make-fixed-appliance.pod:61
#, no-wrap
msgid ""
" <OUTPUTDIR>/kernel\n"
" <OUTPUTDIR>/initrd\n"
" <OUTPUTDIR>/root\n"
" <OUTPUTDIR>/README.fixed\n"
"\n"
msgstr ""
" <OUTPUTDIR>/kernel\n"
" <OUTPUTDIR>/initrd\n"
" <OUTPUTDIR>/root\n"
" <OUTPUTDIR>/README.fixed\n"
"\n"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:66
msgid ""
"Note that C<I<OUTPUTDIR>/root> is a sparse file, so take care when copying "
"it."
msgstr ""
"Note that C<I<OUTPUTDIR>/root> is a sparse file, so take care when copying "
"it."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:69
msgid ""
"You can then run libguestfs (possibly after copying this directory to "
"another machine) by setting the environment variable LIBGUESTFS_PATH to "
"C<OUTPUTDIR>."
msgstr ""
"You can then run libguestfs (possibly after copying this directory to "
"another machine) by setting the environment variable LIBGUESTFS_PATH to "
"C<OUTPUTDIR>."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:75
msgid ""
"The alternative method is to use the I<--xz> option to create a compressed "
"tarball:"
msgstr ""
"The alternative method is to use the I<--xz> option to create a compressed "
"tarball:"

#. type: verbatim
#: ../appliance/libguestfs-make-fixed-appliance.pod:78
#, no-wrap
msgid ""
" libguestfs-make-fixed-appliance --xz\n"
"\n"
msgstr ""
" libguestfs-make-fixed-appliance --xz\n"
"\n"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:80
msgid "This creates a tarball in the I<current> directory called:"
msgstr "This creates a tarball in the I<current> directory called:"

#. type: verbatim
#: ../appliance/libguestfs-make-fixed-appliance.pod:82
#, no-wrap
msgid ""
" appliance-<VERSION>.tar.xz\n"
"\n"
msgstr ""
" appliance-<VERSION>.tar.xz\n"
"\n"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:84
msgid ""
"(where C<VERSION> is the version of libguestfs).  The tarball contains the "
"four files:"
msgstr ""
"(where C<VERSION> is the version of libguestfs).  The tarball contains the "
"four files:"

#. type: verbatim
#: ../appliance/libguestfs-make-fixed-appliance.pod:87
#, no-wrap
msgid ""
" appliance/kernel\n"
" appliance/initrd\n"
" appliance/root\n"
" appliance/README.fixed\n"
"\n"
msgstr ""
" appliance/kernel\n"
" appliance/initrd\n"
" appliance/root\n"
" appliance/README.fixed\n"
"\n"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:92
msgid ""
"Note that C<appliance/root> is a sparse file, so take care when copying it."
msgstr ""
"Note that C<appliance/root> is a sparse file, so take care when copying it."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:103
#: ../test-tool/libguestfs-test-tool.pod:40
msgid "Display short usage information and exit."
msgstr "Display short usage information and exit."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:109
msgid "Display the version number and exit."
msgstr "Display the version number and exit."

#. type: =item
#: ../appliance/libguestfs-make-fixed-appliance.pod:111
msgid "B<--xz>"
msgstr "B<--xz>"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:113
msgid ""
"Instead of creating the appliance in an output directory, create a "
"compressed tarball of the appliance in the current directory called "
"F<appliance-I<VERSION>.tar.xz> where C<VERSION> is the version of libguestfs."
msgstr ""

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:118
msgid ""
"Using I<--xz> can take some time.  If working normally, the tool is "
"completely silent when it is running."
msgstr ""
"Using I<--xz> can take some time.  If working normally, the tool is "
"completely silent when it is running."

#. type: =head1
#: ../appliance/libguestfs-make-fixed-appliance.pod:123
msgid "LICENSING"
msgstr "LICENSING"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:125
msgid ""
"The fixed appliance is a complete Linux binary distro.  If you distribute "
"it, you may need to distribute corresponding source files to remain in legal "
"compliance with the licenses of the software in the appliance (such as the "
"GNU General Public License)."
msgstr ""
"The fixed appliance is a complete Linux binary distro.  If you distribute "
"it, you may need to distribute corresponding source files to remain in legal "
"compliance with the licenses of the software in the appliance (such as the "
"GNU General Public License)."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:132
msgid ""
"libguestfs-make-fixed-appliance returns I<0> if the appliance was built "
"without errors."
msgstr ""
"libguestfs-make-fixed-appliance returns I<0> if the appliance was built "
"without errors."

#. type: =head1
#: ../appliance/libguestfs-make-fixed-appliance.pod:135
#: ../builder/virt-builder.pod:1811 ../customize/virt-customize.pod:252
#: ../dib/virt-dib.pod:457 ../edit/virt-edit.pod:369 ../fish/guestfish.pod:1404
#: ../fuse/guestunmount.pod:113 ../get-kernel/virt-get-kernel.pod:188
#: ../lib/guestfs.pod:3330 ../rescue/virt-rescue.pod:472
#: ../sparsify/virt-sparsify.pod:415 ../sysprep/virt-sysprep.pod:565
#: ../test-tool/libguestfs-test-tool.pod:173
msgid "ENVIRONMENT VARIABLES"
msgstr "ENVIRONMENT VARIABLES"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:137
#: ../test-tool/libguestfs-test-tool.pod:175
msgid ""
"For the full list of environment variables which may affect libguestfs, "
"please see the L<guestfs(3)> manual page."
msgstr ""
"For the full list of environment variables which may affect libguestfs, "
"please see the L<guestfs(3)> manual page."

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:142
msgid ""
"L<guestfs(3)>, L<supermin(1)>, L<xz(1)>, L<http://libguestfs.org/>, L<http://"
"qemu.org/>."
msgstr ""

#. type: =head1
#: ../appliance/libguestfs-make-fixed-appliance.pod:148
#: ../customize/virt-customize.pod:305 ../docs/guestfs-building.pod:800
#: ../docs/guestfs-faq.pod:1410 ../docs/guestfs-hacking.pod:1113
#: ../docs/guestfs-internals.pod:409 ../docs/guestfs-performance.pod:616
#: ../docs/guestfs-recipes.pod:735 ../docs/guestfs-release-notes-1.42.pod:283
#: ../docs/guestfs-security.pod:417 ../docs/guestfs-testing.pod:402
#: ../erlang/examples/guestfs-erlang.pod:111
#: ../examples/guestfs-examples.pod:69 ../fish/guestfish.pod:1662
#: ../fish/libguestfs-tools.conf.pod:96 ../fish/virt-copy-in.pod:52
#: ../fish/virt-copy-out.pod:47 ../fish/virt-tar-in.pod:50
#: ../fish/virt-tar-out.pod:49 ../fuse/guestmount.pod:444
#: ../fuse/guestunmount.pod:156 ../gobject/guestfs-gobject.pod:58
#: ../golang/examples/guestfs-golang.pod:92 ../inspector/virt-inspector.pod:503
#: ../java/examples/guestfs-java.pod:175 ../lib/guestfs.pod:3521
#: ../lua/examples/guestfs-lua.pod:152 ../ocaml/examples/guestfs-ocaml.pod:96
#: ../perl/examples/guestfs-perl.pod:54
#: ../python/examples/guestfs-python.pod:78
#: ../ruby/examples/guestfs-ruby.pod:49 ../sysprep/virt-sysprep.pod:618
#: ../test-tool/libguestfs-test-tool.pod:184
msgid "AUTHORS"
msgstr "AUTHORS"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:150
#: ../docs/guestfs-building.pod:802 ../docs/guestfs-faq.pod:1412
#: ../docs/guestfs-hacking.pod:1115 ../docs/guestfs-internals.pod:411
#: ../docs/guestfs-performance.pod:618 ../docs/guestfs-recipes.pod:737
#: ../docs/guestfs-security.pod:419 ../docs/guestfs-testing.pod:404
#: ../erlang/examples/guestfs-erlang.pod:113
#: ../examples/guestfs-examples.pod:71 ../fish/guestfish.pod:1664
#: ../fish/libguestfs-tools.conf.pod:98 ../fish/virt-copy-in.pod:54
#: ../fish/virt-copy-out.pod:49 ../fish/virt-tar-in.pod:52
#: ../fish/virt-tar-out.pod:51 ../fuse/guestmount.pod:446
#: ../fuse/guestunmount.pod:158 ../gobject/guestfs-gobject.pod:60
#: ../golang/examples/guestfs-golang.pod:94
#: ../java/examples/guestfs-java.pod:177 ../lib/guestfs.pod:3523
#: ../lua/examples/guestfs-lua.pod:154 ../ocaml/examples/guestfs-ocaml.pod:98
#: ../perl/examples/guestfs-perl.pod:56
#: ../python/examples/guestfs-python.pod:80
#: ../ruby/examples/guestfs-ruby.pod:51
#: ../test-tool/libguestfs-test-tool.pod:186
msgid "Richard W.M. Jones (C<rjones at redhat dot com>)"
msgstr "Richard W.M. Jones (C<rjones at redhat dot com>)"

#. type: textblock
#: ../appliance/libguestfs-make-fixed-appliance.pod:154 ../cat/virt-ls.pod:538
#: ../daemon/guestfsd.pod:154 ../df/virt-df.pod:272 ../diff/virt-diff.pod:268
#: ../docs/guestfs-building.pod:806 ../docs/guestfs-hacking.pod:1119
#: ../docs/guestfs-internals.pod:415 ../docs/guestfs-recipes.pod:741
#: ../docs/guestfs-release-notes-1.10.pod:162
#: ../docs/guestfs-release-notes-1.12.pod:153
#: ../docs/guestfs-release-notes-1.14.pod:189
#: ../docs/guestfs-release-notes-1.16.pod:160
#: ../docs/guestfs-release-notes-1.18.pod:258
#: ../docs/guestfs-release-notes-1.20.pod:612
#: ../docs/guestfs-release-notes-1.22.pod:377
#: ../docs/guestfs-release-notes-1.24.pod:332
#: ../docs/guestfs-release-notes-1.26.pod:392
#: ../docs/guestfs-release-notes-1.28.pod:515
#: ../docs/guestfs-release-notes-1.30.pod:843
#: ../docs/guestfs-release-notes-1.32.pod:507
#: ../docs/guestfs-release-notes-1.34.pod:732
#: ../docs/guestfs-release-notes-1.36.pod:561
#: ../docs/guestfs-release-notes-1.38.pod:615
#: ../docs/guestfs-release-notes-1.4.pod:216
#: ../docs/guestfs-release-notes-1.40.pod:406
#: ../docs/guestfs-release-notes-1.42.pod:309
#: ../docs/guestfs-release-notes-1.6.pod:187
#: ../docs/guestfs-release-notes-1.8.pod:162
#: ../docs/guestfs-release-notes-historical.pod:52
#: ../docs/guestfs-security.pod:423 ../edit/virt-edit.pod:404
#: ../fish/guestfish.pod:1668 ../fuse/guestmount.pod:450
#: ../lib/guestfs.pod:3527 ../rescue/virt-rescue.pod:512
#: ../test-tool/libguestfs-test-tool.pod:190 ../tools/virt-list-partitions:280
#, fuzzy
#| msgid "Copyright (C) 2010-2012 Red Hat Inc."
msgid "Copyright (C) 2009-2020 Red Hat Inc."
msgstr "Copyright (C) 2010-2012 Red Hat Inc."

#. type: =end
#: ../builder/virt-builder-repository.pod:1
#: ../builder/virt-builder-repository.pod:6 ../builder/virt-builder.pod:1
#: ../builder/virt-builder.pod:6 ../docs/guestfs-faq.pod:248
#: ../docs/guestfs-faq.pod:253 ../docs/guestfs-faq.pod:898
#: ../docs/guestfs-faq.pod:903 ../docs/guestfs-faq.pod:1090
#: ../docs/guestfs-faq.pod:1095 ../lib/guestfs.pod:1428 ../lib/guestfs.pod:1433
msgid "html"
msgstr "html"

#. type: verbatim
#: ../builder/virt-builder-repository.pod:3 ../builder/virt-builder.pod:3
#, no-wrap
msgid ""
"<img src=\"virt-builder.svg\" width=\"250\"\n"
"  style=\"float: right; clear: right;\" />\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:10
msgid "virt-builder-repository - Build virt-builder source repository easily"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder-repository.pod:14
#, no-wrap
msgid ""
" virt-builder-repository /path/to/repository\n"
"    [-i|--interactive] [--gpg-key KEYID]\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:19
msgid ""
"Virt-builder is a tool for quickly building new virtual machines. It can be "
"configured to use template repositories. However creating and maintaining a "
"repository involves many tasks which can be automated.  virt-builder-"
"repository is a tool helping to manage these repositories."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:24
msgid ""
"Virt-builder-repository loops over the files in the directory specified as "
"argument, compresses the files with a name ending by C<qcow2>, C<raw>, "
"C<img> or without extension, extracts data from them and creates or updates "
"the C<index> file."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:29
msgid ""
"Some of the image-related data needed for the index file can’t be computed "
"from the image file. virt-builder-repository first tries to find them in the "
"existing index file. If data are still missing after this, they are prompted "
"in interactive mode, otherwise an error will be triggered."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:35
msgid ""
"If a C<KEYID> is provided, the generated index file will be signed with this "
"GPG key."
msgstr ""

#. type: =head1
#: ../builder/virt-builder-repository.pod:38 ../builder/virt-builder.pod:49
#: ../cat/virt-cat.pod:30 ../cat/virt-log.pod:25 ../cat/virt-ls.pod:33
#: ../df/virt-df.pod:45 ../dib/virt-dib.pod:22 ../edit/virt-edit.pod:36
#: ../fish/guestfish.pod:32 ../fish/guestfish.pod:1103
#: ../fish/virt-copy-in.pod:21 ../fish/virt-copy-out.pod:19
#: ../fish/virt-tar-in.pod:22 ../fish/virt-tar-out.pod:22
#: ../fuse/guestmount.pod:32 ../resize/virt-resize.pod:25
#: ../sparsify/virt-sparsify.pod:85 ../tools/virt-tar:47
msgid "EXAMPLES"
msgstr "EXAMPLES"

#. type: =head2
#: ../builder/virt-builder-repository.pod:40
msgid "Create the initial repository"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:42
msgid ""
"Create a folder and copy the disk image template files in it. Then run a "
"command like the following one:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder-repository.pod:45
#: ../builder/virt-builder-repository.pod:81
#, no-wrap
msgid ""
" virt-builder-repository --gpg-key \"joe@hacker.org\" -i /path/to/folder\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:47
msgid ""
"Note that this example command runs in interactive mode. To run in automated "
"mode, a minimal index file needs to be created before running the command "
"containing sections like this one:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder-repository.pod:51
#, no-wrap
msgid ""
" [template_id]\n"
" file=template_filename.qcow.xz\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:54
msgid ""
"The file value needs to match the image name extended with the C<.xz> suffix "
"if the I<--no-compression> parameter is not provided or the image name if no "
"compression is involved. Other optional data can be prefilled. Default "
"values are computed by inspecting the disk image.  For more informations, "
"see L<virt-builder(1)/Creating and signing the index file>."
msgstr ""

#. type: =head2
#: ../builder/virt-builder-repository.pod:61
msgid "Update images in an existing repository"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:63
msgid ""
"In this use case, a new image or a new revision of an existing image needs "
"to be added to the repository. Place the corresponding image template files "
"in the repository folder."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:67
msgid ""
"To update the revision of an image, the file needs to have the same name "
"than the existing one (without the C<xz> extension)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:70
msgid ""
"As in the repository creation use case, a minimal fragment can be added to "
"the index file for the automated mode. This can be done on the signed index "
"even if it may sound a strange idea: the index will be signed again by the "
"tool."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:75
msgid ""
"To remove an image from the repository, just remove the corresponding image "
"file before running virt-builder-repository."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:78
msgid ""
"Then running the following command will complete and update the index file:"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:83
msgid ""
"virt-builder-repository works in a temporary folder inside the repository "
"one. If anything wrong happens when running the tool, the repository is left "
"untouched."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:93 ../builder/virt-builder.pod:182
#: ../builder/virt-index-validate.pod:64 ../dib/virt-dib.pod:54
#: ../get-kernel/virt-get-kernel.pod:29 ../resize/virt-resize.pod:274
#: ../sparsify/virt-sparsify.pod:120
msgid "Display help."
msgstr "Display help."

#. type: =item
#: ../builder/virt-builder-repository.pod:95 ../builder/virt-builder.pod:318
msgid "B<--gpg> GPG"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:97
msgid ""
"Specify an alternate L<gpg(1)> (GNU Privacy Guard) binary.  You can also use "
"this to add gpg parameters, for example to specify an alternate home "
"directory:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder-repository.pod:101
#, no-wrap
msgid ""
" virt-builder-repository --gpg \"gpg --homedir /tmp\" [...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:103
msgid "This can also be used to avoid gpg asking for the key passphrase:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder-repository.pod:105
#, no-wrap
msgid ""
" virt-builder-repository --gpg \"gpg --passphrase-file /tmp/pass --batch\" [...]\n"
"\n"
msgstr ""

#. type: =item
#: ../builder/virt-builder-repository.pod:107
msgid "B<-K> KEYID"
msgstr ""

#. type: =item
#: ../builder/virt-builder-repository.pod:109
msgid "B<--gpg-key> KEYID"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:111
msgid ""
"Specify the GPG key to be used to sign the repository index file.  If not "
"provided, the index will left unsigned. C<KEYID> is used to identify the GPG "
"key to use. This value is passed to gpg’s I<--default-key> option and can "
"thus be an email address or a fingerprint."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:117
msgid ""
"B<NOTE>: by default, virt-builder-repository searches for the key in the "
"user’s GPG keyring."
msgstr ""

#. type: =item
#: ../builder/virt-builder-repository.pod:120 ../df/virt-df.pod:153
#: ../fish/guestfish.pod:254 ../fuse/guestmount.pod:243
#: ../rescue/virt-rescue.pod:181
msgid "B<-i>"
msgstr "B<-i>"

#. type: =item
#: ../builder/virt-builder-repository.pod:122
msgid "B<--interactive>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:124
msgid ""
"Prompt for missing data. Default values are computed from the disk image."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:127
msgid ""
"When prompted for data, inputting C<-> corresponds to leaving the value "
"empty. This can be used to avoid setting the default computed value."
msgstr ""

#. type: =item
#: ../builder/virt-builder-repository.pod:130
msgid "B<--no-compression>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:132
msgid "Don’t compress the template images."
msgstr ""

#. type: =item
#: ../builder/virt-builder-repository.pod:134 ../builder/virt-builder.pod:370
#: ../dib/virt-dib.pod:264 ../get-kernel/virt-get-kernel.pod:107
#: ../resize/virt-resize.pod:462 ../sparsify/virt-sparsify.pod:240
msgid "B<--machine-readable>"
msgstr "B<--machine-readable>"

#. type: =item
#: ../builder/virt-builder-repository.pod:136 ../builder/virt-builder.pod:372
#: ../dib/virt-dib.pod:266 ../get-kernel/virt-get-kernel.pod:109
#: ../resize/virt-resize.pod:464 ../sparsify/virt-sparsify.pod:242
msgid "B<--machine-readable>=format"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:138 ../builder/virt-builder.pod:374
#: ../dib/virt-dib.pod:268 ../get-kernel/virt-get-kernel.pod:111
#: ../resize/virt-resize.pod:466 ../sparsify/virt-sparsify.pod:244
msgid ""
"This option is used to make the output more machine friendly when being "
"parsed by other programs.  See L</MACHINE READABLE OUTPUT> below."
msgstr ""
"This option is used to make the output more machine friendly when being "
"parsed by other programs.  See L</MACHINE READABLE OUTPUT> below."

#. type: =item
#: ../builder/virt-builder-repository.pod:142 ../builder/virt-builder.pod:244
#: ../customize/virt-customize.pod:77 ../dib/virt-dib.pod:80
#: ../get-kernel/virt-get-kernel.pod:55 ../resize/virt-resize.pod:332
#: ../sparsify/virt-sparsify.pod:158 ../sysprep/virt-sysprep.pod:62
msgid "B<--colors>"
msgstr ""

#. type: =item
#: ../builder/virt-builder-repository.pod:144 ../builder/virt-builder.pod:246
#: ../customize/virt-customize.pod:79 ../dib/virt-dib.pod:82
#: ../get-kernel/virt-get-kernel.pod:57 ../resize/virt-resize.pod:334
#: ../sparsify/virt-sparsify.pod:160 ../sysprep/virt-sysprep.pod:64
msgid "B<--colours>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:146 ../builder/virt-builder.pod:248
#: ../customize/virt-customize.pod:81 ../dib/virt-dib.pod:84
#: ../get-kernel/virt-get-kernel.pod:59 ../resize/virt-resize.pod:336
#: ../sparsify/virt-sparsify.pod:162 ../sysprep/virt-sysprep.pod:66
msgid ""
"Use ANSI colour sequences to colourize messages.  This is the default when "
"the output is a tty.  If the output of the program is redirected to a file, "
"ANSI colour sequences are disabled unless you use this option."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:155 ../builder/virt-builder.pod:481
#: ../dib/virt-dib.pod:374 ../get-kernel/virt-get-kernel.pod:139
msgid "Don’t print ordinary progress messages."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:161 ../builder/virt-builder.pod:528
msgid "Enable debug messages and/or produce verbose output."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:163 ../builder/virt-builder.pod:530
msgid ""
"When reporting bugs, use this option and attach the complete output to your "
"bug report."
msgstr ""

#. type: =head1
#: ../builder/virt-builder-repository.pod:178 ../builder/virt-builder.pod:1788
#: ../dib/virt-dib.pod:670 ../get-kernel/virt-get-kernel.pod:170
#: ../resize/virt-resize.pod:640 ../sparsify/virt-sparsify.pod:357
msgid "MACHINE READABLE OUTPUT"
msgstr "MACHINE READABLE OUTPUT"

#. type: textblock
#: ../builder/virt-builder-repository.pod:180
msgid ""
"The I<--machine-readable> option can be used to make the output more machine "
"friendly, which is useful when calling virt-builder-repository from other "
"programs, GUIs etc."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:184
msgid ""
"Use the option on its own to query the capabilities of the virt-builder-"
"repository binary.  Typical output looks like this:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder-repository.pod:187
#, no-wrap
msgid ""
" $ virt-builder-repository --machine-readable\n"
" virt-builder-repository\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:190 ../builder/virt-builder.pod:1805
#: ../dib/virt-dib.pod:686 ../get-kernel/virt-get-kernel.pod:182
#: ../resize/virt-resize.pod:658 ../sparsify/virt-sparsify.pod:373
msgid ""
"A list of features is printed, one per line, and the program exits with "
"status 0."
msgstr ""
"A list of features is printed, one per line, and the program exits with "
"status 0."

#. type: textblock
#: ../builder/virt-builder-repository.pod:193 ../builder/virt-builder.pod:1808
#: ../dib/virt-dib.pod:692 ../get-kernel/virt-get-kernel.pod:185
#: ../resize/virt-resize.pod:692 ../sparsify/virt-sparsify.pod:407
msgid ""
"It is possible to specify a format string for controlling the output; see "
"L<guestfs(3)/ADVANCED MACHINE READABLE OUTPUT>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:198 ../builder/virt-builder.pod:1878
#: ../cat/virt-cat.pod:276 ../cat/virt-filesystems.pod:385
#: ../cat/virt-log.pod:137 ../cat/virt-ls.pod:519 ../cat/virt-tail.pod:237
#: ../daemon/guestfsd.pod:101 ../df/virt-df.pod:255 ../dib/virt-dib.pod:705
#: ../diff/virt-diff.pod:249 ../edit/virt-edit.pod:384
#: ../fuse/guestmount.pod:427 ../get-kernel/virt-get-kernel.pod:195
#: ../inspector/virt-inspector.pod:491 ../resize/virt-resize.pod:839
msgid ""
"This program returns 0 if successful, or non-zero if there was an error."
msgstr ""
"This program returns 0 if successful, or non-zero if there was an error."

#. type: textblock
#: ../builder/virt-builder-repository.pod:203
msgid "L<virt-builder(1)> L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:208
msgid "Cédric Bosdonnat L<mailto:cbosdonnat@suse.com>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder-repository.pod:212
#, fuzzy
#| msgid "Copyright (C) 2010-2012 Red Hat Inc."
msgid "Copyright (C) 2016-2020 SUSE Inc."
msgstr "Copyright (C) 2010-2012 Red Hat Inc."

#. type: textblock
#: ../builder/virt-builder.pod:10
msgid "virt-builder - Build virtual machine images quickly"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:14
#, no-wrap
msgid ""
" virt-builder os-version\n"
"    [-o|--output DISKIMAGE] [--size SIZE] [--format raw|qcow2]\n"
"    [--arch ARCHITECTURE] [--attach ISOFILE]\n"
"__CUSTOMIZE_SYNOPSIS__\n"
"\n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:19
#, no-wrap
msgid ""
" virt-builder -l|--list [--long] [--list-format short|long|json] [os-version]\n"
"\n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:21
#, no-wrap
msgid ""
" virt-builder --notes os-version\n"
"\n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:23 ../builder/virt-builder.pod:1553
#, no-wrap
msgid ""
" virt-builder --print-cache\n"
"\n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:25 ../builder/virt-builder.pod:1561
#, no-wrap
msgid ""
" virt-builder --cache-all-templates\n"
"\n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:27 ../builder/virt-builder.pod:1557
#, no-wrap
msgid ""
" virt-builder --delete-cache\n"
"\n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:29
#, no-wrap
msgid ""
" virt-builder --get-kernel DISKIMAGE\n"
"    [--format raw|qcow2] [--output OUTPUTDIR]\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:34
msgid ""
"Virt-builder is a tool for quickly building new virtual machines.  You can "
"build a variety of VMs for local or cloud use, usually within a few minutes "
"or less.  Virt-builder also has many ways to customize these VMs.  "
"Everything is run from the command line and nothing requires root "
"privileges, so automation and scripting is simple."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:40
msgid ""
"Note that virt-builder does not install guests from scratch.  It takes "
"cleanly prepared, digitally signed OS templates and customizes them.  This "
"approach is used because it is much faster, but if you need to do fresh "
"installs you may want to look at L<virt-install(1)> and L<oz-install(1)>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:46
msgid ""
"The easiest way to get started is by looking at the examples in the next "
"section."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:51
msgid "List the virtual machines available"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:53
#, no-wrap
msgid ""
" virt-builder --list\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:55
msgid ""
"will list out the operating systems available to install.  A selection of "
"freely redistributable OSes is available as standard.  You can add your own "
"too (see below)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:59
msgid ""
"After choosing a guest from the list, you may want to see if there are any "
"installation notes:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:62
#, no-wrap
msgid ""
" virt-builder --notes fedora-27\n"
"\n"
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:64
msgid "Build a virtual machine"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:66
#, no-wrap
msgid ""
" virt-builder fedora-27\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:68
msgid ""
"will build a Fedora 25 image for the same architecture as virt-builder (so "
"running it from an i686 installation will try to build an i686 image, if "
"available).  This will have all default configuration (minimal size, no user "
"accounts, random root password, only the bare minimum installed software, "
"etc.)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:74
msgid "You I<do not> need to run this command as root."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:76
msgid ""
"The first time this runs it has to download the template over the network, "
"but this gets cached (see L</CACHING>)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:79
msgid ""
"The name of the output file is derived from the template name, so above it "
"will be F<fedora-27.img>.  You can change the output filename using the I<-"
"o> option:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:83
#, no-wrap
msgid ""
" virt-builder fedora-27 -o mydisk.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:85
msgid ""
"You can also use the I<-o> option to write to existing devices or logical "
"volumes."
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:88
#, no-wrap
msgid ""
" virt-builder fedora-27 --format qcow2\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:90
msgid "As above, but write the output in qcow2 format to F<fedora-27.qcow2>."
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:92
#, no-wrap
msgid ""
" virt-builder fedora-27 --size 20G\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:94
msgid ""
"As above, but the output size will be 20 GB.  The guest OS is resized as it "
"is copied to the output (automatically, using L<virt-resize(1)>)."
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:98
#, no-wrap
msgid ""
" virt-builder fedora-27 --arch i686\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:100
msgid "As above, but using an i686 template, if available."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:102
msgid "Setting the root password"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:104
#, no-wrap
msgid ""
" virt-builder fedora-27 --root-password file:/tmp/rootpw\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:106
msgid ""
"Create a Fedora 25 image.  The root password is taken from the file F</tmp/"
"rootpw>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:109
msgid ""
"Note if you I<don’t> set I<--root-password> then the guest is given a "
"I<random> root password which is printed on stdout."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:112
msgid "You can also create user accounts.  See L</USERS AND PASSWORDS> below."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:114
msgid "Set the hostname"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:116
#, no-wrap
msgid ""
" virt-builder fedora-27 --hostname virt.example.com\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:118
msgid "Set the hostname to C<virt.example.com>."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:120
msgid "Installing software"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:122
msgid ""
"To install packages from the ordinary (guest) software repository (eg. dnf "
"or apt):"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:125
#, no-wrap
msgid ""
" virt-builder fedora-27 --install \"inkscape,@Xfce Desktop\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:127
msgid ""
"(In Fedora, C<@> is used to install groups of packages.  On Debian you would "
"install a meta-package instead.)"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:130
msgid "To update the installed packages to the latest version:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:132
#, no-wrap
msgid ""
" virt-builder debian-7 --update\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:134
msgid ""
"For guests which use SELinux, like Fedora and Red Hat Enterprise Linux, you "
"may need to do SELinux relabelling after installing or updating packages "
"(see L</SELINUX> below):"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:138
#, no-wrap
msgid ""
" virt-builder fedora-27 --update --selinux-relabel\n"
"\n"
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:140
msgid "Customizing the installation"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:142
msgid ""
"There are many options that let you customize the installation.  These "
"include: I<--run>/I<--run-command>, which run a shell script or command "
"while the disk image is being generated and lets you add or edit files that "
"go into the disk image.  I<--firstboot>/I<--firstboot-command>, which let "
"you add scripts/commands that are run the first time the guest boots.  I<--"
"edit> to edit files.  I<--upload> to upload files."
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:152
#, no-wrap
msgid ""
" cat <<'EOF' > /tmp/dnf-update.sh\n"
" dnf -y --best update\n"
" EOF\n"
" \n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:156
#, no-wrap
msgid ""
" virt-builder fedora-27 --firstboot /tmp/dnf-update.sh\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:158
msgid "or simply:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:160
#, no-wrap
msgid ""
" virt-builder fedora-27 --firstboot-command 'dnf -y --best update'\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:162
msgid ""
"which makes the L<dnf(8)> C<update> command run once the first time the "
"guest boots."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:165
msgid "Or:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:167
#, no-wrap
msgid ""
" virt-builder fedora-27 \\\n"
"   --edit '/etc/dnf/dnf.conf:\n"
"             s/gpgcheck=1/gpgcheck=0/'\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:171
msgid ""
"which edits F</etc/dnf/dnf.conf> inside the disk image (during disk image "
"creation, long before boot)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:174
msgid "You can combine these options, and have multiple options of all types."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:184 ../dib/virt-dib.pod:66
msgid "B<--arch> ARCHITECTURE"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:186
msgid ""
"Use the specified architecture for the output image.  This means there must "
"be sources providing the requested template for the requested architecture."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:190
msgid "See also L</ARCHITECTURE>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:192 ../customize/virt-customize.pod:56
msgid "B<--attach> ISOFILE"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:194
msgid ""
"During the customization phase, the given disk is attached to the libguestfs "
"appliance.  This is used to provide extra software repositories or other "
"data for customization."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:198 ../customize/virt-customize.pod:62
msgid ""
"You probably want to ensure the volume(s) or filesystems in the attached "
"disks are labelled (or use an ISO volume name) so that you can mount them by "
"label in your run-scripts:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:202 ../customize/virt-customize.pod:66
#, no-wrap
msgid ""
" mkdir /tmp/mount\n"
" mount LABEL=EXTRA /tmp/mount\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:205 ../customize/virt-customize.pod:69
msgid ""
"You can have multiple I<--attach> options, and the format can be any disk "
"format (not just an ISO)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:208
msgid ""
"See also: I<--run>, L</Installing packages at build time from a side "
"repository>, L<genisoimage(1)>, L<virt-make-fs(1)>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:212 ../customize/virt-customize.pod:72
msgid "B<--attach-format> FORMAT"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:214 ../customize/virt-customize.pod:74
msgid ""
"Specify the disk format for the next I<--attach> option.  The C<FORMAT> is "
"usually C<raw> or C<qcow2>.  Use C<raw> for ISOs."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:217
msgid "B<--cache> DIR"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:219
msgid "B<--no-cache>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:221
msgid ""
"I<--cache> DIR sets the directory to use/check for cached template files.  "
"If not set, defaults to either F<$XDG_CACHE_HOME/virt-builder/> or F<$HOME/."
"cache/virt-builder/>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:225
msgid "I<--no-cache> disables template caching."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:227
msgid "B<--cache-all-templates>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:229
msgid "Download all templates to the cache and then exit.  See L</CACHING>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:231
msgid ""
"Note this doesn't cache everything.  More templates might be uploaded.  Also "
"this doesn't cache packages (the I<--install>, I<--update> options)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:234
msgid "B<--check-signature>"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:236
msgid "B<--no-check-signature>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:238
msgid ""
"Check/don’t check the digital signature of the OS template.  The default is "
"to check the signature and exit if it is not correct.  Using I<--no-check-"
"signature> bypasses this check."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:242
msgid "See also I<--fingerprint>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:253
msgid "B<--curl> CURL"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:255
msgid ""
"Specify an alternate L<curl(1)> binary.  You can also use this to add curl "
"parameters, for example to disable https certificate checks:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:258
#, no-wrap
msgid ""
" virt-builder --curl \"curl --insecure\" [...]\n"
"\n"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:260
msgid "B<--delete-cache>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:262
msgid "Delete the template cache.  See L</CACHING>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:264 ../dib/virt-dib.pod:351
msgid "B<--no-delete-on-failure>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:266
msgid ""
"Don’t delete the output file on failure to build.  You can use this to debug "
"failures to run scripts.  See L</DEBUGGING BUILDS> for ways to debug images."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:270
msgid ""
"The default is to delete the output file if virt-builder fails (or, for "
"example, some script that it runs fails)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:273
msgid "B<--fingerprint> 'AAAA BBBB ...'"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:275
msgid ""
"Check that the index and templates are signed by the key with the given "
"fingerprint.  (The fingerprint is a long string, usually written as 10 "
"groups of 4 hexadecimal digits)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:279
msgid ""
"You can give this option multiple times.  If you have multiple source URLs, "
"then you can have either no fingerprint, one fingerprint or multiple "
"fingerprints.  If you have multiple, then each must correspond 1-1 with a "
"source URL."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:284 ../sparsify/virt-sparsify.pod:204
msgid "B<--format> qcow2"
msgstr "B<--format> qcow2"

#. type: =item
#: ../builder/virt-builder.pod:286 ../sparsify/virt-sparsify.pod:202
#: ../tools/virt-list-filesystems:90 ../tools/virt-list-partitions:91
#: ../tools/virt-tar:138 ../tools/virt-win-reg:139
msgid "B<--format> raw"
msgstr "B<--format> raw"

#. type: textblock
#: ../builder/virt-builder.pod:288
msgid ""
"For ordinary builds, this selects the output format.  The default is I<raw>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:290
msgid "With I<--get-kernel> this specifies the input format."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:292
msgid ""
"To create an old-style qcow2 file (for compatibility with RHEL 6 or very old "
"qemu E<lt> 1.1), after running virt-builder, use this command:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:296
#, no-wrap
msgid ""
" qemu-img amend -f qcow2 -o compat=0.10 output.qcow2\n"
"\n"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:298
msgid "B<--get-kernel> IMAGE"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:300
msgid ""
"This option extracts the kernel and initramfs from a previously built disk "
"image called C<IMAGE> (in fact it works for any VM disk image, not just ones "
"built using virt-builder)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:304
msgid ""
"Note this method is B<deprecated>: there is a separate tool for this, L<virt-"
"get-kernel(1)>, which has more options for the file extraction."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:307
msgid ""
"The kernel and initramfs are written to the current directory, unless you "
"also specify the I<--output> C<outputdir> B<directory> name."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:310 ../get-kernel/virt-get-kernel.pod:15
msgid ""
"The format of the disk image is automatically detected unless you specify it "
"by using the I<--format> option."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:313
msgid ""
"In the case where the guest contains multiple kernels, the one with the "
"highest version number is chosen.  To extract arbitrary kernels from the "
"disk image, see L<guestfish(1)>.  To extract the entire F</boot> directory "
"of a guest, see L<virt-copy-out(1)>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:320
msgid ""
"Specify an alternate L<gpg(1)> (GNU Privacy Guard) binary.  By default virt-"
"builder looks for either C<gpg2> or C<gpg> in the C<$PATH>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:323
msgid ""
"You can also use this to add gpg parameters, for example to specify an "
"alternate home directory:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:326
#, no-wrap
msgid ""
" virt-builder --gpg \"gpg --homedir /tmp\" [...]\n"
"\n"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:328
msgid "B<-l> [os-version]"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:330
msgid "B<--list> [os-version]"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:332
msgid "B<--list> B<--list-format> format [os-version]"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:334
msgid "B<--list> B<--long> [os-version]"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:336
msgid ""
"List all the available templates if no guest is specified, or only for the "
"specified one."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:339
msgid ""
"It is possible to choose with I<--list-format> the output format for the "
"list templates:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:344
msgid "B<short>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:346
msgid ""
"The default format, prints only the template identifier and, next to it, its "
"short description."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:349
msgid "B<long>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:351
msgid ""
"Prints a textual list with the details of the available sources, followed by "
"the details of the available templates."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:354
msgid "B<json>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:356
msgid ""
"Prints a JSON object with the details of the available sources and the "
"details of the available templates."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:359
msgid ""
"The C<version> key in the main object represents the \"compatibility version"
"\", and it is bumped every time the resulting JSON output is incompatible "
"with the previous versions (for example the structure has changed, or non-"
"optional keys are no more present)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:366
msgid "I<--long> is a shorthand for the C<long> format."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:368
msgid "See also: I<--source>, I<--notes>, L</SOURCES OF TEMPLATES>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:378 ../customize/virt-customize.pod:148
#: ../dib/virt-dib.pod:272
msgid "B<-m> MB"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:380 ../customize/virt-customize.pod:150
#: ../dib/virt-dib.pod:274 ../rescue/virt-rescue.pod:191
msgid "B<--memsize> MB"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:382 ../customize/virt-customize.pod:152
msgid ""
"Change the amount of memory allocated to I<--run> scripts.  Increase this if "
"you find that I<--run> scripts or the I<--install> option are running out of "
"memory."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:386 ../customize/virt-customize.pod:156
#: ../dib/virt-dib.pod:279
msgid "The default can be found with this command:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:388 ../customize/virt-customize.pod:158
#: ../dib/virt-dib.pod:281
#, no-wrap
msgid ""
" guestfish get-memsize\n"
"\n"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:390 ../customize/virt-customize.pod:160
#: ../daemon/guestfsd.pod:77 ../dib/virt-dib.pod:295 ../fish/guestfish.pod:338
#: ../rescue/virt-rescue.pod:225 ../sysprep/virt-sysprep.pod:245
msgid "B<--network>"
msgstr "B<--network>"

#. type: =item
#: ../builder/virt-builder.pod:392 ../customize/virt-customize.pod:162
#: ../dib/virt-dib.pod:297 ../sysprep/virt-sysprep.pod:247
msgid "B<--no-network>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:394 ../customize/virt-customize.pod:164
#: ../dib/virt-dib.pod:299 ../sysprep/virt-sysprep.pod:249
msgid ""
"Enable or disable network access from the guest during the installation."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:396 ../customize/virt-customize.pod:166
#: ../dib/virt-dib.pod:302
msgid "Enabled is the default.  Use I<--no-network> to disable access."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:398 ../customize/virt-customize.pod:168
#: ../dib/virt-dib.pod:304
msgid ""
"The network only allows outgoing connections and has other minor "
"limitations.  See L<virt-rescue(1)/NETWORK>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:401 ../customize/virt-customize.pod:171
msgid ""
"If you use I<--no-network> then certain other options such as I<--install> "
"will not work."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:404
msgid ""
"This does not affect whether the guest can access the network once it has "
"been booted, because that is controlled by your hypervisor or cloud "
"environment and has nothing to do with virt-builder."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:408 ../customize/virt-customize.pod:178
msgid ""
"Generally speaking you should I<not> use I<--no-network>.  But here are some "
"reasons why you might want to:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:413 ../builder/virt-builder.pod:988
#: ../customize/virt-customize.pod:183 ../docs/guestfs-faq.pod:487
#: ../docs/guestfs-faq.pod:714 ../docs/guestfs-faq.pod:920
#: ../docs/guestfs-hacking.pod:402 ../docs/guestfs-performance.pod:165
#: ../docs/guestfs-performance.pod:207 ../docs/guestfs-recipes.pod:457
#: ../docs/guestfs-security.pod:177 ../docs/internal-documentation.pod:172
#: ../docs/internal-documentation.pod:283
#: ../docs/internal-documentation.pod:1354
#: ../docs/internal-documentation.pod:1477 ../lib/guestfs.pod:1758
#: ../lib/guestfs.pod:2098 ../rescue/virt-rescue.pod:410
#: ../resize/virt-resize.pod:29 ../resize/virt-resize.pod:668
#: ../resize/virt-resize.pod:784 ../sparsify/virt-sparsify.pod:383
msgid "1."
msgstr "1."

#. type: textblock
#: ../builder/virt-builder.pod:415 ../customize/virt-customize.pod:185
msgid ""
"Because the libguestfs backend that you are using doesn't support the "
"network.  (See: L<guestfs(3)/BACKEND>)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:418 ../builder/virt-builder.pod:993
#: ../customize/virt-customize.pod:188 ../docs/guestfs-faq.pod:492
#: ../docs/guestfs-faq.pod:724 ../docs/guestfs-faq.pod:924
#: ../docs/guestfs-hacking.pod:428 ../docs/guestfs-performance.pod:171
#: ../docs/guestfs-performance.pod:214 ../docs/guestfs-recipes.pod:463
#: ../docs/guestfs-security.pod:181 ../docs/internal-documentation.pod:177
#: ../docs/internal-documentation.pod:290
#: ../docs/internal-documentation.pod:1359
#: ../docs/internal-documentation.pod:1483 ../lib/guestfs.pod:1762
#: ../lib/guestfs.pod:2102 ../rescue/virt-rescue.pod:418
#: ../resize/virt-resize.pod:43 ../resize/virt-resize.pod:675
#: ../resize/virt-resize.pod:802 ../sparsify/virt-sparsify.pod:390
msgid "2."
msgstr "2."

#. type: textblock
#: ../builder/virt-builder.pod:420 ../customize/virt-customize.pod:190
msgid ""
"Any software you need to install comes from an attached ISO, so you don't "
"need the network."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:423 ../builder/virt-builder.pod:1003
#: ../customize/virt-customize.pod:193 ../docs/guestfs-faq.pod:498
#: ../docs/guestfs-faq.pod:729 ../docs/guestfs-faq.pod:928
#: ../docs/guestfs-hacking.pod:440 ../docs/guestfs-performance.pod:220
#: ../docs/guestfs-recipes.pod:469 ../docs/internal-documentation.pod:182
#: ../docs/internal-documentation.pod:300
#: ../docs/internal-documentation.pod:1364
#: ../docs/internal-documentation.pod:1491 ../lib/guestfs.pod:1766
#: ../lib/guestfs.pod:2108 ../rescue/virt-rescue.pod:427
#: ../resize/virt-resize.pod:51 ../resize/virt-resize.pod:681
#: ../sparsify/virt-sparsify.pod:396
msgid "3."
msgstr "3."

#. type: textblock
#: ../builder/virt-builder.pod:425
msgid ""
"You don’t want untrusted guest code trying to access your host network when "
"running virt-builder.  This is particularly an issue when you don't trust "
"the source of the operating system templates.  (See L</SECURITY> below)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:430 ../customize/virt-customize.pod:200
#: ../docs/guestfs-faq.pod:932 ../docs/internal-documentation.pod:186
#: ../docs/internal-documentation.pod:310
#: ../docs/internal-documentation.pod:1501 ../rescue/virt-rescue.pod:436
#: ../resize/virt-resize.pod:60
msgid "4."
msgstr "4."

#. type: textblock
#: ../builder/virt-builder.pod:432 ../customize/virt-customize.pod:202
msgid "You don’t have a host network (eg. in secure/restricted environments)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:436 ../fish/guestfish.pod:355
#: ../fuse/guestmount.pod:294
msgid "B<--no-sync>"
msgstr "B<--no-sync>"

#. type: textblock
#: ../builder/virt-builder.pod:438
msgid "Do not sync the output file on exit."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:440
msgid "Virt-builder C<fsync>s the output file or disk image when it exits."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:442
msgid ""
"The reason is that qemu/KVM’s default caching mode is C<none> or "
"C<directsync>, both of which bypass the host page cache.  Therefore these "
"would not work correctly if you immediately started the guest after running "
"virt-builder - they would not see the complete output file.  (Note that you "
"should not use these caching modes - they are fundamentally broken for this "
"and other reasons.)"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:449
msgid ""
"If you are not using these broken caching modes, you can use I<--no-sync> to "
"avoid this unnecessary sync and gain considerable extra performance."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:453
msgid "B<--notes> os-version"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:455
msgid ""
"List any notes associated with this guest, then exit (this does not do the "
"install)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:458
msgid "B<-o> filename"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:460
msgid "B<--output> filename"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:462
msgid ""
"Write the output to F<filename>.  If you don’t specify this option, then the "
"output filename is generated by taking the C<os-version> string and adding "
"C<.img> (for raw format) or C<.qcow2> (for qcow2 format)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:467
msgid ""
"Note that the output filename could be a device, partition or logical volume."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:470
msgid ""
"When used with I<--get-kernel>, this option specifies the output directory."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:473
msgid "B<--print-cache>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:475
msgid "Print information about the template cache.  See L</CACHING>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:483 ../dib/virt-dib.pod:414
msgid "B<--size> SIZE"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:485
msgid ""
"Select the size of the output disk, where the size can be specified using "
"common names such as C<32G> (32 gigabytes) etc."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:488
msgid ""
"Virt-builder will resize filesystems inside the disk image automatically."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:491
msgid ""
"If the size is not specified, then one of two things happens.  If the output "
"is a file, then the size is the same as the template.  If the output is a "
"device, partition, etc then the size of that device is used."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:496 ../dib/virt-dib.pod:420
msgid ""
"To specify size in bytes, the number must be followed by the lowercase "
"letter I<b>, eg: S<C<--size 10737418240b>>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:499 ../customize/virt-customize.pod:214
#: ../dib/virt-dib.pod:430 ../rescue/virt-rescue.pod:257
msgid "B<--smp> N"
msgstr "B<--smp> N"

#. type: textblock
#: ../builder/virt-builder.pod:501 ../customize/virt-customize.pod:216
msgid "Enable N E<ge> 2 virtual CPUs for I<--run> scripts to use."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:503
msgid "B<--source> URL"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:505
msgid "Set the source URL to look for indexes."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:507
msgid "You can give this option multiple times to specify multiple sources."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:509
msgid "See also L</SOURCES OF TEMPLATES> below."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:511
msgid ""
"Note that you should not point I<--source> to sources that you don’t trust "
"(unless the source is signed by someone you do trust).  See also the I<--no-"
"network> option."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:515
msgid "B<--no-warn-if-partition>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:517
msgid ""
"Do not emit a warning if the output device is a partition.  This warning "
"avoids a common user error when writing to a USB key or external drive, when "
"you should normally write to the whole device (S<I<--output /dev/sdX>>), not "
"to a partition on the device (S<I<--output /dev/sdX1>>).  Use this option to "
"I<suppress> this warning."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:545 ../customize/virt-customize.pod:236
msgid "Customization options"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:547 ../customize/virt-customize.pod:238
msgid "__CUSTOMIZE_OPTIONS__"
msgstr ""

#. type: =head1
#: ../builder/virt-builder.pod:549
msgid "REFERENCE"
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:551
msgid "INSTALLING PACKAGES"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:553
msgid ""
"There are several approaches to installing packages or applications in the "
"guest which have different trade-offs."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:556
msgid "Installing packages at build time"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:558
msgid ""
"If the guest OS you are installing is similar to the host OS (eg.  both are "
"Linux), and if libguestfs supports network connections, then you can use I<--"
"install> to install packages like this:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:562
#, no-wrap
msgid ""
" virt-builder fedora-27 --install inkscape\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:564
msgid ""
"This uses the guest’s package manager and the host’s network connection."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:567
msgid "Updating packages at build time"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:569
msgid "To update the installed packages in the template at build time:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:571
#, no-wrap
msgid ""
" virt-builder fedora-27 --update\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:573
msgid ""
"Most of the templates that ship with virt-builder come with a very minimal "
"selection of packages (known as a \"JEOS\" or \"Just Enough Operating System"
"\"), which are up to date at the time the template is created, but could be "
"out of date by the time you come to install an OS from the template.  This "
"option updates those template packages."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:579
msgid "Installing packages at first boot"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:581
msgid "Another option is to install the packages when the guest first boots:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:583
#, no-wrap
msgid ""
" virt-builder fedora-27 --firstboot-install inkscape\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:585
msgid ""
"This uses the guest’s package manager and the guest’s network connection."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:588
msgid ""
"The downsides are that it will take the guest a lot longer to boot first "
"time, and there’s nothing much you can do if package installation fails (eg. "
"if a network problem means the guest can't reach the package repositories)."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:593
msgid "Installing packages at build time from a side repository"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:595
msgid ""
"If the software you want to install is not available in the main package "
"repository of the guest, then you can add a side repository.  Usually this "
"is presented as an ISO (CD disk image) file containing extra packages."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:600
msgid ""
"You can create the disk image using either L<genisoimage(1)> or L<virt-make-"
"fs(1)>.  For genisoimage, use a command like this:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:603
#, no-wrap
msgid ""
" genisoimage -o extra-packages.iso -R -J -V EXTRA cdcontents/\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:605
msgid ""
"Create a script that mounts the ISO and sets up the repository.  For dnf, "
"create /tmp/install.sh containing:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:608 ../builder/virt-builder.pod:622
#, no-wrap
msgid ""
" mkdir /tmp/mount\n"
" mount LABEL=EXTRA /tmp/mount\n"
" \n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:611
#, no-wrap
msgid ""
" cat <<'EOF' > /etc/yum.repos.d/extra.repo\n"
" [extra]\n"
" name=extra\n"
" baseurl=file:///tmp/mount\n"
" enabled=1\n"
" EOF\n"
" \n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:618
#, no-wrap
msgid ""
" dnf -y install famousdatabase\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:620
msgid "For apt, create /tmp/install.sh containing:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:625
#, no-wrap
msgid ""
" apt-cdrom -d=/tmp/mount add\n"
" apt-get -y install famousdatabase\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:628
msgid ""
"Use the I<--attach> option to attach the CD / disk image and the I<--run> "
"option to run the script:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:631
#, no-wrap
msgid ""
" virt-builder fedora-27 \\\n"
"   --attach extra-packages.iso \\\n"
"   --run /tmp/install.sh\n"
"\n"
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:635
msgid "USERS AND PASSWORDS"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:637
msgid ""
"The I<--root-password> option is used to change the root password (otherwise "
"a random password is used).  This option takes a password C<SELECTOR> in one "
"of the following formats:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:643
msgid "B<--root-password> file:FILENAME"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:645
msgid ""
"Read the root password from C<FILENAME>.  The whole first line of this file "
"is the replacement password.  Any other lines are ignored.  You should "
"create the file with mode 0600 to ensure no one else can read it."
msgstr ""
"Read the root password from C<FILENAME>.  The whole first line of this file "
"is the replacement password.  Any other lines are ignored.  You should "
"create the file with mode 0600 to ensure no one else can read it."

#. type: =item
#: ../builder/virt-builder.pod:650
msgid "B<--root-password> password:PASSWORD"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:652
msgid "Set the root password to the literal string C<PASSWORD>."
msgstr "Set the root password to the literal string C<PASSWORD>."

#. type: textblock
#: ../builder/virt-builder.pod:654
msgid ""
"B<Note: this is not secure> since any user on the same machine can see the "
"cleartext password using L<ps(1)>."
msgstr ""
"B<Note: this is not secure> since any user on the same machine can see the "
"cleartext password using L<ps(1)>."

#. type: =item
#: ../builder/virt-builder.pod:657
msgid "B<--root-password> random"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:659
msgid ""
"Choose a random password, which is printed on stdout.  The password has "
"approximately 120 bits of randomness."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:662 ../fish/guestfish-actions.pod:421
#: ../format/virt-format.pod:140 ../lib/guestfs-actions.pod:520
msgid "This is the default."
msgstr "This is the default."

#. type: =item
#: ../builder/virt-builder.pod:664
msgid "B<--root-password> disabled"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:666
msgid ""
"The root account password is disabled.  This is like putting C<*> in the "
"password field."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:669
msgid "B<--root-password> locked:file:FILENAME"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:671
msgid "B<--root-password> locked:password:PASSWORD"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:673
msgid "B<--root-password> locked:random"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:675
msgid ""
"The root account is locked, but a password is placed on the account.  If "
"first unlocked (using C<passwd -u>) then logins will use the given password."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:679
msgid "B<--root-password> locked"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:681
msgid "B<--root-password> locked:disabled"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:683
msgid "The root account is locked I<and> password is disabled."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:687
msgid "Creating user accounts"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:689
msgid ""
"To create user accounts, use the L<useradd(8)> command with L<--firstboot-"
"command> like this:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:692
#, no-wrap
msgid ""
" virt-builder --firstboot-command \\\n"
"    'useradd -m -p \"\" rjones ; chage -d 0 rjones'\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:695
msgid ""
"The above command will create an C<rjones> account with no password, and "
"force the user to set a password when they first log in.  There are other "
"ways to manage passwords, see L<useradd(8)> for details."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:699
msgid "KEYBOARD LAYOUT"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:701
msgid ""
"Because there are so many different ways to set the keyboard layout in Linux "
"distributions, virt-builder does not yet attempt to have a simple command "
"line option.  This section describes how to set the keyboard for some common "
"Linux distributions."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:706
msgid "Keyboard layout with systemd"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:708
msgid "For distros that use systemd C<localectl>, use a command like this:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:710
#, no-wrap
msgid ""
" virt-builder fedora-27 \\\n"
"   --firstboot-command 'localectl set-keymap uk'\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:713
msgid ""
"See L<localectl(1)> and L<https://www.happyassassin.net/2013/11/23/keyboard-"
"layouts-in-fedora-20-and-previously/> for more details."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:717
msgid "Keyboard layout using F</etc/sysconfig/keyboard>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:719
msgid ""
"For RHEL E<le> 6, Fedora E<le> 18 and similar, upload or modify the keyboard "
"configuration file using the I<--upload>, I<--write> or I<--edit> options.  "
"For example:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:723
#, no-wrap
msgid ""
" virt-builder centos-6 \\\n"
"   --edit '/etc/sysconfig/keyboard: s/^KEYTABLE=.*/KEYTABLE=\"uk\"/'\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:726
msgid "The format of this file can be found documented in many places online."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:728
msgid "Keyboard layout with Debian-derived distros"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:730
msgid ""
"For Debian-derived distros using F</etc/default/keyboard>, upload or modify "
"the keyboard file using the I<--upload>, I<--write> or I<--edit> options.  "
"For example:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:734
#, no-wrap
msgid ""
" virt-builder debian-8 \\\n"
"   --edit '/etc/default/keyboard: s/^XKBLAYOUT=.*/XKBLAYOUT=\"gb\"/'\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:737
msgid "See L<https://wiki.debian.org/Keyboard>."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:739
msgid "LANGUAGE"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:741
msgid ""
"Most Linux distributions support multiple locale settings so that you can "
"have guest messages printed in another language such as Russian."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:744
msgid ""
"However there is no single setting which controls this, since extra packages "
"may need to be installed to support console and X fonts, and keyboard input "
"methods.  The packages required, and their configuration is highly distro-"
"specific, and it is outside the scope of virt-builder to do this."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:750
msgid "This section contains examples for some common Linux distributions."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:752
msgid "Setting Japanese in Fedora 25"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:754
#, no-wrap
msgid ""
" virt-builder fedora-27 \\\n"
"   --size 20G \\\n"
"   --update \\\n"
"   --install @japanese-support \\\n"
"   --install @xfce \\\n"
"   --install xorg-x11-server-Xorg,xorg-x11-drivers,rsyslog \\\n"
"   --link /usr/lib/systemd/system/graphical.target:/etc/systemd/system/default.target \\\n"
"   --firstboot-command 'localectl set-locale LANG=ja_JP.utf8' \\\n"
"   --firstboot-command 'localectl set-keymap jp' \\\n"
"   --firstboot-command 'systemctl isolate graphical.target'\n"
"\n"
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:765
msgid "Setting Japanese in Debian 8 (Jessie)"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:767
msgid ""
"Note that although this enables Japanese in the text console too, it is "
"unlikely that you will see properly rendered Japanese there.  However "
"Japanese is properly rendered in X applications and terminals."
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:771
#, no-wrap
msgid ""
" pkgs=locales,xfce4,\\\n"
" ibus,ibus-anthy,\\\n"
" fonts-ipafont-gothic,fonts-ipafont-mincho,\\\n"
" fonts-takao-mincho,\\\n"
" xfonts-intl-japanese,xfonts-intl-japanese-big,\\\n"
" iceweasel-l10n-ja,manpages-ja\n"
" \n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:778
#, no-wrap
msgid ""
" virt-builder debian-8 \\\n"
"   --size 20G \\\n"
"   --install $pkgs \\\n"
"   --edit '/etc/locale.gen: s,^#\\s*ja,ja,' \\\n"
"   --write '/etc/default/locale:LANG=\"ja_JP.UTF-8\"' \\\n"
"   --run-command \"locale-gen\"\n"
"\n"
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:785
msgid "LOG FILE"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:787
msgid ""
"Scripts and package installation that runs at build time (I<--run>, I<--run-"
"command>, I<--install>, I<--update>, but I<not> firstboot) is logged in one "
"of the following locations:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:793
msgid "F</tmp/builder.log>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:795
msgid "On Linux, BSD, and other non-Windows guests."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:797
msgid "F<C:\\Temp\\builder.log>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:799
msgid "On Windows, DOS guests."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:801
msgid "F</builder.log>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:803
msgid "If F</tmp> or F<C:\\Temp> is missing."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:807
msgid ""
"If you don’t want the log file to appear in the final image, then use the "
"I<--no-logfile> command line option."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:810
msgid "SSH KEYS"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:812
msgid ""
"The I<--ssh-inject> option is used to inject ssh keys for users in the "
"guest, so they can login without supplying a password."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:815
msgid ""
"The C<SELECTOR> part of the option value is optional; in this case, I<--ssh-"
"inject> C<USER> means that we look in the I<current> user’s F<~/.ssh> "
"directory to find the default public ID file.  That key is uploaded.  "
"\"default public ID\" is the I<default_ID_file> file described in L<ssh-copy-"
"id(1)>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:821
msgid "If specified, the C<SELECTOR> can be in one of the following formats:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:825
msgid "B<--ssh-inject> USER:file:FILENAME"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:827
msgid ""
"Read the ssh key from F<FILENAME>.  F<FILENAME> is usually a I<.pub> file."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:830
msgid "B<--ssh-inject> USER:string:KEY_STRING"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:832
msgid ""
"Use the specified C<KEY_STRING>.  C<KEY_STRING> is usually a public string "
"like I<ssh-rsa AAAA.... user@localhost>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:837
msgid ""
"In any case, the F<~USER/.ssh> directory and the F<~USER/.ssh/"
"authorized_keys> file will be created if not existing already."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:841
msgid "FIRST BOOT SCRIPTS"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:843
msgid ""
"The I<--firstboot> and I<--firstboot-command> options allow you to execute "
"commands at the first boot of the guest.  To do so, an init script for the "
"guest init system is installed, which takes care of running all the added "
"scripts and commands."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:848
msgid "Supported operating systems are:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:852
msgid "Linux"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:854
msgid ""
"Init systems supported are: systemd, System-V init (known also as sysvinit), "
"and Upstart (using the System-V scripts)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:857
msgid ""
"Note that usually init scripts run as root, but with a more limited "
"environment than what could be available from a normal shell: for example, C<"
"$HOME> may be unset or empty."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:861
msgid ""
"The output of the first boot scripts is available in the guest as F<~root/"
"virt-sysprep-firstboot.log>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:864
msgid "Windows"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:866
msgid ""
"F<rhsrvany.exe>, available from sources at L<https://github.com/rwmjones/"
"rhsrvany>, or F<pvvxsvc.exe>, available with SUSE VMDP is installed to run "
"the first boot scripts.  It is required, and the setup of first boot scripts "
"will fail if it is not present."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:872
msgid ""
"F<rhsrvany.exe> or F<pvvxsvc.exe> is copied from the location pointed to by "
"the C<VIRT_TOOLS_DATA_DIR> environment variable; if not set, a compiled-in "
"default will be used (something like F</usr/share/virt-tools>)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:876
msgid ""
"The output of the first boot scripts is available in the guest as F<C:"
"\\Program Files\\Guestfs\\Firstboot\\log.txt>."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:881
msgid "SUBSCRIPTION-MANAGER"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:883
msgid ""
"It is possible to automate the registration and attaching of the system "
"using C<subscription-manager>.  This is typical on Red Hat Enterprise Linux "
"guests.  There are few options which ease this process, avoid executing "
"commands manually and exposing passwords on command line."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:889
msgid ""
"I<--sm-register> starts the registration process, and requires I<--sm-"
"credentials> to be specified; the format of the C<SELECTOR> of I<--sm-"
"credentials> is one of the following formats:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:895
msgid "B<--sm-credentials> USER:file:FILENAME"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:897
msgid "Read the password for the specified C<USER> from F<FILENAME>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:899
msgid "B<--sm-credentials> USER:password:PASSWORD"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:901
msgid "Use the literal string C<PASSWORD> for the specified C<USER>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:905
msgid ""
"I<--sm-attach> attaches the system to subscriptions; the format of its "
"C<SELECTOR> is one of the following:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:910
msgid "B<--sm-attach> auto"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:912
msgid ""
"C<subscription-manager> attaches to the best-fitting subscriptions for the "
"system."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:915
msgid "B<--sm-attach> file:FILENAME"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:917
msgid "Read the pool ID from F<FILENAME>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:919
msgid "B<--sm-attach> pool:POOL"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:921
msgid "Use the literal string C<POOL> as pool ID."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:925
msgid ""
"I<--sm-remove> removes all the subscriptions from the guest, while I<--sm-"
"unregister> completely unregister the system."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:928
msgid "INSTALLATION PROCESS"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:930
msgid "When you invoke virt-builder, installation proceeds as follows:"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:936
msgid "The template image is downloaded."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:938
msgid ""
"If the template image is present in the cache, the cached version is used "
"instead.  (See L</CACHING>)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:943
msgid "The template signature is checked."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:947
msgid "The template is uncompressed to a tmp file."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:951
msgid ""
"The template image is resized into the destination, using L<virt-resize(1)>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:956
msgid "Extra disks are attached (I<--attach>)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:960
msgid "A new random seed is generated for the guest."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:964
msgid ""
"Guest customization is performed, in the order specified on the command line."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:969
msgid "SELinux relabelling is done (I<--selinux-relabel>)."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:973
msgid "IMPORTING THE DISK IMAGE"
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:975
msgid "Importing into libvirt"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:977
msgid ""
"Import the disk image into libvirt using L<virt-install(1)> I<--import> "
"option."
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:980
#, no-wrap
msgid ""
" virt-install --import \\\n"
"   --name guest --ram 2048 \\\n"
"   --disk path=disk.img,format=raw --os-variant fedora27\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:984 ../docs/guestfs-recipes.pod:310
#: ../docs/internal-documentation.pod:1350
#: ../docs/internal-documentation.pod:3133
#: ../docs/internal-documentation.pod:3477 ../fish/guestfish-actions.pod:2909
#: ../fish/guestfish-actions.pod:3542 ../fish/guestfish-actions.pod:4292
#: ../lib/guestfs-actions.pod:4836 ../lib/guestfs-actions.pod:5854
#: ../lib/guestfs-actions.pod:6901 ../lib/guestfs.pod:795
#: ../lib/guestfs.pod:2378 ../tools/virt-win-reg:769
msgid "Notes:"
msgstr "Notes:"

#. type: textblock
#: ../builder/virt-builder.pod:990
msgid ""
"You I<must> specify the correct format.  The format is C<raw> unless you "
"used virt-builder’s I<--format> option."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:995
msgid ""
"I<--os-variant> is highly recommended, because it will present optimum "
"devices to enable the guest to run most efficiently.  To get a list of all "
"variants, do:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:999
#, no-wrap
msgid ""
" osinfo-query os\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1001
msgid "The above tool is provided by libosinfo package."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1005
msgid ""
"You can run virt-install as root or non-root.  Each works slightly "
"differently because libvirt manages a different set of virtual machines for "
"each user.  In particular virt-manager normally shows the root-owned VMs, "
"whereas Boxes shows the user-owned VMs, and other tools probably work "
"differently as well."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1013
msgid "Importing into OpenStack"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1015
msgid "Import the image into Glance (the OpenStack image store) by doing:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1017
#, no-wrap
msgid ""
" glance image-create --name fedora-27-image --file fedora-27.img \\\n"
"   --disk-format raw --container-format bare \\\n"
"   --is-public True\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1021
msgid ""
"The I<--file> parameter is the virt-builder-generated disk image.  It should "
"match virt-builder’s I<--output> option.  The I<--disk-format> parameter "
"should match virt-builder’s I<--format> option (or C<raw> if you didn't use "
"that option).  The I<--container-format> should always be C<bare> since virt-"
"builder doesn't put images into containers."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1027
msgid ""
"You can use the S<C<glance image-show I<fedora-27-image>>> command to "
"display the properties of the image."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1030
msgid "To boot up an instance of your image on a Nova compute node, do:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1032
#, no-wrap
msgid ""
" nova boot fedora-27-server --image fedora-27-image \\\n"
"   --flavor m1.medium\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1035
msgid ""
"Use S<C<nova flavor-list>> to list possible machine flavors.  Use S<C<nova "
"list>> to list running instances."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1038
msgid "Booting directly using qemu or KVM"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1040
msgid ""
"The qemu command line is not very stable or easy to use, hence libvirt "
"should be used if possible.  However a command line similar to the following "
"could be used to boot the virtual machine:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1044
#, no-wrap
msgid ""
" qemu-system-x86_64 \\\n"
"   -machine accel=kvm:tcg \\\n"
"   -cpu host \\\n"
"   -m 2048 \\\n"
"   -drive file=disk.img,format=raw,if=virtio\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1050
msgid ""
"As with libvirt, it is very important that the correct format is chosen.  It "
"will be C<raw> unless the I<--format> option was used."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:1053
msgid "CONFIGURATION MANAGEMENT"
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1055
msgid "Puppet"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1057
msgid ""
"To enable the Puppet agent in a guest, install the package, point the "
"configuration at your Puppetmaster, and ensure the agent runs at boot."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1061
msgid "A typical virt-builder command would be:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1063
#, no-wrap
msgid ""
" virt-builder fedora-27 \\\n"
"   --hostname client.example.com \\\n"
"   --update \\\n"
"   --install puppet \\\n"
"   --append-line '/etc/puppet/puppet.conf:[agent]' \\\n"
"   --append-line '/etc/puppet/puppet.conf:server = puppetmaster.example.com/' \\\n"
"   --run-command 'systemctl enable puppet' \\\n"
"   --selinux-relabel\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1072
msgid ""
"The precise instructions vary according to the Linux distro.  For further "
"information see: L<https://docs.puppet.com/puppet/latest/install_pre.html>"
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:1076
msgid "DEBUGGING BUILDS"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1078
msgid ""
"If virt-builder itself fails, then enable debugging (I<-v>) and report a bug "
"(see L</BUGS> below)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1081
msgid ""
"If virt-builder fails because some script or package it is installing fails, "
"try using I<--no-delete-on-failure> to preserve the output file, and "
"continue reading this section."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1085
msgid ""
"If virt-builder is successful but the image doesn't work, here are some "
"things to try:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1090
msgid "Use virt-rescue"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1092
msgid "Run L<virt-rescue(1)> on the disk image:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1094
#, no-wrap
msgid ""
" virt-rescue -a disk.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1096
msgid ""
"This gives you a rescue shell.  You can mount the filesystems from the disk "
"image on F</sysroot> and examine them using ordinary Linux commands.  You "
"can also chroot into the guest to reinstall the bootloader.  The virt-rescue "
"man page has a lot more information and examples."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1102
msgid "Use guestfish"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1104
msgid "Run L<guestfish(1)> on the disk image:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1106
#, no-wrap
msgid ""
" guestfish -a disk.img -i\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1108
msgid ""
"Use guestfish commands like C<ll /directory> and C<cat /file> to examine "
"directories and files."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1111
msgid "Use guestmount"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1113
msgid ""
"Mount the disk image safely on the host using FUSE and L<guestmount(1)>:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1115
#, no-wrap
msgid ""
" mkdir /tmp/mp\n"
" guestmount -a disk.img -i /tmp/mp\n"
" cd /tmp/mp\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1119
msgid "To unmount the disk image do:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1121
#, no-wrap
msgid ""
" fusermount -u /tmp/mp\n"
"\n"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1123
msgid "Add a serial console"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1125
msgid ""
"If the guest hangs during boot, it can be helpful to add a serial console to "
"the guest, and direct kernel messages to the serial console.  Adding the "
"serial console will involve looking at the documentation for your "
"hypervisor.  To direct kernel messages to the serial console, add the "
"following on the kernel command line:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1131
#, no-wrap
msgid ""
" console=tty0 console=ttyS0,115200\n"
"\n"
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:1135
msgid "SOURCES OF TEMPLATES"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1137
msgid ""
"virt-builder reads the available sources from configuration files, with the "
"I<.conf> extension and located in the following paths:"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1144
msgid ""
"$XDG_CONFIG_HOME/virt-builder/repos.d/ (C<$XDG_CONFIG_HOME> is F<$HOME/."
"config> if not set)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1149
msgid ""
"$XDG_CONFIG_DIRS/virt-builder/repos.d/ (where C<$XDG_CONFIG_DIRS> means any "
"of the directories in that environment variable, or just F</etc/xdg> if not "
"set)"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1155
msgid ""
"Each I<.conf> file in those paths has a simple text format like the "
"following:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1158
#, no-wrap
msgid ""
" [libguestfs.org]\n"
" uri=http://libguestfs.org/download/builder/index.asc\n"
" gpgkey=file:///etc/xdg/virt-builder/repos.d/libguestfs.gpg\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1162
msgid ""
"The part in square brackets is the repository identifier, which is used as "
"unique identifier."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1165 ../builder/virt-builder.pod:1336
msgid "The following fields can appear:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1169
msgid "C<uri=URI>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1171
msgid "The URI of the index file which this repository refers to."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1173 ../builder/virt-builder.pod:1425
msgid "This field is required."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1175
msgid "C<gpgkey=URI>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1177
msgid ""
"This optional field represents the URI (although only I<file://> URIs are "
"accepted) of the key used to sign the index file.  If not present, the index "
"file referred by I<uri=..> is not signed."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1181
msgid "C<proxy=MODE>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1183
msgid ""
"This optional field specifies the proxy mode, to be used when downloading "
"the index file of this repository.  The possible values are:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1188
msgid "B<no>, B<off>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1190
msgid ""
"No proxy is being used at all, even overriding the system configuration."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1192
msgid "B<system>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1194
msgid "The proxy used is the system one."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1196
msgid "I<anything else>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1198
msgid ""
"Specifies the actual proxy configuration to be used, overriding the system "
"configuration."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1203
msgid ""
"If not present, the assumed value is to respect the proxy settings of the "
"system (i.e. as if B<system> would be specified)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1206
msgid "C<format=FORMAT>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1208
msgid ""
"This optional field specifies the format of the repository.  The possible "
"values are:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1213
msgid "B<native>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1215
msgid ""
"The native format of the C<virt-builder> repository.  See also L</Creating "
"and signing the index file> below."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1218
msgid "B<simplestreams>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1220
msgid "The URI represents the root of a Simple Streams v1.0 tree of metadata."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1222
msgid ""
"For more information about Simple Streams, see also L<https://launchpad.net/"
"simplestreams>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1227
msgid "If not present, the assumed value is C<native>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1231
msgid ""
"For serious virt-builder use, you may want to create your own repository of "
"templates."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1234
msgid "Libguestfs.org repository"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1236
msgid ""
"Out of the box, virt-builder downloads the file L<http://libguestfs.org/"
"download/builder/index.asc> which is an index of available templates plus "
"some information about each one, wrapped up in a digital signature.  The "
"command C<virt-builder --list> lists out the information in this index file."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1242
msgid ""
"The templates hosted on libguestfs.org were created using shell scripts, "
"kickstart files and preseed files which can be found in the libguestfs "
"source tree, in C<builder/templates>."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1246
msgid "Setting up the repository"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1248
msgid ""
"You can set up your own site containing an index file and some templates, "
"and then point virt-builder at the site by creating a I<.conf> file pointing "
"to it."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1252
msgid ""
"Note that if your index is signed, you will need to properly fill I<gpgkey=.."
"> in your I<.conf> file, making sure to deploy also the GPG key file."
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1256
#, no-wrap
msgid ""
" virt-builder --source https://example.com/builder/index.asc \\\n"
"    --fingerprint 'AAAA BBBB ...' \\\n"
"    --list\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1260
msgid ""
"You can host this on any web or FTP server, or a local or network filesystem."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1263
msgid "Setting up a GPG key"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1265
msgid ""
"If you don’t have a GnuPG key, you will need to set one up.  (Strictly "
"speaking this is optional, but if your index and template files are not "
"signed then virt-builder users will have to use the I<--no-check-signature> "
"flag every time they use virt-builder.)"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1270
msgid ""
"To create a key, see the GPG manual L<http://www.gnupg.org/gph/en/manual."
"html>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1273
msgid "Export your GPG public key:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1275
#, no-wrap
msgid ""
" gpg --export -a \"you@example.com\" > pubkey\n"
" \n"
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1277
msgid "Create the templates"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1279
msgid ""
"There are many ways to create the templates.  For example you could clone "
"existing guests (see L<virt-sysprep(1)>), or you could install a guest by "
"hand (L<virt-install(1)>).  To see how the templates were created for virt-"
"builder, look at the scripts in C<builder/templates>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1284
msgid ""
"Virt-builder supports any image format (e.g. raw, qcow2, etc) as template, "
"both as-is, and compressed as XZ.  This way, existing images (e.g. cleaned "
"using L<virt-sysprep(1)>) can be used as templates."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1288
msgid ""
"For best results when compressing the templates, use the following xz "
"options (see L<nbdkit-xz-plugin(1)> for further explanation):"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1291
#, no-wrap
msgid ""
" xz --best --block-size=16777216 disk\n"
"\n"
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1293
msgid "Creating and signing the index file"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1295
msgid ""
"The index file has a simple text format (shown here without the digital "
"signature):"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1298
#, no-wrap
msgid ""
" [fedora-18]\n"
" name=Fedora® 18\n"
" osinfo=fedora18\n"
" arch=x86_64\n"
" file=fedora-18.xz\n"
" checksum[sha512]=...\n"
" format=raw\n"
" size=6442450944\n"
" compressed_size=148947524\n"
" expand=/dev/sda3\n"
" \n"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1309
#, no-wrap
msgid ""
" [fedora-19]\n"
" name=Fedora® 19\n"
" osinfo=fedora19\n"
" arch=x86_64\n"
" file=fedora-19.xz\n"
" checksum[sha512]=...\n"
" revision=3\n"
" format=raw\n"
" size=4294967296\n"
" compressed_size=172190964\n"
" expand=/dev/sda3\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1321
msgid ""
"The part in square brackets is the C<os-version>, which is the same string "
"that is used on the virt-builder command line to build that OS."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1324
msgid ""
"The index file creation and signature can be eased with the L<virt-builder-"
"repository(1)> tool."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1327
msgid ""
"After preparing the C<index> file in the correct format, clearsign it using "
"the following command:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1330
#, no-wrap
msgid ""
" gpg --clearsign --armor index\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1332
msgid ""
"This will create the final file called F<index.asc> which can be uploaded to "
"the server (and is the I<uri=..> URL).  As noted above, signing the index "
"file is optional, but recommended."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1340
msgid "C<name=NAME>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1342
msgid ""
"The user-friendly name of this template.  This is displayed in the I<--list> "
"output but is otherwise not significant."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1345
msgid "C<osinfo=ID>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1347
msgid ""
"This optional field maps the operating system to the associated libosinfo "
"ID.  Virt-builder does not use it (yet)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1350
msgid "C<arch=ARCH>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1352
msgid ""
"The architecture of the operating system installed within the template. This "
"field is required."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1355
msgid "C<file=PATH>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1357
msgid "The path (relative to the index) of the xz-compressed template."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1359 ../builder/virt-builder.pod:1370
msgid ""
"Note that absolute paths or URIs are B<not> permitted here.  This is because "
"virt-builder has a \"same origin\" policy for templates so they cannot come "
"from other servers."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1363
msgid "C<sig=PATH>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1365
msgid "B<This option is deprecated>.  Use the checksum field instead."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1367
msgid ""
"The path (relative to the index) of the GPG detached signature of the xz "
"file."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1374
msgid "The file can be created as follows:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1376
#, no-wrap
msgid ""
" gpg --detach-sign --armor -o disk.xz.sig disk.xz\n"
"\n"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1378
msgid "C<checksum[sha512]=7b882fe9b82eb0fef...>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1380
msgid ""
"The SHA-512 checksum of the file specified in I<file=..> is checked after it "
"is downloaded.  To work out the signature, do:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1383
#, no-wrap
msgid ""
" sha512sum disk.xz\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1385
msgid ""
"Note if you use this, you don’t need to sign the file, ie. don’t use "
"C<sig>.  This option overrides C<sig>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1388
msgid "C<checksum=7b882fe9b82eb0fef...>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1390
msgid "C<checksum> is an alias for C<checksum[sha512]>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1392
msgid ""
"If you need to interoperate with virt-builder = 1.24.0 then you have to use "
"C<checksum> because that version would give a parse error with square "
"brackets and numbers in the key of a field.  This is fixed in virt-builder "
"E<ge> 1.24.1."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1397
msgid "C<revision=N>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1399
msgid ""
"The revision is an integer which is used to control the template cache.  "
"Increasing the revision number causes clients to download the template again "
"even if they have a copy in the cache."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1403
msgid "The revision number is optional.  If omitted it defaults to C<1>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1405
msgid "C<format=raw>"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1407
msgid "C<format=qcow2>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1409
msgid ""
"Specify the format of the disk image; in case it is compressed, that is the "
"format before the compression.  If not given, the format is autodetected, "
"but generally it is better to be explicit about the intended format."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1414
msgid ""
"Note this is the source format, which is different from the I<--format> "
"option (requested output format).  Virt-builder does on-the-fly conversion "
"from the source format to the requested output format."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1419
msgid "C<size=NNN>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1421
msgid ""
"The virtual size of the image in bytes.  This is the size of the image when "
"uncompressed.  If using a non-raw format such as qcow2 then it means the "
"virtual disk size, not the size of the qcow2 file."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1427
msgid ""
"Virt-builder also uses this as the minimum size that users can request via "
"the I<--size> option, or as the default size if there is no I<--size> option."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1431
msgid "C<compressed_size=NNN>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1433
msgid ""
"The actual size of the disk image in bytes, i.e. what was specified in "
"I<file=..>.  This is just used for information (when using C<long>, and "
"C<json> formats of I<--list>)."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1437
msgid "C<expand=/dev/sdaX>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1439
msgid ""
"When expanding the image to its final size, instruct L<virt-resize(1)> to "
"expand the named partition in the guest image to fill up all available "
"space.  This works like the virt-resize I<--expand> option."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1443
msgid ""
"You should usually put the device name of the guest’s root filesystem here."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1445
msgid ""
"It’s a good idea to use this, but not required.  If the field is omitted "
"then virt-resize will create an extra partition at the end of the disk to "
"cover the free space, which is much less user-friendly."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1449
msgid "C<lvexpand=/dev/VolGroup/LogVol>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1451
msgid ""
"When expanding the image to its final size, instruct L<virt-resize(1)> to "
"expand the named logical volume in the guest image to fill up all available "
"space.  This works like the virt-resize I<--lv-expand> option."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1455
msgid ""
"If the guest uses LVM2 you should usually put the LV of the guest’s root "
"filesystem here.  If the guest does not use LVM2 or its root filesystem is "
"not on an LV, don't use this option."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1459
msgid "C<notes=NOTES>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1461
msgid ""
"Any notes that go with this image, especially notes describing what packages "
"are in the image, how the image was prepared, and licensing information."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1465
msgid ""
"This information is shown in the I<--notes> and I<--list> I<--long> modes."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1467
msgid ""
"You can use multi-line notes here by indenting each new line with at least "
"one character of whitespace (even on blank lines):"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1470
#, no-wrap
msgid ""
" notes=This image was prepared using\n"
"  the following kickstart script:\n"
"                                <-- one space at beginning of line\n"
"  part /boot --fstype ext3\n"
"  ...\n"
"\n"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1476
msgid "C<hidden=true>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1478
msgid ""
"Using the hidden flag prevents the template from being listed by the I<--"
"list> option (but it is still installable).  This is used for test images."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1482
msgid "C<aliases=ALIAS1 ALIAS2 ...>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1484
msgid ""
"This optional field specifies a list of aliases, separated by spaces, for "
"the image.  For example, an alias could be used to always point to the "
"latest version of a certain image, leaving the old versions available in the "
"index instead of updating the same image (see the C<revision> field)."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1492
msgid "Running virt-builder against multiple sources"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1494
msgid ""
"It is possible to use multiple sources with virt-builder.  The recommended "
"way is to deploy I<.conf> files pointing to the index files. Another way is "
"to specify the sources using multiple I<--source> and/or I<--fingerprint> "
"options:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1499
#, no-wrap
msgid ""
" virt-builder \\\n"
"   --source http://example.com/s1/index.asc \\\n"
"   --source http://example.com/s2/index.asc\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1503
msgid ""
"You can provide N or 1 fingerprints.  In the case where you provide N "
"fingerprints, N = number of sources and there is a 1-1 correspondence "
"between each source and each fingerprint:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1507
#, no-wrap
msgid ""
" virt-builder \\\n"
"   --source http://example.com/s1/index.asc --fingerprint '0123 ...' \\\n"
"   --source http://example.com/s2/index.asc --fingerprint '9876 ...'\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1511
msgid ""
"In the case where you provide 1 fingerprint, the same fingerprint is used "
"for all sources."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1514
msgid "You C<must> provide at least 1 fingerprint."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1516
msgid "Licensing of templates"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1518
msgid ""
"You should be aware of the licensing of images that you distribute.  For "
"open source guests, provide a link to the source code in the C<notes> field "
"and comply with other requirements (eg. around trademarks)."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1523
msgid "Formal specification of the index file"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1525
msgid ""
"The index file format has a formal specification defined by the flex scanner "
"and bison parser used to parse the file.  This can be found in the following "
"files in the libguestfs source tree:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1529
#, no-wrap
msgid ""
" builder/index-scan.l\n"
" builder/index-parse.y\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1532
msgid ""
"A tool called L<virt-index-validate(1)> is available to validate the index "
"file to ensure it is correct."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1535
msgid ""
"Note that the parser and tool can work on either the signed or unsigned "
"index file (ie. F<index> or F<index.asc>)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1538
msgid "The index is always encoded in UTF-8."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:1540
msgid "CACHING"
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1542
msgid "Caching templates"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1544
msgid ""
"Since the templates are usually very large, downloaded templates are cached "
"in the user’s home directory."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1547
msgid ""
"The location of the cache is F<$XDG_CACHE_HOME/virt-builder/> or F<$HOME/."
"cache/virt-builder>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1550
msgid ""
"You can print out information about the cache directory, including which "
"guests are currently cached, by doing:"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1555
msgid "The cache can be deleted if you want to save space by doing:"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1559
msgid "You can download all (current) templates to the local cache by doing:"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1563
msgid "To disable the template cache, use I<--no-cache>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1565
msgid ""
"Only templates are cached.  The index and detached digital signatures are "
"not cached."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1568
msgid "Caching packages"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1570
msgid ""
"Virt-builder uses L<curl(1)> to download files and it also uses the current "
"C<http_proxy> (etc) settings when installing packages (I<--install>, I<--"
"update>)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1574
msgid ""
"You may therefore want to set those environment variables in order to "
"maximize the amount of local caching that happens.  See L</ENVIRONMENT "
"VARIABLES> and L<curl(1)>."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1578
msgid "Local mirrors"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1580
msgid ""
"To increase both speed and reliability of installing packages, you can set "
"up a local mirror of the target distribution, and point the guest package "
"manager at that."
msgstr ""

#. type: =head4
#: ../builder/virt-builder.pod:1584
msgid "Using a local mirror with Fedora"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1586
msgid "To install a Fedora guest using a local mirror:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1588
#, no-wrap
msgid ""
" virt-builder fedora-27 \\\n"
"   --edit '/etc/yum.repos.d/fedora.repo:\n"
"       s{.*baseurl=.*}{baseurl=http://example.com/mirror/};\n"
"       s{.*metalink=.*}{};\n"
"   ' \\\n"
"   --edit '/etc/yum.repos.d/fedora-updates.repo:\n"
"       s{.*baseurl=.*}{baseurl=http://example.com/mirror-updates/};\n"
"       s{.*metalink=.*}{};\n"
"   ' \\\n"
"   --run-command 'dnf -y update' \\\n"
"   --install 'pkg1,pkg2,...'\n"
"\n"
msgstr ""

#. type: =head4
#: ../builder/virt-builder.pod:1600
msgid "Using a local mirror with Debian"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1602
msgid ""
"Assuming that you are using C<apt-proxy> to mirror the repository, you "
"should create a new F<sources.list> file to point to your proxy (see "
"L<https://help.ubuntu.com/community/AptProxy>) and then do:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1606
#, no-wrap
msgid ""
" virt-builder debian-8 \\\n"
"   --upload sources.list:/etc/apt/sources.list \\\n"
"   --run-command 'apt-get -y update' \\\n"
"   --install 'pkg1,pkg2,...'\n"
"\n"
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:1611
msgid "DIGITAL SIGNATURES"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1613
msgid ""
"Virt-builder uses GNU Privacy Guard (GnuPG or gpg) to verify that the index "
"and templates have not been tampered with."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1616
msgid "The source points to an index file, which is optionally signed."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1618
msgid ""
"Virt-builder downloads the index and checks that the signature is valid and "
"the signer’s fingerprint matches the specified fingerprint (ie. the one "
"specified in I<gpgkey=..> in the I<.conf>, or with I<--fingerprint>, in that "
"order)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1623
msgid ""
"For checking against the built-in public key/fingerprint, this requires "
"importing the public key into the user’s local gpg keyring (that’s just the "
"way that gpg works)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1627
msgid ""
"When a template is downloaded, its signature is checked in the same way."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1630
msgid ""
"Although the signatures are optional, if you don’t have them then virt-"
"builder users will have to use I<--no-check-signature> on the command line.  "
"This prevents an attacker from replacing the signed index file with an "
"unsigned index file and having virt-builder silently work without checking "
"the signature.  In any case it is highly recommended that you always create "
"signed index and templates."
msgstr ""

#. type: =head1
#: ../builder/virt-builder.pod:1637 ../docs/guestfs-internals.pod:11
msgid "ARCHITECTURE"
msgstr "ARCHITECTURE"

#. type: textblock
#: ../builder/virt-builder.pod:1639
msgid ""
"Virt-builder can build a guest for any architecture no matter what the host "
"architecture is.  For example an x86-64 guest on an ARM host."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1642
msgid ""
"However certain options may not work, specifically options that require "
"running commands in the guest during the build process: I<--install>, I<--"
"update>, I<--run>, I<--run-command>.  You may need to replace these with "
"their firstboot-equivalents."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1647
msgid ""
"An x86-64 host building 32 bit i686 guests should work without any special "
"steps."
msgstr ""

#. type: =head1
#: ../builder/virt-builder.pod:1650 ../sysprep/virt-sysprep.pod:517
msgid "SECURITY"
msgstr "SECURITY"

#. type: textblock
#: ../builder/virt-builder.pod:1652
msgid ""
"Virt-builder does not need to run as root (in fact, should not be run as "
"root), and doesn't use setuid, C<sudo> or any similar mechanism."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1655
msgid ""
"I<--install>, I<--update>, I<--run> and I<--run-command> are implemented "
"using an appliance (a small virtual machine) so these commands do not run on "
"the host.  If you are using the libguestfs libvirt backend and have SELinux "
"enabled then the virtual machine is additionally encapsulated in an SELinux "
"container (sVirt)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1661
msgid ""
"However these options will have access to the host’s network and since the "
"template may contain untrusted code, the code might try to access host "
"network resources which it should not.  You can use I<--no-network> to "
"prevent this."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1666
msgid ""
"Firstboot commands run in the context of the guest when it is booted, and so "
"the security of your hypervisor / cloud should be considered."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1669
msgid ""
"Virt-builder injects a random seed into every guest which it builds.  This "
"helps to ensure that TCP sequence numbers, UUIDs, ssh host keys etc are "
"truly random when the guest boots."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1673
msgid "You should check digital signatures and not ignore any signing errors."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:1675
msgid "CLONES"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1677
msgid ""
"If you wish to create many new guests of the same type, it is tempting to "
"run virt-builder once and then copy the output file.  You should B<not> do "
"this.  You should run virt-builder once for each new guest you need."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1682
msgid ""
"The reason is that each clone needs to have (at least) a separate random "
"seed, and possibly other unique features (such as filesystem UUIDs) in "
"future versions of virt-builder."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1686
msgid ""
"Another thing you should I<not> do is to boot the guest, then clone the "
"booted disk image.  The reason is that some guests create unique machine "
"IDs, SSH host keys and so on at first boot, and you would not want clones to "
"have duplicate identities."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1691
msgid "See also: L<virt-sysprep(1)>."
msgstr ""

#. type: =head2
#: ../builder/virt-builder.pod:1693
msgid "PERFORMANCE"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1695
msgid ""
"The most important aspect of getting good performance is caching.  Templates "
"gets downloaded into the cache the first time they are used, or if you use "
"the I<--cache-all-templates> option.  See L</CACHING> above for further "
"information."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1700
msgid ""
"Packages required for the I<--install> and I<--update> options are "
"downloaded using the host network connection.  Setting the C<http_proxy>, "
"C<https_proxy> and C<ftp_proxy> environment variables to point to a local "
"web cache may ensure they only need to be downloaded once.  You can also try "
"using a local package repository, although this can be complex to set up and "
"varies according to which Linux distro you are trying to install."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1708
msgid "Using I<--no-sync>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1710
msgid ""
"Use I<--no-sync>.  However read the caveats in the L</OPTIONS> section "
"above, since this can cause disk corruption if not used correctly."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1713
msgid "Skipping virt-resize"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1715
msgid ""
"Virt-builder can skip the virt-resize step under certain conditions.  This "
"makes virt-builder much faster.  The conditions are:"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1722
msgid "the output must be a regular file (not a block device), B<and>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1726
msgid "the user did B<not> use the I<--size> option, B<and>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1730
msgid "the output format is the same as the template format (usually raw)."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1734
msgid "pxzcat"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1736
msgid ""
"Virt-builder uses an internal implementation of pxzcat (parallel xzcat) if "
"liblzma was found at build time.  If liblzma was not found at build time, "
"regular C<xzcat> is used which is single-threaded."
msgstr ""

#. type: =head3
#: ../builder/virt-builder.pod:1740
msgid "User-Mode Linux"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1742
msgid ""
"You can use virt-builder with the User-Mode Linux (UML) backend.  This may "
"be faster when running virt-builder inside a virtual machine (eg. in the "
"cloud)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1746
msgid ""
"To enable the UML backend, read the instructions in L<guestfs(3)/USER-MODE "
"LINUX BACKEND>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1749
msgid ""
"Currently you have to use the I<--no-network> option.  This should be fixed "
"in a future version."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1752
msgid ""
"The qcow2 output format is not supported by UML.  You can only create raw-"
"format guests."
msgstr ""

#. type: =head1
#: ../builder/virt-builder.pod:1755 ../customize/virt-customize.pod:240
#: ../lib/guestfs.pod:517 ../sysprep/virt-sysprep.pod:548
msgid "SELINUX"
msgstr "SELINUX"

#. type: textblock
#: ../builder/virt-builder.pod:1757
msgid ""
"Guests which use SELinux (such as Fedora and Red Hat Enterprise Linux)  "
"require that each file has a correct SELinux label."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1760
msgid ""
"Virt-builder does not know how to give new files a label, so there are two "
"possible strategies it can use to ensure correct labelling:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1765
msgid "Using I<--selinux-relabel>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1767
msgid ""
"This runs L<setfiles(8)> just before finalizing the guest, which sets "
"SELinux labels correctly in the disk image."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1770
msgid "This is the recommended method."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1772
msgid "I<--touch> F</.autorelabel>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1774
msgid ""
"Guest templates may already contain a file called F</.autorelabel> or you "
"may touch it."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1777
msgid ""
"For guests that use SELinux, this causes L<restorecon(8)> to run at first "
"boot.  Guests will reboot themselves once the first time you use them, which "
"is normal and harmless."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1783
msgid ""
"Please note that if your guest uses SELinux, and you are doing operations on "
"it which might create new files or change existing ones, you are recommended "
"to use I<--selinux-relabel>.  This will help in making sure that files have "
"the right SELinux labels."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1790
msgid ""
"The I<--machine-readable> option can be used to make the output more machine "
"friendly, which is useful when calling virt-builder from other programs, "
"GUIs etc."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1794
msgid ""
"Use the option on its own to query the capabilities of the virt-builder "
"binary.  Typical output looks like this:"
msgstr ""

#. type: verbatim
#: ../builder/virt-builder.pod:1797
#, no-wrap
msgid ""
" $ virt-builder --machine-readable\n"
" virt-builder\n"
" arch\n"
" config-file\n"
" customize\n"
" json-list\n"
" pxzcat\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1813 ../get-kernel/virt-get-kernel.pod:190
msgid ""
"For other environment variables which affect all libguestfs programs, see "
"L<guestfs(3)/ENVIRONMENT VARIABLES>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1818
msgid "C<http_proxy>"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1820
msgid "C<https_proxy>"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1822
msgid "C<no_proxy>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1824
msgid ""
"Set the proxy for downloads.  These environment variables (and more)  are "
"actually interpreted by L<curl(1)>, not virt-builder."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1827
msgid "C<HOME>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1829
msgid ""
"Used to determine the location of the template cache, and the location of "
"the user' sources.  See L</CACHING> and L</SOURCES OF TEMPLATES>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1832 ../customize/virt-customize.pod:256
#: ../sysprep/virt-sysprep.pod:569
msgid "C<VIRT_TOOLS_DATA_DIR>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1834 ../customize/virt-customize.pod:258
#: ../sysprep/virt-sysprep.pod:571
msgid ""
"This can point to the directory containing data files used for Windows "
"firstboot installation."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1837 ../customize/virt-customize.pod:261
#: ../sysprep/virt-sysprep.pod:574
msgid ""
"Normally you do not need to set this.  If not set, a compiled-in default "
"will be used (something like F</usr/share/virt-tools>)."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1840 ../customize/virt-customize.pod:264
#: ../sysprep/virt-sysprep.pod:577
msgid "This directory may contain the following files:"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1844 ../customize/virt-customize.pod:268
#: ../sysprep/virt-sysprep.pod:581
msgid "F<rhsrvany.exe>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1846 ../customize/virt-customize.pod:270
#: ../sysprep/virt-sysprep.pod:583
msgid ""
"This is the RHSrvAny Windows binary, used to install a \"firstboot\" script "
"in Windows guests.  It is required if you intend to use the I<--firstboot> "
"or I<--firstboot-command> options with Windows guests."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1850 ../customize/virt-customize.pod:274
#: ../sysprep/virt-sysprep.pod:587
msgid "See also: C<https://github.com/rwmjones/rhsrvany>"
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1852 ../customize/virt-customize.pod:276
#: ../sysprep/virt-sysprep.pod:589
msgid "F<pvvxsvc.exe>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1854 ../customize/virt-customize.pod:278
#: ../sysprep/virt-sysprep.pod:591
msgid ""
"This is a Windows binary shipped with SUSE VMDP, used to install a "
"\"firstboot\" script in Windows guests.  It is required if you intend to use "
"the I<--firstboot> or I<--firstboot-command> options with Windows guests."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1860
msgid "C<XDG_CACHE_HOME>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1862
msgid "Used to determine the location of the template cache.  See L</CACHING>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1864
msgid "C<XDG_CONFIG_HOME>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1866
msgid ""
"Used to determine the location of the user' sources.  See L</SOURCES OF "
"TEMPLATES>."
msgstr ""

#. type: =item
#: ../builder/virt-builder.pod:1869
msgid "C<XDG_CONFIG_DIRS>"
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1871
msgid ""
"Used to determine the location of the system sources.  See L</SOURCES OF "
"TEMPLATES>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1883
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestmount(1)>, L<virt-builder-"
"repository(1)>, L<virt-copy-out(1)>, L<virt-customize(1)>, L<virt-get-"
"kernel(1)>, L<virt-install(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, L<virt-"
"sysprep(1)>, L<oz-install(1)>, L<gpg(1)>, L<gpg2(1)>, L<curl(1)>, L<virt-"
"make-fs(1)>, L<genisoimage(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../builder/virt-builder.pod:1908 ../builder/virt-index-validate.pod:90
#: ../fuse/guestunmount.pod:162 ../golang/examples/guestfs-golang.pod:98
msgid "Copyright (C) 2013 Red Hat Inc."
msgstr "Copyright (C) 2013 Red Hat Inc."

#. type: textblock
#: ../builder/virt-index-validate.pod:3
msgid "virt-index-validate - Validate virt-builder index file"
msgstr ""

#. type: verbatim
#: ../builder/virt-index-validate.pod:7
#, no-wrap
msgid ""
" virt-index-validate index\n"
"\n"
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:11
msgid ""
"L<virt-builder(1)> uses an index file to store metadata about templates that "
"it knows how to use.  This index file has a specific format which virt-index-"
"validate knows how to validate."
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:15
msgid ""
"Note that virt-index-validate can validate either the signed or unsigned "
"index file (ie. either F<index> or F<index.asc>).  It can only validate a "
"local file, not a URL."
msgstr ""

#. type: =item
#: ../builder/virt-index-validate.pod:23
msgid "B<--compat-1.24.0>"
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:25
msgid ""
"Check for compatibility with virt-builder 1.24.0.  (Using this option "
"implies I<--compat-1.24.1>, so you don't need to use both.)"
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:28 ../builder/virt-index-validate.pod:47
msgid "In particular:"
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:34
msgid ""
"This version of virt-builder could not handle C<[...]> (square brackets) in "
"field names (eg. C<checksum[sha512]=...>)."
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:39
msgid "It required detached signatures (C<sig=...>)."
msgstr ""

#. type: =item
#: ../builder/virt-index-validate.pod:43
msgid "B<--compat-1.24.1>"
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:45
msgid "Check for compatibility with virt-builder E<ge> 1.24.1."
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:53
msgid ""
"This version of virt-builder could not handle C<.> (period) in field names "
"or C<,> (comma) in subfield names."
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:58
msgid "It could not handle comments appearing in the file."
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:76
msgid ""
"This program returns 0 if the index file validates, or non-zero if there was "
"an error."
msgstr ""

#. type: textblock
#: ../builder/virt-index-validate.pod:81
msgid "L<virt-builder(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:3
msgid "virt-cat - Display files in a virtual machine"
msgstr "virt-cat - Display files in a virtual machine"

#. type: verbatim
#: ../cat/virt-cat.pod:7
#, no-wrap
msgid ""
" virt-cat [--options] -d domname file [file ...]\n"
"\n"
msgstr ""
" virt-cat [--options] -d domname file [file ...]\n"
"\n"

#. type: verbatim
#: ../cat/virt-cat.pod:9
#, no-wrap
msgid ""
" virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]\n"
"\n"
msgstr ""
" virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:11 ../edit/virt-edit.pod:13
#: ../inspector/virt-inspector.pod:11
msgid "Old-style:"
msgstr "Old-style:"

#. type: verbatim
#: ../cat/virt-cat.pod:13
#, no-wrap
msgid ""
" virt-cat domname file\n"
"\n"
msgstr ""
" virt-cat domname file\n"
"\n"

#. type: verbatim
#: ../cat/virt-cat.pod:15
#, no-wrap
msgid ""
" virt-cat disk.img file\n"
"\n"
msgstr ""
" virt-cat disk.img file\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:19
msgid ""
"C<virt-cat> is a command line tool to display the contents of C<file> where "
"C<file> exists in the named virtual machine (or disk image)."
msgstr ""
"C<virt-cat> is a command line tool to display the contents of C<file> where "
"C<file> exists in the named virtual machine (or disk image)."

#. type: textblock
#: ../cat/virt-cat.pod:22
msgid ""
"Multiple filenames can be given, in which case they are concatenated "
"together.  Each filename must be a full path, starting at the root directory "
"(starting with '/')."
msgstr ""
"Multiple filenames can be given, in which case they are concatenated "
"together.  Each filename must be a full path, starting at the root directory "
"(starting with '/')."

#. type: textblock
#: ../cat/virt-cat.pod:26
msgid ""
"C<virt-cat> can be used to quickly view a file.  To edit a file, use C<virt-"
"edit>.  For more complex cases you should look at the L<guestfish(1)> tool "
"(see L</USING GUESTFISH> below)."
msgstr ""
"C<virt-cat> can be used to quickly view a file.  To edit a file, use C<virt-"
"edit>.  For more complex cases you should look at the L<guestfish(1)> tool "
"(see L</USING GUESTFISH> below)."

#. type: textblock
#: ../cat/virt-cat.pod:32
msgid ""
"Display F</etc/fstab> file from inside the libvirt VM called C<mydomain>:"
msgstr ""

#. type: verbatim
#: ../cat/virt-cat.pod:35
#, no-wrap
msgid ""
" virt-cat -d mydomain /etc/fstab\n"
"\n"
msgstr ""
" virt-cat -d mydomain /etc/fstab\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:37
msgid "Find out what packages were recently installed:"
msgstr "Find out what packages were recently installed:"

#. type: verbatim
#: ../cat/virt-cat.pod:39
#, no-wrap
msgid ""
" virt-cat -d mydomain /var/log/yum.log | tail\n"
"\n"
msgstr ""
" virt-cat -d mydomain /var/log/yum.log | tail\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:41
msgid "Find out who is logged on inside a virtual machine:"
msgstr "Find out who is logged on inside a virtual machine:"

#. type: verbatim
#: ../cat/virt-cat.pod:43
#, no-wrap
msgid ""
" virt-cat -d mydomain /var/run/utmp > /tmp/utmp\n"
" who /tmp/utmp\n"
"\n"
msgstr ""
" virt-cat -d mydomain /var/run/utmp > /tmp/utmp\n"
" who /tmp/utmp\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:46
msgid "or who was logged on:"
msgstr "or who was logged on:"

#. type: verbatim
#: ../cat/virt-cat.pod:48
#, no-wrap
msgid ""
" virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp\n"
" last -f /tmp/wtmp\n"
"\n"
msgstr ""
" virt-cat -d mydomain /var/log/wtmp > /tmp/wtmp\n"
" last -f /tmp/wtmp\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:63 ../cat/virt-filesystems.pod:101
#: ../cat/virt-log.pod:47 ../cat/virt-ls.pod:261 ../cat/virt-tail.pod:58
#: ../edit/virt-edit.pod:66 ../inspector/virt-inspector.pod:64
msgid ""
"Add I<file> which should be a disk image from a virtual machine.  If the "
"virtual machine has multiple block devices, you must supply all of them with "
"separate I<-a> options."
msgstr ""
"Add I<file> which should be a disk image from a virtual machine.  If the "
"virtual machine has multiple block devices, you must supply all of them with "
"separate I<-a> options."

#. type: =item
#: ../cat/virt-cat.pod:95 ../cat/virt-filesystems.pod:154
#: ../cat/virt-log.pod:79 ../cat/virt-ls.pod:310 ../cat/virt-tail.pod:90
#: ../customize/virt-customize.pod:110 ../diff/virt-diff.pod:129
#: ../edit/virt-edit.pod:112 ../fish/guestfish.pod:213
#: ../fuse/guestmount.pod:207 ../get-kernel/virt-get-kernel.pod:81
#: ../inspector/virt-inspector.pod:97 ../sparsify/virt-sparsify.pod:195
#: ../sysprep/virt-sysprep.pod:158
msgid "B<--echo-keys>"
msgstr "B<--echo-keys>"

#. type: textblock
#: ../cat/virt-cat.pod:97
msgid ""
"When prompting for keys and passphrases, virt-cat 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 ""
"When prompting for keys and passphrases, virt-cat 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."

#. type: verbatim
#: ../cat/virt-cat.pod:113
#, no-wrap
msgid ""
" virt-cat --format=raw -a disk.img file\n"
"\n"
msgstr ""
" virt-cat --format=raw -a disk.img file\n"
"\n"

#. type: verbatim
#: ../cat/virt-cat.pod:117
#, no-wrap
msgid ""
" virt-cat --format=raw -a disk.img --format -a another.img file\n"
"\n"
msgstr ""
" virt-cat --format=raw -a disk.img --format -a another.img file\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:126 ../cat/virt-log.pod:110 ../cat/virt-ls.pod:357
#: ../cat/virt-tail.pod:128 ../customize/virt-customize.pod:141
#: ../diff/virt-diff.pod:171 ../edit/virt-edit.pod:158
#: ../fish/guestfish.pod:285 ../fuse/guestmount.pod:251
#: ../get-kernel/virt-get-kernel.pod:100 ../inspector/virt-inspector.pod:119
#: ../sparsify/virt-sparsify.pod:233 ../sysprep/virt-sysprep.pod:189
msgid "__INCLUDE:key-option.pod__"
msgstr ""

#. type: =item
#: ../cat/virt-cat.pod:128 ../cat/virt-filesystems.pod:206
#: ../cat/virt-log.pod:112 ../cat/virt-ls.pod:359 ../cat/virt-tail.pod:130
#: ../customize/virt-customize.pod:143 ../diff/virt-diff.pod:173
#: ../edit/virt-edit.pod:160 ../fish/guestfish.pod:287
#: ../fuse/guestmount.pod:253 ../get-kernel/virt-get-kernel.pod:102
#: ../inspector/virt-inspector.pod:121 ../sparsify/virt-sparsify.pod:235
#: ../sysprep/virt-sysprep.pod:191
msgid "B<--keys-from-stdin>"
msgstr "B<--keys-from-stdin>"

#. type: textblock
#: ../cat/virt-cat.pod:130 ../cat/virt-filesystems.pod:208
#: ../cat/virt-log.pod:114 ../cat/virt-ls.pod:361 ../cat/virt-tail.pod:132
#: ../customize/virt-customize.pod:145 ../diff/virt-diff.pod:175
#: ../edit/virt-edit.pod:162 ../fish/guestfish.pod:289
#: ../fuse/guestmount.pod:255 ../get-kernel/virt-get-kernel.pod:104
#: ../inspector/virt-inspector.pod:123 ../sparsify/virt-sparsify.pod:237
#: ../sysprep/virt-sysprep.pod:193
msgid ""
"Read key or passphrase parameters from stdin.  The default is to try to read "
"passphrases from the user by opening F</dev/tty>."
msgstr ""

#. type: =item
#: ../cat/virt-cat.pod:133 ../cat/virt-ls.pod:364 ../cat/virt-tail.pod:135
#: ../edit/virt-edit.pod:165 ../fish/guestfish.pod:302
#: ../rescue/virt-rescue.pod:198
msgid "B<-m> dev[:mountpoint[:options[:fstype]]]"
msgstr ""

#. type: =item
#: ../cat/virt-cat.pod:135 ../cat/virt-ls.pod:366 ../cat/virt-tail.pod:137
#: ../edit/virt-edit.pod:167 ../fish/guestfish.pod:304
#: ../fuse/guestmount.pod:265 ../rescue/virt-rescue.pod:200
msgid "B<--mount> dev[:mountpoint[:options[:fstype]]]"
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:137 ../cat/virt-ls.pod:368 ../cat/virt-tail.pod:139
#: ../edit/virt-edit.pod:169 ../fish/guestfish.pod:306
msgid "Mount the named partition or logical volume on the given mountpoint."
msgstr "Mount the named partition or logical volume on the given mountpoint."

#. type: textblock
#: ../cat/virt-cat.pod:139 ../cat/virt-ls.pod:370 ../cat/virt-tail.pod:141
#: ../edit/virt-edit.pod:171 ../fish/guestfish.pod:308
msgid "If the mountpoint is omitted, it defaults to F</>."
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:141 ../cat/virt-ls.pod:372 ../cat/virt-tail.pod:143
#: ../edit/virt-edit.pod:173
msgid ""
"Specifying any mountpoint disables the inspection of the guest and the mount "
"of its root and all of its mountpoints, so make sure to mount all the "
"mountpoints needed to work with the filenames given as arguments."
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:146 ../cat/virt-ls.pod:377 ../cat/virt-tail.pod:148
#: ../edit/virt-edit.pod:178 ../fish/guestfish.pod:315
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
#: ../cat/virt-cat.pod:152 ../cat/virt-ls.pod:383 ../cat/virt-tail.pod:154
#: ../edit/virt-edit.pod:184 ../fish/guestfish.pod:321
#: ../fuse/guestmount.pod:273 ../rescue/virt-rescue.pod:210
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 ""
"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:"

#. type: verbatim
#: ../cat/virt-cat.pod:160 ../cat/virt-ls.pod:391 ../cat/virt-tail.pod:162
#: ../edit/virt-edit.pod:192 ../fish/guestfish.pod:329
#: ../fuse/guestmount.pod:281 ../rescue/virt-rescue.pod:218
#, no-wrap
msgid ""
" -m /dev/sda1:/:acl,user_xattr\n"
"\n"
msgstr ""
" -m /dev/sda1:/:acl,user_xattr\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:162 ../cat/virt-ls.pod:393 ../cat/virt-tail.pod:164
#: ../edit/virt-edit.pod:194 ../fish/guestfish.pod:331
msgid "Using this flag is equivalent to using the C<mount-options> command."
msgstr "Using this flag is equivalent to using the C<mount-options> command."

#. type: textblock
#: ../cat/virt-cat.pod:164 ../cat/virt-ls.pod:395 ../cat/virt-tail.pod:166
#: ../edit/virt-edit.pod:196 ../fish/guestfish.pod:333
#: ../fuse/guestmount.pod:283 ../rescue/virt-rescue.pod:220
msgid ""
"The fourth part of the parameter is the filesystem driver to use, such as "
"C<ext3> or C<ntfs>. This is rarely needed, but can be useful if multiple "
"drivers are valid for a filesystem (eg: C<ext2> and C<ext3>), or if "
"libguestfs misidentifies a filesystem."
msgstr ""
"The fourth part of the parameter is the filesystem driver to use, such as "
"C<ext3> or C<ntfs>. This is rarely needed, but can be useful if multiple "
"drivers are valid for a filesystem (eg: C<ext2> and C<ext3>), or if "
"libguestfs misidentifies a filesystem."

#. type: =head1
#: ../cat/virt-cat.pod:187 ../cat/virt-ls.pod:477 ../edit/virt-edit.pod:219
#: ../inspector/virt-inspector.pod:165 ../rescue/virt-rescue.pod:298
msgid "OLD-STYLE COMMAND LINE ARGUMENTS"
msgstr "OLD-STYLE COMMAND LINE ARGUMENTS"

#. type: textblock
#: ../cat/virt-cat.pod:189
msgid "Previous versions of virt-cat allowed you to write either:"
msgstr "Previous versions of virt-cat allowed you to write either:"

#. type: verbatim
#: ../cat/virt-cat.pod:191
#, no-wrap
msgid ""
" virt-cat disk.img [disk.img ...] file\n"
"\n"
msgstr ""
" virt-cat disk.img [disk.img ...] file\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:193 ../cat/virt-ls.pod:483 ../dib/virt-dib.pod:475
#: ../edit/virt-edit.pod:225 ../inspector/virt-inspector.pod:171
#: ../rescue/virt-rescue.pod:304
msgid "or"
msgstr "or"

#. type: verbatim
#: ../cat/virt-cat.pod:195
#, no-wrap
msgid ""
" virt-cat guestname file\n"
"\n"
msgstr ""
" virt-cat guestname file\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:197 ../cat/virt-ls.pod:487 ../edit/virt-edit.pod:229
#: ../inspector/virt-inspector.pod:175 ../rescue/virt-rescue.pod:308
msgid ""
"whereas in this version you should use I<-a> or I<-d> respectively to avoid "
"the confusing case where a disk image might have the same name as a guest."
msgstr ""
"whereas in this version you should use I<-a> or I<-d> respectively to avoid "
"the confusing case where a disk image might have the same name as a guest."

#. type: textblock
#: ../cat/virt-cat.pod:201 ../cat/virt-ls.pod:491 ../edit/virt-edit.pod:233
#: ../inspector/virt-inspector.pod:179 ../rescue/virt-rescue.pod:312
msgid "For compatibility the old style is still supported."
msgstr "For compatibility the old style is still supported."

#. type: =head1
#: ../cat/virt-cat.pod:203 ../cat/virt-tail.pod:189
msgid "LOG FILES"
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:205 ../cat/virt-tail.pod:191
msgid ""
"To list out the log files from guests, see the related tool L<virt-log(1)>.  "
"It understands binary log formats such as the systemd journal."
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:209
msgid "To follow (tail) text log files, use L<virt-tail(1)>."
msgstr ""

#. type: =head1
#: ../cat/virt-cat.pod:211 ../cat/virt-tail.pod:195 ../edit/virt-edit.pod:297
#: ../fish/guestfish.pod:892
msgid "WINDOWS PATHS"
msgstr "WINDOWS PATHS"

#. type: textblock
#: ../cat/virt-cat.pod:213
msgid ""
"C<virt-cat> has a limited ability to understand Windows drive letters and "
"paths (eg. F<E:\\foo\\bar.txt>)."
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:216 ../cat/virt-tail.pod:200 ../edit/virt-edit.pod:302
msgid "If and only if the guest is running Windows then:"
msgstr "If and only if the guest is running Windows then:"

#. type: textblock
#: ../cat/virt-cat.pod:222 ../cat/virt-tail.pod:206 ../edit/virt-edit.pod:308
msgid ""
"Drive letter prefixes like C<C:> are resolved against the Windows Registry "
"to the correct filesystem."
msgstr ""
"Drive letter prefixes like C<C:> are resolved against the Windows Registry "
"to the correct filesystem."

#. type: textblock
#: ../cat/virt-cat.pod:227 ../cat/virt-tail.pod:211 ../edit/virt-edit.pod:313
msgid ""
"Any backslash (C<\\>) characters in the path are replaced with forward "
"slashes so that libguestfs can process it."
msgstr ""
"Any backslash (C<\\>) characters in the path are replaced with forward "
"slashes so that libguestfs can process it."

#. type: textblock
#: ../cat/virt-cat.pod:232 ../cat/virt-tail.pod:216
msgid ""
"The path is resolved case insensitively to locate the file that should be "
"displayed."
msgstr ""
"The path is resolved case insensitively to locate the file that should be "
"displayed."

#. type: textblock
#: ../cat/virt-cat.pod:237 ../cat/virt-tail.pod:221 ../edit/virt-edit.pod:323
msgid "There are some known shortcomings:"
msgstr "There are some known shortcomings:"

#. type: textblock
#: ../cat/virt-cat.pod:243 ../cat/virt-tail.pod:227 ../edit/virt-edit.pod:329
msgid "Some NTFS symbolic links may not be followed correctly."
msgstr "Some NTFS symbolic links may not be followed correctly."

#. type: textblock
#: ../cat/virt-cat.pod:247 ../cat/virt-tail.pod:231 ../edit/virt-edit.pod:333
msgid "NTFS junction points that cross filesystems are not followed."
msgstr "NTFS junction points that cross filesystems are not followed."

#. type: =head1
#: ../cat/virt-cat.pod:251 ../edit/virt-edit.pod:337
msgid "USING GUESTFISH"
msgstr "USING GUESTFISH"

#. type: textblock
#: ../cat/virt-cat.pod:253
msgid ""
"L<guestfish(1)> is a more powerful, lower level tool which you can use when "
"C<virt-cat> doesn't work."
msgstr ""
"L<guestfish(1)> is a more powerful, lower level tool which you can use when "
"C<virt-cat> doesn't work."

#. type: textblock
#: ../cat/virt-cat.pod:256
msgid "Using C<virt-cat> is approximately equivalent to doing:"
msgstr "Using C<virt-cat> is approximately equivalent to doing:"

#. type: verbatim
#: ../cat/virt-cat.pod:258
#, no-wrap
msgid ""
" guestfish --ro -i -d domname download file -\n"
"\n"
msgstr ""
" guestfish --ro -i -d domname download file -\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:260
msgid ""
"where C<domname> is the name of the libvirt guest, and C<file> is the full "
"path to the file.  Note the final C<-> (meaning \"output to stdout\")."
msgstr ""
"where C<domname> is the name of the libvirt guest, and C<file> is the full "
"path to the file.  Note the final C<-> (meaning \"output to stdout\")."

#. type: textblock
#: ../cat/virt-cat.pod:264
msgid ""
"The command above uses libguestfs’s guest inspection feature and so does not "
"work on guests that libguestfs cannot inspect, or on things like arbitrary "
"disk images that don't contain guests.  To display a file from a disk image "
"directly, use:"
msgstr ""

#. type: verbatim
#: ../cat/virt-cat.pod:269
#, no-wrap
msgid ""
" guestfish --ro -a disk.img -m /dev/sda1 download file -\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img -m /dev/sda1 download file -\n"
"\n"

#. type: textblock
#: ../cat/virt-cat.pod:271
msgid ""
"where F<disk.img> is the disk image, F</dev/sda1> is the filesystem within "
"the disk image, and C<file> is the full path to the file."
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:281
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-copy-out(1)>, L<virt-edit(1)>, L<virt-"
"log(1)>, L<virt-tail(1)>, L<virt-tar-out(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../cat/virt-cat.pod:296 ../cat/virt-filesystems.pod:405
#: ../inspector/virt-inspector.pod:519 ../ocaml/examples/guestfs-ocaml.pod:102
#: ../python/examples/guestfs-python.pod:84 ../resize/virt-resize.pod:873
#: ../ruby/examples/guestfs-ruby.pod:55
msgid "Copyright (C) 2010-2012 Red Hat Inc."
msgstr "Copyright (C) 2010-2012 Red Hat Inc."

#. type: textblock
#: ../cat/virt-filesystems.pod:3
msgid ""
"virt-filesystems - List filesystems, partitions, block devices, LVM in a "
"virtual machine or disk image"
msgstr ""
"virt-filesystems - List filesystems, partitions, block devices, LVM in a "
"virtual machine or disk image"

#. type: verbatim
#: ../cat/virt-filesystems.pod:7
#, no-wrap
msgid ""
" virt-filesystems [--options] -d domname\n"
"\n"
msgstr ""
" virt-filesystems [--options] -d domname\n"
"\n"

#. type: verbatim
#: ../cat/virt-filesystems.pod:9
#, no-wrap
msgid ""
" virt-filesystems [--options] -a disk.img [-a disk.img ...]\n"
"\n"
msgstr ""
" virt-filesystems [--options] -a disk.img [-a disk.img ...]\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:13
msgid ""
"This tool allows you to discover filesystems, partitions, logical volumes, "
"and their sizes in a disk image or virtual machine.  It is a replacement for "
"L<virt-list-filesystems(1)> and L<virt-list-partitions(1)>."
msgstr ""
"This tool allows you to discover filesystems, partitions, logical volumes, "
"and their sizes in a disk image or virtual machine.  It is a replacement for "
"L<virt-list-filesystems(1)> and L<virt-list-partitions(1)>."

#. type: textblock
#: ../cat/virt-filesystems.pod:18
msgid ""
"One use for this tool is from shell scripts to iterate over all filesystems "
"from a disk image:"
msgstr ""
"One use for this tool is from shell scripts to iterate over all filesystems "
"from a disk image:"

#. type: verbatim
#: ../cat/virt-filesystems.pod:21
#, no-wrap
msgid ""
" for fs in $(virt-filesystems -a disk.img); do\n"
"   # ...\n"
" done\n"
"\n"
msgstr ""
" for fs in $(virt-filesystems -a disk.img); do\n"
"   # ...\n"
" done\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:25
msgid ""
"Another use is to list partitions before using another tool to modify those "
"partitions (such as L<virt-resize(1)>).  If you are curious about what an "
"unknown disk image contains, use this tool along with L<virt-inspector(1)>."
msgstr ""
"Another use is to list partitions before using another tool to modify those "
"partitions (such as L<virt-resize(1)>).  If you are curious about what an "
"unknown disk image contains, use this tool along with L<virt-inspector(1)>."

#. type: textblock
#: ../cat/virt-filesystems.pod:30
msgid ""
"Various command line options control what this program displays.  You need "
"to give either I<-a> or I<-d> options to specify the disk image or libvirt "
"guest respectively.  If you just specify that then the program shows "
"filesystems found, one per line, like this:"
msgstr ""
"Various command line options control what this program displays.  You need "
"to give either I<-a> or I<-d> options to specify the disk image or libvirt "
"guest respectively.  If you just specify that then the program shows "
"filesystems found, one per line, like this:"

#. type: verbatim
#: ../cat/virt-filesystems.pod:35
#, no-wrap
msgid ""
" $ virt-filesystems -a disk.img\n"
" /dev/sda1\n"
" /dev/vg_guest/lv_root\n"
"\n"
msgstr ""
" $ virt-filesystems -a disk.img\n"
" /dev/sda1\n"
" /dev/vg_guest/lv_root\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:39
msgid ""
"If you add I<-l> or I<--long> then the output includes extra information:"
msgstr ""
"If you add I<-l> or I<--long> then the output includes extra information:"

#. type: verbatim
#: ../cat/virt-filesystems.pod:42
#, no-wrap
msgid ""
" $ virt-filesystems -a disk.img -l\n"
" Name                   Type         VFS   Label  Size\n"
" /dev/sda1              filesystem   ext4  boot   524288000\n"
" /dev/vg_guest/lv_root  filesystem   ext4  root   10212081664\n"
"\n"
msgstr ""
" $ virt-filesystems -a disk.img -l\n"
" Name                   Type         VFS   Label  Size\n"
" /dev/sda1              filesystem   ext4  boot   524288000\n"
" /dev/vg_guest/lv_root  filesystem   ext4  root   10212081664\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:47
msgid ""
"If you add I<--extra> then non-mountable (swap, unknown) filesystems are "
"shown as well:"
msgstr ""
"If you add I<--extra> then non-mountable (swap, unknown) filesystems are "
"shown as well:"

#. type: verbatim
#: ../cat/virt-filesystems.pod:50
#, no-wrap
msgid ""
" $ virt-filesystems -a disk.img --extra\n"
" /dev/sda1\n"
" /dev/vg_guest/lv_root\n"
" /dev/vg_guest/lv_swap\n"
" /dev/vg_guest/lv_data\n"
"\n"
msgstr ""
" $ virt-filesystems -a disk.img --extra\n"
" /dev/sda1\n"
" /dev/vg_guest/lv_root\n"
" /dev/vg_guest/lv_swap\n"
" /dev/vg_guest/lv_data\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:56
msgid ""
"If you add I<--partitions> then partitions are shown instead of filesystems:"
msgstr ""
"If you add I<--partitions> then partitions are shown instead of filesystems:"

#. type: verbatim
#: ../cat/virt-filesystems.pod:58
#, no-wrap
msgid ""
" $ virt-filesystems -a disk.img --partitions\n"
" /dev/sda1\n"
" /dev/sda2\n"
"\n"
msgstr ""
" $ virt-filesystems -a disk.img --partitions\n"
" /dev/sda1\n"
" /dev/sda2\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:62
msgid ""
"Similarly you can use I<--logical-volumes>, I<--volume-groups>, I<--physical-"
"volumes>, I<--block-devices> to list those items."
msgstr ""
"Similarly you can use I<--logical-volumes>, I<--volume-groups>, I<--physical-"
"volumes>, I<--block-devices> to list those items."

#. type: textblock
#: ../cat/virt-filesystems.pod:65
msgid ""
"You can use these options in combination as well (if you want a combination "
"including filesystems, you have to add I<--filesystems>).  Notice that some "
"items fall into several categories (eg. F</dev/sda1> might be both a "
"partition and a filesystem).  These items are listed several times.  To get "
"a list which includes absolutely everything that virt-filesystems knows "
"about, use the I<--all> option."
msgstr ""

#. type: textblock
#: ../cat/virt-filesystems.pod:72
msgid ""
"UUIDs (because they are quite long) are not shown by default.  Add the I<--"
"uuid> option to display device and filesystem UUIDs in the long output."
msgstr ""
"UUIDs (because they are quite long) are not shown by default.  Add the I<--"
"uuid> option to display device and filesystem UUIDs in the long output."

#. type: textblock
#: ../cat/virt-filesystems.pod:76
msgid ""
"I<--all --long --uuid> is a useful combination to display all possible "
"information about everything."
msgstr ""
"I<--all --long --uuid> is a useful combination to display all possible "
"information about everything."

#. type: verbatim
#: ../cat/virt-filesystems.pod:79
#, no-wrap
msgid ""
" $ virt-filesystems -a win.img --all --long --uuid -h\n"
" Name      Type       VFS  Label           Size Parent   UUID\n"
" /dev/sda1 filesystem ntfs System Reserved 100M -        F81C92571C92112C\n"
" /dev/sda2 filesystem ntfs -               20G  -        F2E8996AE8992E3B\n"
" /dev/sda1 partition  -    -               100M /dev/sda -\n"
" /dev/sda2 partition  -    -               20G  /dev/sda -\n"
" /dev/sda  device     -    -               20G  -        -\n"
"\n"
msgstr ""
" $ virt-filesystems -a win.img --all --long --uuid -h\n"
" Name      Type       VFS  Label           Size Parent   UUID\n"
" /dev/sda1 filesystem ntfs System Reserved 100M -        F81C92571C92112C\n"
" /dev/sda2 filesystem ntfs -               20G  -        F2E8996AE8992E3B\n"
" /dev/sda1 partition  -    -               100M /dev/sda -\n"
" /dev/sda2 partition  -    -               20G  /dev/sda -\n"
" /dev/sda  device     -    -               20G  -        -\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:87
msgid ""
"For machine-readable output, use I<--csv> to get Comma-Separated Values."
msgstr ""
"For machine-readable output, use I<--csv> to get Comma-Separated Values."

#. type: =item
#: ../cat/virt-filesystems.pod:114 ../diff/virt-diff.pod:60
#: ../tools/virt-list-filesystems:120
msgid "B<--all>"
msgstr "B<--all>"

#. type: textblock
#: ../cat/virt-filesystems.pod:116
msgid ""
"Display everything.  This is currently the same as specifying these options: "
"I<--filesystems>, I<--extra>, I<--partitions>, I<--block-devices>, I<--"
"logical-volumes>, I<--volume-groups>, I<--physical-volumes>.  (More may be "
"added to this list in future)."
msgstr ""
"Display everything.  This is currently the same as specifying these options: "
"I<--filesystems>, I<--extra>, I<--partitions>, I<--block-devices>, I<--"
"logical-volumes>, I<--volume-groups>, I<--physical-volumes>.  (More may be "
"added to this list in future)."

#. type: textblock
#: ../cat/virt-filesystems.pod:121
msgid "See also I<--long>."
msgstr "See also I<--long>."

#. type: =item
#: ../cat/virt-filesystems.pod:123
msgid "B<--blkdevs>"
msgstr "B<--blkdevs>"

#. type: =item
#: ../cat/virt-filesystems.pod:125
msgid "B<--block-devices>"
msgstr "B<--block-devices>"

#. type: textblock
#: ../cat/virt-filesystems.pod:127
msgid "Display block devices."
msgstr "Display block devices."

#. type: =item
#: ../cat/virt-filesystems.pod:141 ../cat/virt-ls.pod:297 ../df/virt-df.pod:108
#: ../diff/virt-diff.pod:99
msgid "B<--csv>"
msgstr "B<--csv>"

#. type: textblock
#: ../cat/virt-filesystems.pod:143 ../cat/virt-ls.pod:299 ../df/virt-df.pod:110
#: ../diff/virt-diff.pod:101
msgid ""
"Write out the results in CSV format (comma-separated values).  This format "
"can be imported easily into databases and spreadsheets, but read L</NOTE "
"ABOUT CSV FORMAT> below."
msgstr ""
"Write out the results in CSV format (comma-separated values).  This format "
"can be imported easily into databases and spreadsheets, but read L</NOTE "
"ABOUT CSV FORMAT> below."

#. type: textblock
#: ../cat/virt-filesystems.pod:156
msgid ""
"When prompting for keys and passphrases, virt-filesystems 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 ""
"When prompting for keys and passphrases, virt-filesystems 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."

#. type: =item
#: ../cat/virt-filesystems.pod:161
msgid "B<--extra>"
msgstr "B<--extra>"

#. type: textblock
#: ../cat/virt-filesystems.pod:163
msgid ""
"This causes filesystems that are not ordinary, mountable filesystems to be "
"displayed.  This category includes swapspace, and filesystems that are empty "
"or contain unknown data."
msgstr ""
"This causes filesystems that are not ordinary, mountable filesystems to be "
"displayed.  This category includes swapspace, and filesystems that are empty "
"or contain unknown data."

#. type: textblock
#: ../cat/virt-filesystems.pod:167
msgid "This option implies I<--filesystems>."
msgstr "This option implies I<--filesystems>."

#. type: =item
#: ../cat/virt-filesystems.pod:169
msgid "B<--filesystems>"
msgstr "B<--filesystems>"

#. type: textblock
#: ../cat/virt-filesystems.pod:171
msgid ""
"Display mountable filesystems.  If no display option was selected then this "
"option is implied."
msgstr ""
"Display mountable filesystems.  If no display option was selected then this "
"option is implied."

#. type: textblock
#: ../cat/virt-filesystems.pod:174
msgid "With I<--extra>, non-mountable filesystems are shown too."
msgstr "With I<--extra>, non-mountable filesystems are shown too."

#. type: verbatim
#: ../cat/virt-filesystems.pod:187
#, no-wrap
msgid ""
" virt-filesystems --format=raw -a disk.img\n"
"\n"
msgstr ""
" virt-filesystems --format=raw -a disk.img\n"
"\n"

#. type: verbatim
#: ../cat/virt-filesystems.pod:191
#, no-wrap
msgid ""
" virt-filesystems --format=raw -a disk.img --format -a another.img\n"
"\n"
msgstr ""
" virt-filesystems --format=raw -a disk.img --format -a another.img\n"
"\n"

#. type: =item
#: ../cat/virt-filesystems.pod:200 ../cat/virt-ls.pod:348 ../df/virt-df.pod:145
#: ../diff/virt-diff.pod:165 ../fish/guestfish.pod:153
#: ../tools/virt-list-partitions:108
msgid "B<-h>"
msgstr "B<-h>"

#. type: =item
#: ../cat/virt-filesystems.pod:202 ../cat/virt-ls.pod:350 ../df/virt-df.pod:147
#: ../diff/virt-diff.pod:167 ../tools/virt-list-partitions:110
msgid "B<--human-readable>"
msgstr "B<--human-readable>"

#. type: textblock
#: ../cat/virt-filesystems.pod:204
msgid "In I<--long> mode, display sizes in human-readable format."
msgstr "In I<--long> mode, display sizes in human-readable format."

#. type: =item
#: ../cat/virt-filesystems.pod:211 ../cat/virt-ls.pod:400
#: ../daemon/guestfsd.pod:66 ../tools/virt-list-filesystems:107
#: ../tools/virt-list-partitions:118
msgid "B<-l>"
msgstr "B<-l>"

#. type: =item
#: ../cat/virt-filesystems.pod:213 ../cat/virt-ls.pod:402
#: ../tools/virt-list-filesystems:109 ../tools/virt-list-partitions:120
msgid "B<--long>"
msgstr "B<--long>"

#. type: textblock
#: ../cat/virt-filesystems.pod:215
msgid "Display extra columns of data (\"long format\")."
msgstr "Display extra columns of data (\"long format\")."

#. type: textblock
#: ../cat/virt-filesystems.pod:217
msgid "A title row is added unless you also specify I<--no-title>."
msgstr "A title row is added unless you also specify I<--no-title>."

#. type: textblock
#: ../cat/virt-filesystems.pod:219
msgid ""
"The extra columns displayed depend on what output you select, and the "
"ordering of columns may change in future versions.  Use the title row, I<--"
"csv> output and/or L<csvtool(1)> to match columns to data in external "
"programs."
msgstr ""
"The extra columns displayed depend on what output you select, and the "
"ordering of columns may change in future versions.  Use the title row, I<--"
"csv> output and/or L<csvtool(1)> to match columns to data in external "
"programs."

#. type: textblock
#: ../cat/virt-filesystems.pod:224
msgid ""
"Use I<-h> if you want sizes to be displayed in human-readable format.  The "
"default is to show raw numbers of I<bytes>."
msgstr ""
"Use I<-h> if you want sizes to be displayed in human-readable format.  The "
"default is to show raw numbers of I<bytes>."

#. type: textblock
#: ../cat/virt-filesystems.pod:227
msgid "Use I<--uuid> to display UUIDs too."
msgstr "Use I<--uuid> to display UUIDs too."

#. type: =item
#: ../cat/virt-filesystems.pod:229
msgid "B<--lvs>"
msgstr "B<--lvs>"

#. type: =item
#: ../cat/virt-filesystems.pod:231
msgid "B<--logvols>"
msgstr "B<--logvols>"

#. type: =item
#: ../cat/virt-filesystems.pod:233
msgid "B<--logical-volumes>"
msgstr "B<--logical-volumes>"

#. type: textblock
#: ../cat/virt-filesystems.pod:235
msgid ""
"Display LVM logical volumes.  In this mode, these are displayed irrespective "
"of whether the LVs contain filesystems."
msgstr ""
"Display LVM logical volumes.  In this mode, these are displayed irrespective "
"of whether the LVs contain filesystems."

#. type: =item
#: ../cat/virt-filesystems.pod:238
msgid "B<--no-title>"
msgstr "B<--no-title>"

#. type: textblock
#: ../cat/virt-filesystems.pod:240
msgid "In I<--long> mode, don’t add a title row."
msgstr ""

#. type: textblock
#: ../cat/virt-filesystems.pod:242
msgid ""
"Note that the order of the columns is not fixed, and may change in future "
"versions of virt-filesystems, so using this option may give you unexpected "
"surprises."
msgstr ""
"Note that the order of the columns is not fixed, and may change in future "
"versions of virt-filesystems, so using this option may give you unexpected "
"surprises."

#. type: =item
#: ../cat/virt-filesystems.pod:246
msgid "B<--parts>"
msgstr "B<--parts>"

#. type: =item
#: ../cat/virt-filesystems.pod:248
msgid "B<--partitions>"
msgstr "B<--partitions>"

#. type: textblock
#: ../cat/virt-filesystems.pod:250
msgid ""
"Display partitions.  In this mode, these are displayed irrespective of "
"whether the partitions contain filesystems."
msgstr ""
"Display partitions.  In this mode, these are displayed irrespective of "
"whether the partitions contain filesystems."

#. type: =item
#: ../cat/virt-filesystems.pod:253
msgid "B<--pvs>"
msgstr "B<--pvs>"

#. type: =item
#: ../cat/virt-filesystems.pod:255
msgid "B<--physvols>"
msgstr "B<--physvols>"

#. type: =item
#: ../cat/virt-filesystems.pod:257
msgid "B<--physical-volumes>"
msgstr "B<--physical-volumes>"

#. type: textblock
#: ../cat/virt-filesystems.pod:259
msgid "Display LVM physical volumes."
msgstr "Display LVM physical volumes."

#. type: =item
#: ../cat/virt-filesystems.pod:263
msgid "B<--uuids>"
msgstr "B<--uuids>"

#. type: textblock
#: ../cat/virt-filesystems.pod:265
msgid "In I<--long> mode, display UUIDs as well."
msgstr "In I<--long> mode, display UUIDs as well."

#. type: =item
#: ../cat/virt-filesystems.pod:279
msgid "B<--vgs>"
msgstr "B<--vgs>"

#. type: =item
#: ../cat/virt-filesystems.pod:281
msgid "B<--volgroups>"
msgstr "B<--volgroups>"

#. type: =item
#: ../cat/virt-filesystems.pod:283
msgid "B<--volume-groups>"
msgstr "B<--volume-groups>"

#. type: textblock
#: ../cat/virt-filesystems.pod:285
msgid "Display LVM volume groups."
msgstr "Display LVM volume groups."

#. type: =head1
#: ../cat/virt-filesystems.pod:293
msgid "COLUMNS"
msgstr "COLUMNS"

#. type: textblock
#: ../cat/virt-filesystems.pod:295
msgid ""
"Note that columns in the output are subject to reordering and change in "
"future versions of this tool."
msgstr ""
"Note that columns in the output are subject to reordering and change in "
"future versions of this tool."

#. type: =item
#: ../cat/virt-filesystems.pod:300
msgid "B<Name>"
msgstr "B<Name>"

#. type: textblock
#: ../cat/virt-filesystems.pod:302
msgid "The filesystem, partition, block device or LVM name."
msgstr "The filesystem, partition, block device or LVM name."

#. type: textblock
#: ../cat/virt-filesystems.pod:304
msgid ""
"For device and partition names these are displayed as canonical libguestfs "
"names, so that for example F</dev/sda2> is the second partition on the first "
"device."
msgstr ""

#. type: textblock
#: ../cat/virt-filesystems.pod:308
msgid ""
"If the I<--long> option is B<not> specified, then only the name column is "
"shown in the output."
msgstr ""
"If the I<--long> option is B<not> specified, then only the name column is "
"shown in the output."

#. type: =item
#: ../cat/virt-filesystems.pod:311
msgid "B<Type>"
msgstr "B<Type>"

#. type: textblock
#: ../cat/virt-filesystems.pod:313
msgid "The object type, for example C<filesystem>, C<lv>, C<device> etc."
msgstr "The object type, for example C<filesystem>, C<lv>, C<device> etc."

#. type: =item
#: ../cat/virt-filesystems.pod:315
msgid "B<VFS>"
msgstr "B<VFS>"

#. type: textblock
#: ../cat/virt-filesystems.pod:317
msgid ""
"If there is a filesystem, then this column displays the filesystem type if "
"one could be detected, eg. C<ext4>."
msgstr ""
"If there is a filesystem, then this column displays the filesystem type if "
"one could be detected, eg. C<ext4>."

#. type: =item
#: ../cat/virt-filesystems.pod:320
msgid "B<Label>"
msgstr "B<Label>"

#. type: textblock
#: ../cat/virt-filesystems.pod:322
msgid ""
"If the object has a label (used for identifying and mounting filesystems) "
"then this column contains the label."
msgstr ""
"If the object has a label (used for identifying and mounting filesystems) "
"then this column contains the label."

#. type: =item
#: ../cat/virt-filesystems.pod:325
msgid "B<MBR>"
msgstr "B<MBR>"

#. type: textblock
#: ../cat/virt-filesystems.pod:327
msgid ""
"The partition type byte, displayed as a two digit hexadecimal number.  A "
"comprehensive list of partition types can be found here: L<http://www.win."
"tue.nl/~aeb/partitions/partition_types-1.html>"
msgstr ""
"The partition type byte, displayed as a two digit hexadecimal number.  A "
"comprehensive list of partition types can be found here: L<http://www.win."
"tue.nl/~aeb/partitions/partition_types-1.html>"

#. type: textblock
#: ../cat/virt-filesystems.pod:331
msgid "This is only applicable for DOS (MBR) partitions."
msgstr "This is only applicable for DOS (MBR) partitions."

#. type: =item
#: ../cat/virt-filesystems.pod:333
msgid "B<Size>"
msgstr "B<Size>"

#. type: textblock
#: ../cat/virt-filesystems.pod:335
msgid ""
"The size of the object in bytes.  If the I<--human> option is used then the "
"size is displayed in a human-readable form."
msgstr ""
"The size of the object in bytes.  If the I<--human> option is used then the "
"size is displayed in a human-readable form."

#. type: =item
#: ../cat/virt-filesystems.pod:338
msgid "B<Parent>"
msgstr "B<Parent>"

#. type: textblock
#: ../cat/virt-filesystems.pod:340
msgid "The parent column records the parent relationship between objects."
msgstr "The parent column records the parent relationship between objects."

#. type: textblock
#: ../cat/virt-filesystems.pod:342
msgid ""
"For example, if the object is a partition, then this column contains the "
"name of the containing device.  If the object is a logical volume, then this "
"column is the name of the volume group."
msgstr ""
"For example, if the object is a partition, then this column contains the "
"name of the containing device.  If the object is a logical volume, then this "
"column is the name of the volume group."

#. type: textblock
#: ../cat/virt-filesystems.pod:346
msgid ""
"If there is more than one parent, then this column is (internal to the "
"column) a comma-separated list, eg. C</dev/sda,/dev/sdb>."
msgstr ""
"If there is more than one parent, then this column is (internal to the "
"column) a comma-separated list, eg. C</dev/sda,/dev/sdb>."

#. type: =item
#: ../cat/virt-filesystems.pod:349
msgid "B<UUID>"
msgstr "B<UUID>"

#. type: textblock
#: ../cat/virt-filesystems.pod:351
msgid ""
"If the object has a UUID (used for identifying and mounting filesystems and "
"block devices) then this column contains the UUID as a string."
msgstr ""
"If the object has a UUID (used for identifying and mounting filesystems and "
"block devices) then this column contains the UUID as a string."

#. type: textblock
#: ../cat/virt-filesystems.pod:355
msgid "The UUID is only displayed if the I<--uuid> option is given."
msgstr "The UUID is only displayed if the I<--uuid> option is given."

#. type: =head1
#: ../cat/virt-filesystems.pod:359 ../cat/virt-ls.pod:493 ../df/virt-df.pod:229
#: ../diff/virt-diff.pod:223
msgid "NOTE ABOUT CSV FORMAT"
msgstr "NOTE ABOUT CSV FORMAT"

#. type: textblock
#: ../cat/virt-filesystems.pod:361 ../cat/virt-ls.pod:495 ../df/virt-df.pod:231
#: ../diff/virt-diff.pod:225
msgid ""
"Comma-separated values (CSV) is a deceptive format.  It I<seems> like it "
"should be easy to parse, but it is definitely not easy to parse."
msgstr ""
"Comma-separated values (CSV) is a deceptive format.  It I<seems> like it "
"should be easy to parse, but it is definitely not easy to parse."

#. type: textblock
#: ../cat/virt-filesystems.pod:364 ../cat/virt-ls.pod:498 ../df/virt-df.pod:234
#: ../diff/virt-diff.pod:228
msgid ""
"Myth: Just split fields at commas.  Reality: This does I<not> work "
"reliably.  This example has two columns:"
msgstr ""
"Myth: Just split fields at commas.  Reality: This does I<not> work "
"reliably.  This example has two columns:"

#. type: verbatim
#: ../cat/virt-filesystems.pod:367 ../cat/virt-ls.pod:501 ../df/virt-df.pod:237
#: ../diff/virt-diff.pod:231
#, no-wrap
msgid ""
" \"foo,bar\",baz\n"
"\n"
msgstr ""
" \"foo,bar\",baz\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:369 ../cat/virt-ls.pod:503 ../df/virt-df.pod:239
#: ../diff/virt-diff.pod:233
msgid ""
"Myth: Read the file one line at a time.  Reality: This does I<not> work "
"reliably.  This example has one row:"
msgstr ""
"Myth: Read the file one line at a time.  Reality: This does I<not> work "
"reliably.  This example has one row:"

#. type: verbatim
#: ../cat/virt-filesystems.pod:372 ../cat/virt-ls.pod:506 ../df/virt-df.pod:242
#: ../diff/virt-diff.pod:236
#, no-wrap
msgid ""
" \"foo\n"
" bar\",baz\n"
"\n"
msgstr ""
" \"foo\n"
" bar\",baz\n"
"\n"

#. type: textblock
#: ../cat/virt-filesystems.pod:375 ../cat/virt-ls.pod:509 ../df/virt-df.pod:245
#: ../diff/virt-diff.pod:239
msgid ""
"For shell scripts, use C<csvtool> (L<https://github.com/Chris00/ocaml-csv> "
"also packaged in major Linux distributions)."
msgstr ""

#. type: textblock
#: ../cat/virt-filesystems.pod:378 ../cat/virt-ls.pod:512 ../df/virt-df.pod:248
#: ../diff/virt-diff.pod:242
msgid ""
"For other languages, use a CSV processing library (eg. C<Text::CSV> for Perl "
"or Python’s built-in csv library)."
msgstr ""

#. type: textblock
#: ../cat/virt-filesystems.pod:381 ../cat/virt-ls.pod:515 ../df/virt-df.pod:251
#: ../diff/virt-diff.pod:245
msgid "Most spreadsheets and databases can import CSV directly."
msgstr "Most spreadsheets and databases can import CSV directly."

#. type: textblock
#: ../cat/virt-filesystems.pod:390
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-df(1)>, L<virt-list-"
"filesystems(1)>, L<virt-list-partitions(1)>, L<csvtool(1)>, L<http://"
"libguestfs.org/>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-df(1)>, L<virt-list-"
"filesystems(1)>, L<virt-list-partitions(1)>, L<csvtool(1)>, L<http://"
"libguestfs.org/>."

#. type: textblock
#: ../cat/virt-log.pod:3
msgid "virt-log - Display log files from a virtual machine"
msgstr ""

#. type: verbatim
#: ../cat/virt-log.pod:7
#, no-wrap
msgid ""
" virt-log [--options] -d domname\n"
"\n"
msgstr ""

#. type: verbatim
#: ../cat/virt-log.pod:9
#, no-wrap
msgid ""
" virt-log [--options] -a disk.img [-a disk.img ...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../cat/virt-log.pod:13
msgid ""
"C<virt-log> is a command line tool to display the log files from the named "
"virtual machine (or disk image)."
msgstr ""

#. type: textblock
#: ../cat/virt-log.pod:16
msgid ""
"This tool understands and displays both plain text log files (eg. F</var/log/"
"messages>) and binary formats such as the systemd journal."
msgstr ""

#. type: textblock
#: ../cat/virt-log.pod:20
msgid ""
"To display other types of files, use L<virt-cat(1)>.  To follow (tail)  text "
"log files, use L<virt-tail(1)>.  To copy files out of a virtual machine, use "
"L<virt-copy-out(1)>.  To display the contents of the Windows Registry, use "
"L<virt-win-reg(1)>."
msgstr ""

#. type: textblock
#: ../cat/virt-log.pod:27
msgid "Display the complete logs from a guest:"
msgstr ""

#. type: verbatim
#: ../cat/virt-log.pod:29
#, no-wrap
msgid ""
" virt-log -d mydomain | less\n"
"\n"
msgstr ""

#. type: textblock
#: ../cat/virt-log.pod:31
msgid "Find out what DHCP IP address a VM acquired:"
msgstr "Find out what DHCP IP address a VM acquired:"

#. type: verbatim
#: ../cat/virt-log.pod:33
#, no-wrap
msgid ""
" virt-log -d mydomain | grep 'dhclient.*bound to'\n"
"\n"
msgstr ""

#. type: textblock
#: ../cat/virt-log.pod:81
msgid ""
"When prompting for keys and passphrases, virt-log 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: verbatim
#: ../cat/virt-log.pod:97
#, no-wrap
msgid ""
" virt-log --format=raw -a disk.img\n"
"\n"
msgstr ""

#. type: verbatim
#: ../cat/virt-log.pod:101
#, no-wrap
msgid ""
" virt-log --format=raw -a disk.img --format -a another.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../cat/virt-log.pod:142
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-out(1)>, L<virt-"
"tail(1)>, L<virt-tar-out(1)>, L<virt-win-reg(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../cat/virt-log.pod:157 ../examples/guestfs-examples.pod:75
#: ../make-fs/virt-make-fs.pod:245
#, fuzzy
#| msgid "Copyright (C) 2010-2012 Red Hat Inc."
msgid "Copyright (C) 2010-2020 Red Hat Inc."
msgstr "Copyright (C) 2010-2012 Red Hat Inc."

#. type: textblock
#: ../cat/virt-ls.pod:3
msgid "virt-ls - List files in a virtual machine"
msgstr "virt-ls - List files in a virtual machine"

#. type: verbatim
#: ../cat/virt-ls.pod:7
#, no-wrap
msgid ""
" virt-ls [--options] -d domname directory [directory ...]\n"
"\n"
msgstr ""
" virt-ls [--options] -d domname directory [directory ...]\n"
"\n"

#. type: verbatim
#: ../cat/virt-ls.pod:9
#, no-wrap
msgid ""
" virt-ls [--options] -a disk.img [-a disk.img ...] directory [directory ...]\n"
"\n"
msgstr ""
" virt-ls [--options] -a disk.img [-a disk.img ...] directory [directory ...]\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:11 ../df/virt-df.pod:17 ../rescue/virt-rescue.pod:11
msgid "Old style:"
msgstr "Old style:"

#. type: verbatim
#: ../cat/virt-ls.pod:13
#, no-wrap
msgid ""
" virt-ls [--options] domname directory\n"
"\n"
msgstr ""
" virt-ls [--options] domname directory\n"
"\n"

#. type: verbatim
#: ../cat/virt-ls.pod:15
#, no-wrap
msgid ""
" virt-ls [--options] disk.img [disk.img ...] directory\n"
"\n"
msgstr ""
" virt-ls [--options] disk.img [disk.img ...] directory\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:19
msgid ""
"C<virt-ls> lists filenames, file sizes, checksums, extended attributes and "
"more from a virtual machine or disk image."
msgstr ""
"C<virt-ls> lists filenames, file sizes, checksums, extended attributes and "
"more from a virtual machine or disk image."

#. type: textblock
#: ../cat/virt-ls.pod:22
msgid ""
"Multiple directory names can be given, in which case the output from each is "
"concatenated."
msgstr ""
"Multiple directory names can be given, in which case the output from each is "
"concatenated."

#. type: textblock
#: ../cat/virt-ls.pod:25
msgid ""
"To list directories from a libvirt guest use the I<-d> option to specify the "
"name of the guest.  For a disk image, use the I<-a> option."
msgstr ""
"To list directories from a libvirt guest use the I<-d> option to specify the "
"name of the guest.  For a disk image, use the I<-a> option."

#. type: textblock
#: ../cat/virt-ls.pod:29
msgid ""
"C<virt-ls> can do many simple file listings.  For more complicated cases you "
"may need to use L<guestfish(1)>, or write a program directly to the "
"L<guestfs(3)> API."
msgstr ""
"C<virt-ls> can do many simple file listings.  For more complicated cases you "
"may need to use L<guestfish(1)>, or write a program directly to the "
"L<guestfs(3)> API."

#. type: textblock
#: ../cat/virt-ls.pod:35
msgid "Get a list of all files and directories in a virtual machine:"
msgstr "Get a list of all files and directories in a virtual machine:"

#. type: verbatim
#: ../cat/virt-ls.pod:37
#, no-wrap
msgid ""
" virt-ls -R -d guest /\n"
"\n"
msgstr ""
" virt-ls -R -d guest /\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:39 ../docs/guestfs-testing.pod:270
msgid "List all setuid or setgid programs in a Linux virtual machine:"
msgstr "List all setuid or setgid programs in a Linux virtual machine:"

#. type: verbatim
#: ../cat/virt-ls.pod:41
#, no-wrap
msgid ""
" virt-ls -lR -d guest / | grep '^- [42]'\n"
"\n"
msgstr ""
" virt-ls -lR -d guest / | grep '^- [42]'\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:43 ../docs/guestfs-testing.pod:274
msgid "List all public-writable directories in a Linux virtual machine:"
msgstr "List all public-writable directories in a Linux virtual machine:"

#. type: verbatim
#: ../cat/virt-ls.pod:45
#, no-wrap
msgid ""
" virt-ls -lR -d guest / | grep '^d ...7'\n"
"\n"
msgstr ""
" virt-ls -lR -d guest / | grep '^d ...7'\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:47 ../docs/guestfs-testing.pod:278
msgid "List all Unix domain sockets in a Linux virtual machine:"
msgstr "List all Unix domain sockets in a Linux virtual machine:"

#. type: verbatim
#: ../cat/virt-ls.pod:49
#, no-wrap
msgid ""
" virt-ls -lR -d guest / | grep '^s'\n"
"\n"
msgstr ""
" virt-ls -lR -d guest / | grep '^s'\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:51 ../docs/guestfs-testing.pod:282
msgid "List all regular files with filenames ending in ‘.png’:"
msgstr ""

#. type: verbatim
#: ../cat/virt-ls.pod:53
#, no-wrap
msgid ""
" virt-ls -lR -d guest / | grep -i '^-.*\\.png$'\n"
"\n"
msgstr ""
" virt-ls -lR -d guest / | grep -i '^-.*\\.png$'\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:55
msgid "To display files larger than 10MB in home directories:"
msgstr "To display files larger than 10MB in home directories:"

#. type: verbatim
#: ../cat/virt-ls.pod:57
#, no-wrap
msgid ""
" virt-ls -lR -d guest /home | awk '$3 > 10*1024*1024'\n"
"\n"
msgstr ""
" virt-ls -lR -d guest /home | awk '$3 > 10*1024*1024'\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:59 ../docs/guestfs-testing.pod:290
msgid "Find everything modified in the last 7 days:"
msgstr "Find everything modified in the last 7 days:"

#. type: verbatim
#: ../cat/virt-ls.pod:61
#, no-wrap
msgid ""
" virt-ls -lR -d guest --time-days / | awk '$6 <= 7'\n"
"\n"
msgstr ""
" virt-ls -lR -d guest --time-days / | awk '$6 <= 7'\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:63 ../docs/guestfs-testing.pod:294
msgid "Find regular files modified in the last 24 hours:"
msgstr "Find regular files modified in the last 24 hours:"

#. type: verbatim
#: ../cat/virt-ls.pod:65
#, no-wrap
msgid ""
" virt-ls -lR -d guest --time-days / | grep '^-' | awk '$6 < 1'\n"
"\n"
msgstr ""
" virt-ls -lR -d guest --time-days / | grep '^-' | awk '$6 < 1'\n"
"\n"

#. type: =head2
#: ../cat/virt-ls.pod:67
msgid "DIFFERENCES IN SNAPSHOTS AND BACKING FILES"
msgstr "DIFFERENCES IN SNAPSHOTS AND BACKING FILES"

#. type: textblock
#: ../cat/virt-ls.pod:69
msgid ""
"Although it is possible to use virt-ls to look for differences, since "
"libguestfs E<ge> 1.26 a new tool is available called L<virt-diff(1)>."
msgstr ""

#. type: =head1
#: ../cat/virt-ls.pod:72
msgid "OUTPUT MODES"
msgstr "OUTPUT MODES"

#. type: textblock
#: ../cat/virt-ls.pod:74
msgid ""
"C<virt-ls> has four output modes, controlled by different combinations of "
"the I<-l> and I<-R> options."
msgstr ""
"C<virt-ls> has four output modes, controlled by different combinations of "
"the I<-l> and I<-R> options."

#. type: =head2
#: ../cat/virt-ls.pod:77
msgid "SIMPLE LISTING"
msgstr "SIMPLE LISTING"

#. type: textblock
#: ../cat/virt-ls.pod:79
msgid "A simple listing is like the ordinary L<ls(1)> command:"
msgstr "A simple listing is like the ordinary L<ls(1)> command:"

#. type: verbatim
#: ../cat/virt-ls.pod:81
#, no-wrap
msgid ""
" $ virt-ls -d guest /\n"
" bin\n"
" boot\n"
" [etc.]\n"
"\n"
msgstr ""
" $ virt-ls -d guest /\n"
" bin\n"
" boot\n"
" [etc.]\n"
"\n"

#. type: =head2
#: ../cat/virt-ls.pod:86
msgid "LONG LISTING"
msgstr "LONG LISTING"

#. type: textblock
#: ../cat/virt-ls.pod:88
msgid ""
"With the I<-l> (I<--long>) option, the output is like the C<ls -l> command "
"(more specifically, like the C<guestfs_ll> function)."
msgstr ""
"With the I<-l> (I<--long>) option, the output is like the C<ls -l> command "
"(more specifically, like the C<guestfs_ll> function)."

#. type: verbatim
#: ../cat/virt-ls.pod:91
#, no-wrap
msgid ""
" $ virt-ls -l -d guest /\n"
" total 204\n"
" dr-xr-xr-x.   2 root root   4096 2009-08-25 19:06 bin\n"
" dr-xr-xr-x.   5 root root   3072 2009-08-25 19:06 boot\n"
" [etc.]\n"
"\n"
msgstr ""
" $ virt-ls -l -d guest /\n"
" total 204\n"
" dr-xr-xr-x.   2 root root   4096 2009-08-25 19:06 bin\n"
" dr-xr-xr-x.   5 root root   3072 2009-08-25 19:06 boot\n"
" [etc.]\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:97
msgid ""
"Note that while this is useful for displaying a directory, do not try "
"parsing this output in another program.  Use L</RECURSIVE LONG LISTING> "
"instead."
msgstr ""
"Note that while this is useful for displaying a directory, do not try "
"parsing this output in another program.  Use L</RECURSIVE LONG LISTING> "
"instead."

#. type: =head2
#: ../cat/virt-ls.pod:101
msgid "RECURSIVE LISTING"
msgstr "RECURSIVE LISTING"

#. type: textblock
#: ../cat/virt-ls.pod:103
msgid ""
"With the I<-R> (I<--recursive>) option, C<virt-ls> lists the names of files "
"and directories recursively:"
msgstr ""
"With the I<-R> (I<--recursive>) option, C<virt-ls> lists the names of files "
"and directories recursively:"

#. type: verbatim
#: ../cat/virt-ls.pod:106
#, no-wrap
msgid ""
" $ virt-ls -R -d guest /tmp\n"
" foo\n"
" foo/bar\n"
" [etc.]\n"
"\n"
msgstr ""
" $ virt-ls -R -d guest /tmp\n"
" foo\n"
" foo/bar\n"
" [etc.]\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:111
msgid ""
"To generate this output, C<virt-ls> runs the C<guestfs_find0> function and "
"converts C<\\0> characters to C<\\n>."
msgstr ""
"To generate this output, C<virt-ls> runs the C<guestfs_find0> function and "
"converts C<\\0> characters to C<\\n>."

#. type: =head2
#: ../cat/virt-ls.pod:114
msgid "RECURSIVE LONG LISTING"
msgstr "RECURSIVE LONG LISTING"

#. type: textblock
#: ../cat/virt-ls.pod:116
msgid ""
"Using I<-lR> options together changes the output to display directories "
"recursively, with file stats, and optionally other features such as "
"checksums and extended attributes."
msgstr ""
"Using I<-lR> options together changes the output to display directories "
"recursively, with file stats, and optionally other features such as "
"checksums and extended attributes."

#. type: textblock
#: ../cat/virt-ls.pod:120
msgid ""
"Most of the interesting features of C<virt-ls> are only available when using "
"I<-lR> mode."
msgstr ""
"Most of the interesting features of C<virt-ls> are only available when using "
"I<-lR> mode."

#. type: textblock
#: ../cat/virt-ls.pod:123
msgid ""
"The fields are normally space-separated.  Filenames are B<not> quoted, so "
"you cannot use the output in another program (because filenames can contain "
"spaces and other unsafe characters).  If the guest was untrusted and someone "
"knew you were using C<virt-ls> to analyze the guest, they could play tricks "
"on you by creating filenames with embedded newline characters.  To B<safely> "
"parse the output in another program, use the I<--csv> (Comma-Separated "
"Values) option."
msgstr ""
"The fields are normally space-separated.  Filenames are B<not> quoted, so "
"you cannot use the output in another program (because filenames can contain "
"spaces and other unsafe characters).  If the guest was untrusted and someone "
"knew you were using C<virt-ls> to analyse the guest, they could play tricks "
"on you by creating filenames with embedded newline characters.  To B<safely> "
"parse the output in another program, use the I<--csv> (Comma-Separated "
"Values) option."

#. type: textblock
#: ../cat/virt-ls.pod:131
msgid ""
"Note that this output format is completely unrelated to the C<ls -lR> "
"command."
msgstr ""
"Note that this output format is completely unrelated to the C<ls -lR> "
"command."

#. type: verbatim
#: ../cat/virt-ls.pod:134
#, no-wrap
msgid ""
" $ virt-ls -lR -d guest /bin\n"
" d 0555       4096 /bin\n"
" - 0755        123 /bin/alsaunmute\n"
" - 0755      28328 /bin/arch\n"
" l 0777          4 /bin/awk -> gawk\n"
" - 0755      27216 /bin/basename\n"
" - 0755     943360 /bin/bash\n"
" [etc.]\n"
"\n"
msgstr ""
" $ virt-ls -lR -d guest /bin\n"
" d 0555       4096 /bin\n"
" - 0755        123 /bin/alsaunmute\n"
" - 0755      28328 /bin/arch\n"
" l 0777          4 /bin/awk -> gawk\n"
" - 0755      27216 /bin/basename\n"
" - 0755     943360 /bin/bash\n"
" [etc.]\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:143
msgid "These basic fields are always shown:"
msgstr "These basic fields are always shown:"

#. type: =item
#: ../cat/virt-ls.pod:147
msgid "type"
msgstr "type"

#. type: textblock
#: ../cat/virt-ls.pod:149
msgid ""
"The file type, one of: C<-> (regular file), C<d> (directory), C<c> "
"(character device), C<b> (block device), C<p> (named pipe), C<l> (symbolic "
"link), C<s> (socket) or C<u> (unknown)."
msgstr ""
"The file type, one of: C<-> (regular file), C<d> (directory), C<c> "
"(character device), C<b> (block device), C<p> (named pipe), C<l> (symbolic "
"link), C<s> (socket) or C<u> (unknown)."

#. type: =item
#: ../cat/virt-ls.pod:159
msgid "permissions"
msgstr "permissions"

#. type: textblock
#: ../cat/virt-ls.pod:161
msgid "The Unix permissions, displayed as a 4 digit octal number."
msgstr "The Unix permissions, displayed as a 4 digit octal number."

#. type: =item
#: ../cat/virt-ls.pod:163
msgid "size"
msgstr "size"

#. type: textblock
#: ../cat/virt-ls.pod:165
msgid ""
"The size of the file.  This is shown in bytes unless I<-h> or I<--human-"
"readable> option is given, in which case this is shown as a human-readable "
"number."
msgstr ""
"The size of the file.  This is shown in bytes unless I<-h> or I<--human-"
"readable> option is given, in which case this is shown as a human-readable "
"number."

#. type: =head2
#: ../cat/virt-ls.pod:169 ../fish/guestfish-actions.pod:8398
msgid "path"
msgstr "path"

#. type: textblock
#: ../cat/virt-ls.pod:171
msgid "The full path of the file or directory."
msgstr "The full path of the file or directory."

#. type: =item
#: ../cat/virt-ls.pod:173
msgid "link"
msgstr "link"

#. type: textblock
#: ../cat/virt-ls.pod:175
msgid "For symbolic links only, the link target."
msgstr "For symbolic links only, the link target."

#. type: textblock
#: ../cat/virt-ls.pod:179
msgid ""
"In I<-lR> mode, additional command line options enable the display of more "
"fields."
msgstr ""
"In I<-lR> mode, additional command line options enable the display of more "
"fields."

#. type: textblock
#: ../cat/virt-ls.pod:182
msgid ""
"With the I<--uids> flag, these additional fields are displayed before the "
"path:"
msgstr ""
"With the I<--uids> flag, these additional fields are displayed before the "
"path:"

#. type: =item
#: ../cat/virt-ls.pod:187
msgid "uid"
msgstr "uid"

#. type: =item
#: ../cat/virt-ls.pod:189
msgid "gid"
msgstr "gid"

#. type: textblock
#: ../cat/virt-ls.pod:191
msgid ""
"The UID and GID of the owner of the file (displayed numerically).  Note "
"these only make sense in the context of a Unix-like guest."
msgstr ""
"The UID and GID of the owner of the file (displayed numerically).  Note "
"these only make sense in the context of a Unix-like guest."

#. type: textblock
#: ../cat/virt-ls.pod:196
msgid "With the I<--times> flag, these additional fields are displayed:"
msgstr "With the I<--times> flag, these additional fields are displayed:"

#. type: =item
#: ../cat/virt-ls.pod:200
msgid "atime"
msgstr "atime"

#. type: textblock
#: ../cat/virt-ls.pod:202
msgid "The time of last access."
msgstr "The time of last access."

#. type: =item
#: ../cat/virt-ls.pod:204
msgid "mtime"
msgstr "mtime"

#. type: textblock
#: ../cat/virt-ls.pod:206
msgid "The time of last modification."
msgstr "The time of last modification."

#. type: =item
#: ../cat/virt-ls.pod:208
msgid "ctime"
msgstr "ctime"

#. type: textblock
#: ../cat/virt-ls.pod:210
msgid "The time of last status change."
msgstr "The time of last status change."

#. type: textblock
#: ../cat/virt-ls.pod:214
msgid ""
"The time fields are displayed as string dates and times, unless one of the "
"I<--time-t>, I<--time-relative> or I<--time-days> flags is given."
msgstr ""
"The time fields are displayed as string dates and times, unless one of the "
"I<--time-t>, I<--time-relative> or I<--time-days> flags is given."

#. type: textblock
#: ../cat/virt-ls.pod:217
msgid "With the I<--extra-stats> flag, these additional fields are displayed:"
msgstr "With the I<--extra-stats> flag, these additional fields are displayed:"

#. type: =item
#: ../cat/virt-ls.pod:221
msgid "device"
msgstr "device"

#. type: textblock
#: ../cat/virt-ls.pod:223
msgid ""
"The device containing the file (displayed as major:minor).  This may not "
"match devices as known to the guest."
msgstr ""
"The device containing the file (displayed as major:minor).  This may not "
"match devices as known to the guest."

#. type: =item
#: ../cat/virt-ls.pod:226
msgid "inode"
msgstr "inode"

#. type: textblock
#: ../cat/virt-ls.pod:228
msgid "The inode number."
msgstr "The inode number."

#. type: =item
#: ../cat/virt-ls.pod:230
msgid "nlink"
msgstr "nlink"

#. type: textblock
#: ../cat/virt-ls.pod:232
msgid "The number of hard links."
msgstr "The number of hard links."

#. type: =item
#: ../cat/virt-ls.pod:234
msgid "rdev"
msgstr "rdev"

#. type: textblock
#: ../cat/virt-ls.pod:236
msgid ""
"For block and char special files, the device (displayed as major:minor)."
msgstr ""
"For block and char special files, the device (displayed as major:minor)."

#. type: =item
#: ../cat/virt-ls.pod:239
msgid "blocks"
msgstr "blocks"

#. type: textblock
#: ../cat/virt-ls.pod:241
msgid "The number of 512 byte blocks allocated to the file."
msgstr "The number of 512 byte blocks allocated to the file."

#. type: textblock
#: ../cat/virt-ls.pod:245
msgid ""
"With the I<--checksum> flag, the checksum of the file contents is shown "
"(only for regular files).  Computing file checksums can take a considerable "
"amount of time."
msgstr ""
"With the I<--checksum> flag, the checksum of the file contents is shown "
"(only for regular files).  Computing file checksums can take a considerable "
"amount of time."

#. type: =item
#: ../cat/virt-ls.pod:276 ../dib/virt-dib.pod:75 ../diff/virt-diff.pod:78
msgid "B<--checksum>"
msgstr "B<--checksum>"

#. type: =item
#: ../cat/virt-ls.pod:278 ../diff/virt-diff.pod:80
msgid "B<--checksum=crc|md5|sha1|sha224|sha256|sha384|sha512>"
msgstr "B<--checksum=crc|md5|sha1|sha224|sha256|sha384|sha512>"

#. type: textblock
#: ../cat/virt-ls.pod:280
msgid ""
"Display checksum over file contents for regular files.  With no argument, "
"this defaults to using I<md5>.  Using an argument, you can select the "
"checksum type to use."
msgstr ""
"Display checksum over file contents for regular files.  With no argument, "
"this defaults to using I<md5>.  Using an argument, you can select the "
"checksum type to use."

#. type: textblock
#: ../cat/virt-ls.pod:284 ../cat/virt-ls.pod:321 ../cat/virt-ls.pod:354
#: ../cat/virt-ls.pod:425 ../cat/virt-ls.pod:435 ../cat/virt-ls.pod:442
#: ../cat/virt-ls.pod:449 ../cat/virt-ls.pod:456
msgid ""
"This option only has effect in I<-lR> output mode.  See L</RECURSIVE LONG "
"LISTING> above."
msgstr ""
"This option only has effect in I<-lR> output mode.  See L</RECURSIVE LONG "
"LISTING> above."

#. type: textblock
#: ../cat/virt-ls.pod:312
msgid ""
"When prompting for keys and passphrases, virt-ls 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 ""
"When prompting for keys and passphrases, virt-ls 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."

#. type: =item
#: ../cat/virt-ls.pod:317 ../diff/virt-diff.pod:136
msgid "B<--extra-stats>"
msgstr "B<--extra-stats>"

#. type: textblock
#: ../cat/virt-ls.pod:319 ../diff/virt-diff.pod:138
msgid "Display extra stats."
msgstr "Display extra stats."

#. type: verbatim
#: ../cat/virt-ls.pod:335
#, no-wrap
msgid ""
" virt-ls --format=raw -a disk.img /dir\n"
"\n"
msgstr ""
" virt-ls --format=raw -a disk.img /dir\n"
"\n"

#. type: verbatim
#: ../cat/virt-ls.pod:339
#, no-wrap
msgid ""
" virt-ls --format=raw -a disk.img --format -a another.img /dir\n"
"\n"
msgstr ""
" virt-ls --format=raw -a disk.img --format -a another.img /dir\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:352 ../diff/virt-diff.pod:169
msgid "Display file sizes in human-readable format."
msgstr "Display file sizes in human-readable format."

#. type: =item
#: ../cat/virt-ls.pod:404
msgid "B<-R>"
msgstr "B<-R>"

#. type: =item
#: ../cat/virt-ls.pod:406
msgid "B<--recursive>"
msgstr "B<--recursive>"

#. type: textblock
#: ../cat/virt-ls.pod:408
msgid ""
"Select the mode.  With neither of these options, C<virt-ls> produces a "
"simple, flat list of the files in the named directory.  See L</SIMPLE "
"LISTING>."
msgstr ""
"Select the mode.  With neither of these options, C<virt-ls> produces a "
"simple, flat list of the files in the named directory.  See L</SIMPLE "
"LISTING>."

#. type: textblock
#: ../cat/virt-ls.pod:412
msgid ""
"C<virt-ls -l> produces a \"long listing\", which shows more detail.  See L</"
"LONG LISTING>."
msgstr ""
"C<virt-ls -l> produces a \"long listing\", which shows more detail.  See L</"
"LONG LISTING>."

#. type: textblock
#: ../cat/virt-ls.pod:415
msgid ""
"C<virt-ls -R> produces a recursive list of files starting at the named "
"directory.  See L</RECURSIVE LISTING>."
msgstr ""
"C<virt-ls -R> produces a recursive list of files starting at the named "
"directory.  See L</RECURSIVE LISTING>."

#. type: textblock
#: ../cat/virt-ls.pod:418
msgid ""
"C<virt-ls -lR> produces a recursive long listing which can be more easily "
"parsed.  See L</RECURSIVE LONG LISTING>."
msgstr ""
"C<virt-ls -lR> produces a recursive long listing which can be more easily "
"parsed.  See L</RECURSIVE LONG LISTING>."

#. type: =item
#: ../cat/virt-ls.pod:421 ../diff/virt-diff.pod:178
msgid "B<--times>"
msgstr "B<--times>"

#. type: textblock
#: ../cat/virt-ls.pod:423 ../diff/virt-diff.pod:180
msgid "Display time fields."
msgstr "Display time fields."

#. type: =item
#: ../cat/virt-ls.pod:428 ../diff/virt-diff.pod:182
msgid "B<--time-days>"
msgstr "B<--time-days>"

#. type: textblock
#: ../cat/virt-ls.pod:430 ../diff/virt-diff.pod:184
msgid "Display time fields as days before now (negative if in the future)."
msgstr "Display time fields as days before now (negative if in the future)."

#. type: textblock
#: ../cat/virt-ls.pod:432 ../diff/virt-diff.pod:186
msgid ""
"Note that C<0> in output means \"up to 1 day before now\", or that the age "
"of the file is between 0 and 86399 seconds."
msgstr ""
"Note that C<0> in output means \"up to 1 day before now\", or that the age "
"of the file is between 0 and 86399 seconds."

#. type: =item
#: ../cat/virt-ls.pod:438 ../diff/virt-diff.pod:189
msgid "B<--time-relative>"
msgstr "B<--time-relative>"

#. type: textblock
#: ../cat/virt-ls.pod:440 ../diff/virt-diff.pod:191
msgid "Display time fields as seconds before now (negative if in the future)."
msgstr "Display time fields as seconds before now (negative if in the future)."

#. type: =item
#: ../cat/virt-ls.pod:445 ../diff/virt-diff.pod:193
msgid "B<--time-t>"
msgstr "B<--time-t>"

#. type: textblock
#: ../cat/virt-ls.pod:447 ../diff/virt-diff.pod:195
msgid "Display time fields as seconds since the Unix epoch."
msgstr "Display time fields as seconds since the Unix epoch."

#. type: =item
#: ../cat/virt-ls.pod:452 ../diff/virt-diff.pod:197
msgid "B<--uids>"
msgstr "B<--uids>"

#. type: textblock
#: ../cat/virt-ls.pod:454 ../diff/virt-diff.pod:199
msgid "Display UID and GID fields."
msgstr "Display UID and GID fields."

#. type: textblock
#: ../cat/virt-ls.pod:479
msgid "Previous versions of virt-ls allowed you to write either:"
msgstr "Previous versions of virt-ls allowed you to write either:"

#. type: verbatim
#: ../cat/virt-ls.pod:481
#, no-wrap
msgid ""
" virt-ls disk.img [disk.img ...] /dir\n"
"\n"
msgstr ""
" virt-ls disk.img [disk.img ...] /dir\n"
"\n"

#. type: verbatim
#: ../cat/virt-ls.pod:485
#, no-wrap
msgid ""
" virt-ls guestname /dir\n"
"\n"
msgstr ""
" virt-ls guestname /dir\n"
"\n"

#. type: textblock
#: ../cat/virt-ls.pod:524
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-out(1)>, L<virt-"
"diff(1)>, L<virt-tar-out(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:3
msgid "virt-tail - Follow (tail) files in a virtual machine"
msgstr ""

#. type: verbatim
#: ../cat/virt-tail.pod:7
#, no-wrap
msgid ""
" virt-tail [--options] -d domname file [file ...]\n"
"\n"
msgstr ""

#. type: verbatim
#: ../cat/virt-tail.pod:9
#, no-wrap
msgid ""
" virt-tail [--options] -a disk.img [-a disk.img ...] file [file ...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:13
msgid ""
"C<virt-tail> is a command line tool to follow (tail) the contents of C<file> "
"where C<file> exists in the named virtual machine (or disk image).  It is "
"similar to the ordinary command S<C<tail -f>>."
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:17
msgid ""
"Multiple filenames can be given, in which case each is followed separately.  "
"Each filename must be a full path, starting at the root directory (starting "
"with '/')."
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:21
msgid "The command keeps running until:"
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:27
msgid "The user presses the ^C or an interrupt signal is received."
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:31
msgid ""
"None of the listed files was found in the guest, or they all get deleted."
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:36
msgid "There is an unrecoverable error."
msgstr ""

#. type: =head3
#: ../cat/virt-tail.pod:40 ../make-fs/virt-make-fs.pod:61
#: ../make-fs/virt-make-fs.pod:80 ../make-fs/virt-make-fs.pod:113
msgid "EXAMPLE"
msgstr "EXAMPLE"

#. type: textblock
#: ../cat/virt-tail.pod:42
msgid ""
"Follow F</var/log/messages> inside a virtual machine called C<mydomain>:"
msgstr ""

#. type: verbatim
#: ../cat/virt-tail.pod:44
#, no-wrap
msgid ""
" virt-tail -d mydomain /var/log/messages\n"
"\n"
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:92
msgid ""
"When prompting for keys and passphrases, virt-tail 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
#: ../cat/virt-tail.pod:97
msgid "B<-f>"
msgstr ""

#. type: =item
#: ../cat/virt-tail.pod:99
msgid "B<--follow>"
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:101
msgid ""
"This option is ignored.  virt-tail always behaves like S<L<tail(1)> I<-f>>.  "
"You don't need to specify the I<-f> option."
msgstr ""

#. type: verbatim
#: ../cat/virt-tail.pod:115
#, no-wrap
msgid ""
" virt-tail --format=raw -a disk.img file\n"
"\n"
msgstr ""

#. type: verbatim
#: ../cat/virt-tail.pod:119
#, no-wrap
msgid ""
" virt-tail --format=raw -a disk.img --format -a another.img file\n"
"\n"
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:197
msgid ""
"C<virt-tail> has a limited ability to understand Windows drive letters and "
"paths (eg. F<E:\\foo\\bar.txt>)."
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:242
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-copy-out(1)>, L<virt-cat(1)>, L<virt-"
"log(1)>, L<virt-tar-out(1)>, L<tail(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../cat/virt-tail.pod:257
msgid "Copyright (C) 2016 Red Hat Inc."
msgstr ""

#. type: =end
#: ../common/mlcustomize/customize-options.pod:1
#: ../common/mlcustomize/customize-options.pod:25 ../docs/guestfs-recipes.pod:1
#: ../docs/guestfs-recipes.pod:6 ../docs/guestfs-release-notes-1.20.pod:425
#: ../docs/guestfs-release-notes-1.20.pod:429
#: ../docs/guestfs-release-notes-1.22.pod:226
#: ../docs/guestfs-release-notes-1.22.pod:230
#: ../docs/guestfs-release-notes-1.24.pod:189
#: ../docs/guestfs-release-notes-1.24.pod:193
#: ../docs/guestfs-release-notes-1.26.pod:257
#: ../docs/guestfs-release-notes-1.26.pod:261
#: ../docs/guestfs-release-notes-1.28.pod:208
#: ../docs/guestfs-release-notes-1.28.pod:212
#: ../docs/guestfs-release-notes-1.30.pod:472
#: ../docs/guestfs-release-notes-1.30.pod:476
#: ../docs/guestfs-release-notes-1.32.pod:296
#: ../docs/guestfs-release-notes-1.32.pod:300
#: ../docs/guestfs-release-notes-1.34.pod:465
#: ../docs/guestfs-release-notes-1.34.pod:469
#: ../docs/guestfs-release-notes-1.36.pod:366
#: ../docs/guestfs-release-notes-1.36.pod:370
#: ../docs/guestfs-release-notes-1.38.pod:352
#: ../docs/guestfs-release-notes-1.38.pod:356
#: ../docs/guestfs-release-notes-1.40.pod:206
#: ../docs/guestfs-release-notes-1.40.pod:210
#: ../docs/guestfs-release-notes-1.42.pod:194
#: ../docs/guestfs-release-notes-1.42.pod:198 ../fish/guestfish-actions.pod:1
#: ../fish/guestfish-actions.pod:25 ../fish/guestfish-commands.pod:1
#: ../fish/guestfish-commands.pod:25 ../fish/guestfish-prepopts.pod:1
#: ../fish/guestfish-prepopts.pod:25 ../lib/guestfs-actions.pod:1
#: ../lib/guestfs-actions.pod:25 ../lib/guestfs-availability.pod:1
#: ../lib/guestfs-availability.pod:25 ../lib/guestfs-structs.pod:1
#: ../lib/guestfs-structs.pod:25
msgid "comment"
msgstr "comment"

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:3
#, no-wrap
msgid ""
"libguestfs generated file\n"
" WARNING: THIS FILE IS GENERATED FROM THE FOLLOWING FILES:\n"
"          generator/customize.ml\n"
"          and from the code in the generator/ subdirectory.\n"
" ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.\n"
"\n"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:9
#: ../fish/guestfish-actions.pod:9 ../fish/guestfish-commands.pod:9
#: ../fish/guestfish-prepopts.pod:9 ../lib/guestfs-actions.pod:9
#: ../lib/guestfs-availability.pod:9 ../lib/guestfs-structs.pod:9
#, fuzzy, no-wrap
#| msgid "Copyright (C) 2010-2012 Red Hat Inc."
msgid ""
" Copyright (C) 2009-2020 Red Hat Inc.\n"
"\n"
msgstr "Copyright (C) 2010-2012 Red Hat Inc."

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:11
#: ../fish/guestfish-actions.pod:11 ../fish/guestfish-commands.pod:11
#: ../fish/guestfish-prepopts.pod:11 ../lib/guestfs-actions.pod:11
#: ../lib/guestfs-availability.pod:11 ../lib/guestfs-structs.pod:11
#, no-wrap
msgid ""
" This program is free software; you can redistribute it and/or modify\n"
" it under the terms of the GNU General Public License as published by\n"
" the Free Software Foundation; either version 2 of the License, or\n"
" (at your option) any later version.\n"
"\n"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:16
#: ../fish/guestfish-actions.pod:16 ../fish/guestfish-commands.pod:16
#: ../fish/guestfish-prepopts.pod:16 ../lib/guestfs-actions.pod:16
#: ../lib/guestfs-availability.pod:16 ../lib/guestfs-structs.pod:16
#, no-wrap
msgid ""
" This program is distributed in the hope that it will be useful,\n"
" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
" GNU General Public License for more details.\n"
"\n"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:21
#: ../fish/guestfish-actions.pod:21 ../fish/guestfish-commands.pod:21
#: ../fish/guestfish-prepopts.pod:21 ../lib/guestfs-actions.pod:21
#: ../lib/guestfs-availability.pod:21 ../lib/guestfs-structs.pod:21
#, no-wrap
msgid ""
" You should have received a copy of the GNU General Public License along\n"
" with this program; if not, write to the Free Software Foundation, Inc.,\n"
" 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n"
"\n"
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:29
msgid "B<--append-line> FILE:LINE"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:31
#: ../sysprep/sysprep-extra-options.pod:4
msgid ""
"Append a single line of text to the C<FILE>.  If the file does not already "
"end with a newline, then one is added before the appended line.  Also a "
"newline is added to the end of the C<LINE> string automatically."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:36
#: ../sysprep/sysprep-extra-options.pod:9
msgid "For example (assuming ordinary shell quoting) this command:"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:38
#: ../sysprep/sysprep-extra-options.pod:11
#, no-wrap
msgid ""
" --append-line '/etc/hosts:10.0.0.1 foo'\n"
"\n"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:40
#: ../sysprep/sysprep-extra-options.pod:13
msgid ""
"will add either C<10.0.0.1 foo⏎> or C<⏎10.0.0.1 foo⏎> to the file, the "
"latter only if the existing file does not already end with a newline."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:44
#: ../sysprep/sysprep-extra-options.pod:17
msgid ""
"C<⏎> represents a newline character, which is guessed by looking at the "
"existing content of the file, so this command does the right thing for files "
"using Unix or Windows line endings.  It also works for empty or non-existent "
"files."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:49
#: ../sysprep/sysprep-extra-options.pod:22
msgid "To insert several lines, use the same option several times:"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:51
#: ../sysprep/sysprep-extra-options.pod:24
#, no-wrap
msgid ""
" --append-line '/etc/hosts:10.0.0.1 foo'\n"
" --append-line '/etc/hosts:10.0.0.2 bar'\n"
"\n"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:54
#: ../sysprep/sysprep-extra-options.pod:27
msgid "To insert a blank line before the appended line, do:"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:56
#: ../sysprep/sysprep-extra-options.pod:29
#, no-wrap
msgid ""
" --append-line '/etc/hosts:'\n"
" --append-line '/etc/hosts:10.0.0.1 foo'\n"
"\n"
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:59
msgid "B<--chmod> PERMISSIONS:FILE"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:61
#: ../sysprep/sysprep-extra-options.pod:35
msgid "Change the permissions of C<FILE> to C<PERMISSIONS>."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:63
#: ../sysprep/sysprep-extra-options.pod:37
msgid ""
"I<Note>: C<PERMISSIONS> by default would be decimal, unless you prefix it "
"with C<0> to get octal, ie. use C<0700> not C<700>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:66
msgid "B<--commands-from-file> FILENAME"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:68
#: ../sysprep/sysprep-extra-options.pod:43
msgid ""
"Read the customize commands from a file, one (and its arguments)  each line."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:71
#: ../sysprep/sysprep-extra-options.pod:46
msgid ""
"Each line contains a single customization command and its arguments, for "
"example:"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:74
#: ../sysprep/sysprep-extra-options.pod:49
#, no-wrap
msgid ""
" delete /some/file\n"
" install some-package\n"
" password some-user:password:its-new-password\n"
"\n"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:78
#: ../sysprep/sysprep-extra-options.pod:53
msgid ""
"Empty lines are ignored, and lines starting with C<#> are comments and are "
"ignored as well.  Furthermore, arguments can be spread across multiple "
"lines, by adding a C<\\> (continuation character) at the of a line, for "
"example"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:83
#: ../sysprep/sysprep-extra-options.pod:58
#, no-wrap
msgid ""
" edit /some/file:\\\n"
"   s/^OPT=.*/OPT=ok/\n"
"\n"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:86
#: ../sysprep/sysprep-extra-options.pod:61
msgid ""
"The commands are handled in the same order as they are in the file, as if "
"they were specified as I<--delete /some/file> on the command line."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:90
msgid "B<--copy> SOURCE:DEST"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:92
#: ../sysprep/sysprep-extra-options.pod:68
msgid "Copy files or directories recursively inside the guest."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:94
#: ../common/mlcustomize/customize-options.pod:101
#: ../common/mlcustomize/customize-options.pod:199
#: ../lib/guestfs-actions.pod:3287 ../lib/guestfs-actions.pod:3308
#: ../sysprep/sysprep-extra-options.pod:70
#: ../sysprep/sysprep-extra-options.pod:78
#: ../sysprep/sysprep-extra-options.pod:200
msgid "Wildcards cannot be used."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:96
msgid "B<--copy-in> LOCALPATH:REMOTEDIR"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:98
#: ../sysprep/sysprep-extra-options.pod:75
msgid ""
"Copy local files or directories recursively into the disk image, placing "
"them in the directory C<REMOTEDIR> (which must exist)."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:103
msgid "B<--delete> PATH"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:105
#: ../sysprep/sysprep-extra-options.pod:83
msgid ""
"Delete a file from the guest.  Or delete a directory (and all its contents, "
"recursively)."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:108
#: ../sysprep/sysprep-extra-options.pod:86
msgid ""
"You can use shell glob characters in the specified path.  Be careful to "
"escape glob characters from the host shell, if that is required.  For "
"example:"
msgstr ""

#. type: verbatim
#: ../common/mlcustomize/customize-options.pod:112
#: ../sysprep/sysprep-extra-options.pod:90
#, no-wrap
msgid ""
" virt-customize --delete '/var/log/*.log'.\n"
"\n"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:114
#: ../sysprep/sysprep-extra-options.pod:92
msgid "See also: I<--upload>, I<--scrub>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:116
msgid "B<--edit> FILE:EXPR"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:118
#: ../sysprep/sysprep-extra-options.pod:97
msgid "Edit C<FILE> using the Perl expression C<EXPR>."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:120 ../edit/virt-edit.pod:129
#: ../sysprep/sysprep-extra-options.pod:99
msgid ""
"Be careful to properly quote the expression to prevent it from being altered "
"by the shell."
msgstr ""
"Be careful to properly quote the expression to prevent it from being altered "
"by the shell."

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:123 ../edit/virt-edit.pod:132
#: ../sysprep/sysprep-extra-options.pod:102
msgid "Note that this option is only available when Perl 5 is installed."
msgstr "Note that this option is only available when Perl 5 is installed."

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:125
#: ../sysprep/sysprep-extra-options.pod:104
msgid "See L<virt-edit(1)/NON-INTERACTIVE EDITING>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:127
msgid "B<--firstboot> SCRIPT"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:129
#: ../sysprep/sysprep-extra-options.pod:109
msgid ""
"Install C<SCRIPT> inside the guest, so that when the guest first boots up, "
"the script runs (as root, late in the boot process)."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:132
#: ../sysprep/sysprep-extra-options.pod:112
msgid "The script is automatically chmod +x after installation in the guest."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:134
#: ../sysprep/sysprep-extra-options.pod:114
msgid ""
"The alternative version I<--firstboot-command> is the same, but it "
"conveniently wraps the command up in a single line script for you."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:137
#: ../common/mlcustomize/customize-options.pod:150
#: ../sysprep/sysprep-extra-options.pod:117
#: ../sysprep/sysprep-extra-options.pod:131
msgid ""
"You can have multiple I<--firstboot> options.  They run in the same order "
"that they appear on the command line."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:140
#: ../common/mlcustomize/customize-options.pod:153
#: ../sysprep/sysprep-extra-options.pod:120
#: ../sysprep/sysprep-extra-options.pod:134
msgid ""
"Please take a look at L<virt-builder(1)/FIRST BOOT SCRIPTS> for more "
"information and caveats about the first boot scripts."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:143
#: ../common/mlcustomize/customize-options.pod:156
#: ../sysprep/sysprep-extra-options.pod:123
#: ../sysprep/sysprep-extra-options.pod:137
msgid "See also I<--run>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:145
msgid "B<--firstboot-command> 'CMD+ARGS'"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:147
#: ../sysprep/sysprep-extra-options.pod:128
msgid ""
"Run command (and arguments) inside the guest when the guest first boots up "
"(as root, late in the boot process)."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:158
msgid "B<--firstboot-install> PKG,PKG.."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:160
#: ../sysprep/sysprep-extra-options.pod:142
msgid ""
"Install the named packages (a comma-separated list).  These are installed "
"when the guest first boots using the guest’s package manager (eg. apt, yum, "
"etc.) and the guest’s network connection."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:164
#: ../common/mlcustomize/customize-options.pod:178
#: ../sysprep/sysprep-extra-options.pod:146
#: ../sysprep/sysprep-extra-options.pod:162
msgid ""
"For an overview on the different ways to install packages, see L<virt-"
"builder(1)/INSTALLING PACKAGES>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:167
msgid "B<--hostname> HOSTNAME"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:169
#: ../sysprep/sysprep-extra-options.pod:152
msgid ""
"Set the hostname of the guest to C<HOSTNAME>.  You can use a dotted hostname."
"domainname (FQDN) if you want."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:172
msgid "B<--install> PKG,PKG.."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:174
#: ../sysprep/sysprep-extra-options.pod:158
msgid ""
"Install the named packages (a comma-separated list).  These are installed "
"during the image build using the guest’s package manager (eg. apt, yum, "
"etc.) and the host’s network connection."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:181
#: ../sysprep/sysprep-extra-options.pod:165
msgid "See also I<--update>, I<--uninstall>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:183
msgid "B<--link> TARGET:LINK[:LINK..]"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:185
#: ../sysprep/sysprep-extra-options.pod:184
msgid ""
"Create symbolic link(s) in the guest, starting at C<LINK> and pointing at "
"C<TARGET>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:188
msgid "B<--mkdir> DIR"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:190
#: ../sysprep/sysprep-extra-options.pod:190
msgid "Create a directory in the guest."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:192
#: ../sysprep/sysprep-extra-options.pod:192
msgid ""
"This uses S<C<mkdir -p>> so any intermediate directories are created, and it "
"also works if the directory already exists."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:195
msgid "B<--move> SOURCE:DEST"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:197
#: ../sysprep/sysprep-extra-options.pod:198
msgid "Move files or directories inside the guest."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:201
msgid "B<--no-logfile>"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:203
#: ../sysprep/sysprep-extra-options.pod:205
msgid ""
"Scrub C<builder.log> (log file from build commands) from the image after "
"building is complete.  If you don't want to reveal precisely how the image "
"was built, use this option."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:207
#: ../sysprep/sysprep-extra-options.pod:209
msgid "See also: L</LOG FILE>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:209
msgid "B<--password> USER:SELECTOR"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:211
#: ../sysprep/sysprep-extra-options.pod:214
msgid ""
"Set the password for C<USER>.  (Note this option does I<not> create the user "
"account)."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:214
#: ../common/mlcustomize/customize-options.pod:243
#: ../sysprep/sysprep-extra-options.pod:217
#: ../sysprep/sysprep-extra-options.pod:262
msgid ""
"See L<virt-builder(1)/USERS AND PASSWORDS> for the format of the C<SELECTOR> "
"field, and also how to set up user accounts."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:217
msgid "B<--password-crypto> md5|sha256|sha512"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:219
#: ../sysprep/sysprep-extra-options.pod:223
msgid ""
"When the virt tools change or set a password in the guest, this option sets "
"the password encryption of that password to C<md5>, C<sha256> or C<sha512>."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:223
#: ../sysprep/sysprep-extra-options.pod:227
msgid ""
"C<sha256> and C<sha512> require glibc E<ge> 2.7 (check crypt(3) inside the "
"guest)."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:226
#: ../sysprep/sysprep-extra-options.pod:230
msgid ""
"C<md5> will work with relatively old Linux guests (eg. RHEL 3), but is not "
"secure against modern attacks."
msgstr ""
"C<md5> will work with relatively old Linux guests (eg. RHEL 3), but is not "
"secure against modern attacks."

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:229
#: ../sysprep/sysprep-extra-options.pod:233
msgid ""
"The default is C<sha512> unless libguestfs detects an old guest that didn't "
"have support for SHA-512, in which case it will use C<md5>.  You can "
"override libguestfs by specifying this option."
msgstr ""
"The default is C<sha512> unless libguestfs detects an old guest that didn't "
"have support for SHA-512, in which case it will use C<md5>.  You can "
"override libguestfs by specifying this option."

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:233
#: ../sysprep/sysprep-extra-options.pod:237
msgid ""
"Note this does not change the default password encryption used by the guest "
"when you create new user accounts inside the guest.  If you want to do that, "
"then you should use the I<--edit> option to modify C</etc/sysconfig/"
"authconfig> (Fedora, RHEL) or C</etc/pam.d/common-password> (Debian, Ubuntu)."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:239
msgid "B<--root-password> SELECTOR"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:241
#: ../sysprep/sysprep-extra-options.pod:260
msgid "Set the root password."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:246
#: ../sysprep/sysprep-extra-options.pod:265
msgid ""
"Note: In virt-builder, if you I<don't> set I<--root-password> then the guest "
"is given a I<random> root password."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:249
msgid "B<--run> SCRIPT"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:251
#: ../sysprep/sysprep-extra-options.pod:271
msgid ""
"Run the shell script (or any program) called C<SCRIPT> on the disk image.  "
"The script runs virtualized inside a small appliance, chrooted into the "
"guest filesystem."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:255
#: ../sysprep/sysprep-extra-options.pod:275
msgid "The script is automatically chmod +x."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:257
#: ../common/mlcustomize/customize-options.pod:273
#: ../sysprep/sysprep-extra-options.pod:277
#: ../sysprep/sysprep-extra-options.pod:294
msgid ""
"If libguestfs supports it then a limited network connection is available but "
"it only allows outgoing network connections.  You can also attach data disks "
"(eg. ISO files) as another way to provide data (eg. software packages) to "
"the script without needing a network connection (I<--attach>).  You can also "
"upload data files (I<--upload>)."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:263
#: ../sysprep/sysprep-extra-options.pod:283
msgid ""
"You can have multiple I<--run> options.  They run in the same order that "
"they appear on the command line."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:266
#: ../common/mlcustomize/customize-options.pod:282
#: ../sysprep/sysprep-extra-options.pod:286
#: ../sysprep/sysprep-extra-options.pod:303
msgid "See also: I<--firstboot>, I<--attach>, I<--upload>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:268
msgid "B<--run-command> 'CMD+ARGS'"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:270
#: ../sysprep/sysprep-extra-options.pod:291
msgid ""
"Run the command and arguments on the disk image.  The command runs "
"virtualized inside a small appliance, chrooted into the guest filesystem."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:279
#: ../sysprep/sysprep-extra-options.pod:300
msgid ""
"You can have multiple I<--run-command> options.  They run in the same order "
"that they appear on the command line."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:284
msgid "B<--scrub> FILE"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:286
#: ../sysprep/sysprep-extra-options.pod:330
msgid "Scrub a file from the guest.  This is like I<--delete> except that:"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:292
#: ../sysprep/sysprep-extra-options.pod:336
msgid "It scrubs the data so a guest could not recover it."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:296
#: ../sysprep/sysprep-extra-options.pod:340
msgid "It cannot delete directories, only regular files."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:300
msgid "B<--selinux-relabel>"
msgstr "B<--selinux-relabel>"

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:302
#: ../sysprep/sysprep-extra-options.pod:347
msgid "Relabel files in the guest so that they have the correct SELinux label."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:304
#: ../sysprep/sysprep-extra-options.pod:349
msgid ""
"This will attempt to relabel files immediately, but if the operation fails "
"this will instead touch F</.autorelabel> on the image to schedule a relabel "
"operation for the next time the image boots."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:308
#: ../sysprep/sysprep-extra-options.pod:353
msgid "You should only use this option for guests which support SELinux."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:310
msgid "B<--sm-attach> SELECTOR"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:312
#: ../sysprep/sysprep-extra-options.pod:358
msgid "Attach to a pool using C<subscription-manager>."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:314
#: ../common/mlcustomize/customize-options.pod:321
#: ../sysprep/sysprep-extra-options.pod:360
#: ../sysprep/sysprep-extra-options.pod:368
msgid ""
"See L<virt-builder(1)/SUBSCRIPTION-MANAGER> for the format of the "
"C<SELECTOR> field."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:317
msgid "B<--sm-credentials> SELECTOR"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:319
#: ../sysprep/sysprep-extra-options.pod:366
msgid "Set the credentials for C<subscription-manager>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:324
msgid "B<--sm-register>"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:326
#: ../sysprep/sysprep-extra-options.pod:374
msgid "Register the guest using C<subscription-manager>."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:328
#: ../sysprep/sysprep-extra-options.pod:376
msgid "This requires credentials being set using I<--sm-credentials>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:330
msgid "B<--sm-remove>"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:332
#: ../sysprep/sysprep-extra-options.pod:381
msgid ""
"Remove all the subscriptions from the guest using C<subscription-manager>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:335
msgid "B<--sm-unregister>"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:337
#: ../sysprep/sysprep-extra-options.pod:387
msgid "Unregister the guest using C<subscription-manager>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:339
msgid "B<--ssh-inject> USER[:SELECTOR]"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:341
#: ../sysprep/sysprep-extra-options.pod:392
msgid ""
"Inject an ssh key so the given C<USER> will be able to log in over ssh "
"without supplying a password.  The C<USER> must exist already in the guest."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:345
#: ../sysprep/sysprep-extra-options.pod:396
msgid ""
"See L<virt-builder(1)/SSH KEYS> for the format of the C<SELECTOR> field."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:348
#: ../sysprep/sysprep-extra-options.pod:399
msgid ""
"You can have multiple I<--ssh-inject> options, for different users and also "
"for more keys for each user."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:351
msgid "B<--timezone> TIMEZONE"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:353
#: ../sysprep/sysprep-extra-options.pod:405
msgid ""
"Set the default timezone of the guest to C<TIMEZONE>.  Use a location string "
"like C<Europe/London>"
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:356
msgid "B<--touch> FILE"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:358
#: ../sysprep/sysprep-extra-options.pod:411
msgid "This command performs a L<touch(1)>-like operation on C<FILE>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:360
msgid "B<--truncate> FILE"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:362
#: ../sysprep/sysprep-extra-options.pod:416
msgid ""
"This command truncates C<FILE> to a zero-length file. The file must exist "
"already."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:365
msgid "B<--truncate-recursive> PATH"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:367
#: ../sysprep/sysprep-extra-options.pod:422
msgid ""
"This command recursively truncates all files under C<PATH> to zero-length."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:369
msgid "B<--uninstall> PKG,PKG.."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:371
#: ../sysprep/sysprep-extra-options.pod:427
msgid ""
"Uninstall the named packages (a comma-separated list).  These are removed "
"during the image build using the guest’s package manager (eg. apt, yum, "
"etc.).  Dependent packages may also need to be uninstalled to satisfy the "
"request."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:376
#: ../sysprep/sysprep-extra-options.pod:432
msgid "See also I<--install>, I<--update>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:378
msgid "B<--update>"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:380
#: ../sysprep/sysprep-extra-options.pod:437
msgid ""
"Do the equivalent of C<yum update>, C<apt-get upgrade>, or whatever command "
"is required to update the packages already installed in the template to "
"their latest versions."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:384
#: ../sysprep/sysprep-extra-options.pod:441
msgid "See also I<--install>, I<--uninstall>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:386
msgid "B<--upload> FILE:DEST"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:388
#: ../sysprep/sysprep-extra-options.pod:446
msgid ""
"Upload local file C<FILE> to destination C<DEST> in the disk image.  File "
"owner and permissions from the original are preserved, so you should set "
"them to what you want them to be in the disk image."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:392
#: ../sysprep/sysprep-extra-options.pod:450
msgid ""
"C<DEST> could be the final filename.  This can be used to rename the file on "
"upload."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:395
#: ../sysprep/sysprep-extra-options.pod:453
msgid ""
"If C<DEST> is a directory name (which must already exist in the guest)  then "
"the file is uploaded into that directory, and it keeps the same name as on "
"the local filesystem."
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:399
#: ../sysprep/sysprep-extra-options.pod:457
msgid "See also: I<--mkdir>, I<--delete>, I<--scrub>."
msgstr ""

#. type: =item
#: ../common/mlcustomize/customize-options.pod:401
msgid "B<--write> FILE:CONTENT"
msgstr ""

#. type: textblock
#: ../common/mlcustomize/customize-options.pod:403
#: ../sysprep/sysprep-extra-options.pod:462
msgid "Write C<CONTENT> to C<FILE>."
msgstr ""

#. type: =item
#: ../common/options/blocksize-option.pod:1 ../make-fs/virt-make-fs.pod:125
#, fuzzy
#| msgid "C<blocksize>"
msgid "B<--blocksize=512>"
msgstr "C<blocksize>"

#. type: =item
#: ../common/options/blocksize-option.pod:3 ../make-fs/virt-make-fs.pod:127
#, fuzzy
#| msgid "C<blocksize>"
msgid "B<--blocksize=4096>"
msgstr "C<blocksize>"

#. type: =item
#: ../common/options/blocksize-option.pod:5
#, fuzzy
#| msgid "C<blocksize>"
msgid "B<--blocksize>"
msgstr "C<blocksize>"

#. type: textblock
#: ../common/options/blocksize-option.pod:7
msgid ""
"This parameter sets the sector size of the disk image.  It affects all "
"explicitly added subsequent disks after this parameter.  Using I<--"
"blocksize> with no argument switches the disk sector size to the default "
"value which is usually 512 bytes.  See also L<guestfs(3)/"
"guestfs_add_drive_opts>."
msgstr ""

#. type: =item
#: ../common/options/key-option.pod:1
msgid "B<--key> SELECTOR"
msgstr ""

#. type: textblock
#: ../common/options/key-option.pod:3
msgid ""
"Specify a key for LUKS, to automatically open a LUKS device when using the "
"inspection.  C<ID> can be either the libguestfs device name, or the UUID of "
"the LUKS device."
msgstr ""

#. type: =item
#: ../common/options/key-option.pod:9
msgid "B<--key> C<ID>:key:KEY_STRING"
msgstr ""

#. type: textblock
#: ../common/options/key-option.pod:11
msgid "Use the specified C<KEY_STRING> as passphrase."
msgstr ""

#. type: =item
#: ../common/options/key-option.pod:13
msgid "B<--key> C<ID>:file:FILENAME"
msgstr ""

#. type: textblock
#: ../common/options/key-option.pod:15
msgid "Read the passphrase from F<FILENAME>."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:3
msgid "virt-customize - Customize a virtual machine"
msgstr ""

#. type: verbatim
#: ../customize/virt-customize.pod:7
#, no-wrap
msgid ""
" virt-customize\n"
"    [ -a disk.img [ -a disk.img ... ] | -d domname ]\n"
"    [--attach ISOFILE] [--attach-format FORMAT]\n"
"    [ -c URI | --connect URI ] [ -n | --dry-run ]\n"
"    [ --format FORMAT] [ -m MB | --memsize MB ]\n"
"    [ --network | --no-network ]\n"
"    [ -q | --quiet ] [--smp N] [ -v | --verbose ] [-x]\n"
"__CUSTOMIZE_SYNOPSIS__\n"
"\n"
msgstr ""

#. type: verbatim
#: ../customize/virt-customize.pod:16
#, no-wrap
msgid ""
" virt-customize [ -V | --version ]\n"
"\n"
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:20
msgid ""
"Virt-customize can customize a virtual machine (disk image) by installing "
"packages, editing configuration files, and so on."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:23
msgid ""
"Virt-customize modifies the guest or disk image I<in place>.  The guest must "
"be shut down.  If you want to preserve the existing contents of the guest, "
"I<you must snapshot, copy or clone the disk first>."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:27
msgid ""
"You do I<not> need to run virt-customize as root.  In fact we'd generally "
"recommend that you don't."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:30
msgid "Related tools include: L<virt-sysprep(1)> and L<virt-builder(1)>."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:46 ../get-kernel/virt-get-kernel.pod:37
#: ../sysprep/virt-sysprep.pod:52
msgid ""
"The format of the disk image is auto-detected.  To override this and force a "
"particular format use the I<--format> option."
msgstr ""
"The format of the disk image is auto-detected.  To override this and force a "
"particular format use the I<--format> option."

#. type: =item
#: ../customize/virt-customize.pod:49 ../df/virt-df.pod:90
#: ../diff/virt-diff.pod:54 ../edit/virt-edit.pod:73 ../fish/guestfish.pod:178
#: ../format/virt-format.pod:76 ../fuse/guestmount.pod:169
#: ../get-kernel/virt-get-kernel.pod:40 ../inspector/virt-inspector.pod:71
#: ../rescue/virt-rescue.pod:105 ../sysprep/virt-sysprep.pod:55
msgid "B<-a> URI"
msgstr ""

#. type: =item
#: ../customize/virt-customize.pod:51 ../df/virt-df.pod:92
#: ../diff/virt-diff.pod:56 ../edit/virt-edit.pod:75 ../fish/guestfish.pod:180
#: ../format/virt-format.pod:78 ../fuse/guestmount.pod:171
#: ../get-kernel/virt-get-kernel.pod:42 ../inspector/virt-inspector.pod:73
#: ../rescue/virt-rescue.pod:107 ../sysprep/virt-sysprep.pod:57
msgid "B<--add> URI"
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:53 ../get-kernel/virt-get-kernel.pod:44
#: ../sysprep/virt-sysprep.pod:59
msgid ""
"Add a remote disk.  The URI format is compatible with guestfish.  See "
"L<guestfish(1)/ADDING REMOTE STORAGE>."
msgstr ""
"Add a remote disk.  The URI format is compatible with guestfish.  See "
"L<guestfish(1)/ADDING REMOTE STORAGE>."

#. type: textblock
#: ../customize/virt-customize.pod:58
msgid ""
"The given disk is attached to the libguestfs appliance.  This is used to "
"provide extra software repositories or other data for customization."
msgstr ""

#. type: =item
#: ../customize/virt-customize.pod:103 ../daemon/guestfsd.pod:75
#: ../fish/guestfish.pod:353 ../fuse/guestmount.pod:292
#: ../resize/virt-resize.pod:470 ../sysprep/virt-sysprep.pod:88
msgid "B<-n>"
msgstr "B<-n>"

#. type: =item
#: ../customize/virt-customize.pod:105 ../resize/virt-resize.pod:472
#: ../sysprep/virt-sysprep.pod:90
msgid "B<--dry-run>"
msgstr "B<--dry-run>"

#. type: textblock
#: ../customize/virt-customize.pod:107 ../sysprep/virt-sysprep.pod:92
msgid ""
"Perform a read-only \"dry run\" on the guest.  This runs the sysprep "
"operation, but throws away any changes to the disk at the end."
msgstr ""
"Perform a read-only \"dry run\" on the guest.  This runs the sysprep "
"operation, but throws away any changes to the disk at the end."

#. type: textblock
#: ../customize/virt-customize.pod:112
msgid ""
"When prompting for keys and passphrases, virt-customize 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
#: ../customize/virt-customize.pod:117 ../get-kernel/virt-get-kernel.pod:88
#: ../sysprep/virt-sysprep.pod:165
msgid "B<--format> raw|qcow2|.."
msgstr "B<--format> raw|qcow2|.."

#. type: =item
#: ../customize/virt-customize.pod:119 ../get-kernel/virt-get-kernel.pod:90
#: ../sysprep/virt-sysprep.pod:167
msgid "B<--format> auto"
msgstr "B<--format> auto"

#. type: textblock
#: ../customize/virt-customize.pod:121 ../sysprep/virt-sysprep.pod:169
msgid ""
"The default for the I<-a> option is to auto-detect the format of the disk "
"image.  Using this forces the disk format for I<-a> options which follow on "
"the command line.  Using I<--format auto> switches back to auto-detection "
"for subsequent I<-a> options."
msgstr ""
"The default for the I<-a> option is to auto-detect the format of the disk "
"image.  Using this forces the disk format for I<-a> options which follow on "
"the command line.  Using I<--format auto> switches back to auto-detection "
"for subsequent I<-a> options."

#. type: verbatim
#: ../customize/virt-customize.pod:128
#, no-wrap
msgid ""
" virt-customize --format raw -a disk.img\n"
"\n"
msgstr ""

#. type: verbatim
#: ../customize/virt-customize.pod:132
#, no-wrap
msgid ""
" virt-customize --format raw -a disk.img --format auto -a another.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:174
msgid ""
"This does not affect whether the guest can access the network once it has "
"been booted, because that is controlled by your hypervisor or cloud "
"environment and has nothing to do with virt-customize."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:195
msgid ""
"You don’t want untrusted guest code trying to access your host network when "
"running virt-customize.  This is particularly an issue when you don't trust "
"the source of the operating system templates.  (See L</SECURITY> below)."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:210 ../sysprep/virt-sysprep.pod:241
msgid "Don’t print log messages."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:212 ../sysprep/virt-sysprep.pod:243
msgid "To enable detailed logging of individual file operations, use I<-x>."
msgstr "To enable detailed logging of individual file operations, use I<-x>."

#. type: textblock
#: ../customize/virt-customize.pod:242 ../sysprep/virt-sysprep.pod:550
msgid ""
"For guests which make use of SELinux, special handling for them might be "
"needed when using operations which create new files or alter existing ones."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:246 ../sysprep/virt-sysprep.pod:554
msgid "For further details, see L<virt-builder(1)/SELINUX>."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:250 ../sysprep/virt-sysprep.pod:563
msgid "This program returns 0 on success, or 1 if there was an error."
msgstr "This program returns 0 on success, or 1 if there was an error."

#. type: textblock
#: ../customize/virt-customize.pod:286 ../sparsify/virt-sparsify.pod:446
#: ../sysprep/virt-sysprep.pod:599
msgid ""
"For other environment variables, see L<guestfs(3)/ENVIRONMENT VARIABLES>."
msgstr ""
"For other environment variables, see L<guestfs(3)/ENVIRONMENT VARIABLES>."

#. type: textblock
#: ../customize/virt-customize.pod:290
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-builder(1)>, L<virt-clone(1)>, L<virt-"
"rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, L<virt-sysprep(1)>, "
"L<virsh(1)>, L<lvcreate(8)>, L<qemu-img(1)>, L<scrub(1)>, L<http://"
"libguestfs.org/>, L<http://libvirt.org/>."
msgstr ""

#. type: textblock
#: ../customize/virt-customize.pod:311 ../fish/libguestfs-tools.conf.pod:102
#: ../sparsify/virt-sparsify.pod:478 ../sysprep/virt-sysprep.pod:626
#, fuzzy
#| msgid "Copyright (C) 2011-2012 Red Hat Inc."
msgid "Copyright (C) 2011-2020 Red Hat Inc."
msgstr "Copyright (C) 2011-2012 Red Hat Inc."

#. type: textblock
#: ../daemon/guestfsd.pod:3
msgid "guestfsd - guestfs daemon"
msgstr "guestfsd - guestfs daemon"

#. type: verbatim
#: ../daemon/guestfsd.pod:7
#, no-wrap
msgid ""
" guestfsd [-r] [-v|--verbose]\n"
"\n"
msgstr ""
" guestfsd [-r] [-v|--verbose]\n"
"\n"

#. type: textblock
#: ../daemon/guestfsd.pod:11
msgid ""
"C<guestfsd> is the libguestfs daemon.  Normal users never need to run this "
"program explicitly.  This man page discusses what C<guestfsd> does in both "
"the libguestfs appliance and when using libguestfs live."
msgstr ""
"C<guestfsd> is the libguestfs daemon.  Normal users never need to run this "
"program explicitly.  This man page discusses what C<guestfsd> does in both "
"the libguestfs appliance and when using libguestfs live."

#. type: =head2
#: ../daemon/guestfsd.pod:15
msgid "LIBGUESTFS APPLIANCE"
msgstr "LIBGUESTFS APPLIANCE"

#. type: textblock
#: ../daemon/guestfsd.pod:17
msgid ""
"For the architecture of the libguestfs appliance, see L<guestfs(3)/"
"ARCHITECTURE>."
msgstr ""
"For the architecture of the libguestfs appliance, see L<guestfs(3)/"
"ARCHITECTURE>."

#. type: textblock
#: ../daemon/guestfsd.pod:20
msgid ""
"After the appliance boots, the F</init> script in the appliance starts "
"C<guestfsd> with no arguments.  C<guestfsd> opens the virtio-serial port on "
"a known path (see L</FILES>).  It initiates the protocol (see L<guestfs(3)/"
"COMMUNICATION PROTOCOL>) and processes requests one at a time from the "
"library until the appliance is destroyed."
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:26
msgid ""
"Filesystems are mounted under F</sysroot> and all filesystem operations "
"happen relative to this directory."
msgstr ""

#. type: =head2
#: ../daemon/guestfsd.pod:29
msgid "LIBGUESTFS LIVE"
msgstr "LIBGUESTFS LIVE"

#. type: textblock
#: ../daemon/guestfsd.pod:31
msgid ""
"In the libguestfs live case, C<guestfsd -r> is started from the rc-scripts, "
"systemd, etc."
msgstr ""
"In the libguestfs live case, C<guestfsd -r> is started from the rc-scripts, "
"systemd, etc."

#. type: textblock
#: ../daemon/guestfsd.pod:34
msgid ""
"The C<-r> option causes the daemon to operate on the root filesystem instead "
"of F</sysroot>."
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:37
msgid ""
"Currently (because of limitations in virtio-serial) only one client can "
"connect at a time, and C<guestfsd> must be restarted after each client "
"disconnects.  If libguestfs live were changed to use a different transport "
"such as TCP/IP then this limitation could be removed."
msgstr ""
"Currently (because of limitations in virtio-serial) only one client can "
"connect at a time, and C<guestfsd> must be restarted after each client "
"disconnects.  If libguestfs live were changed to use a different transport "
"such as TCP/IP then this limitation could be removed."

#. type: =item
#: ../daemon/guestfsd.pod:47
msgid "B<-?>"
msgstr "B<-?>"

#. type: =item
#: ../daemon/guestfsd.pod:53
msgid "B<-c> CHANNEL"
msgstr ""

#. type: =item
#: ../daemon/guestfsd.pod:55
msgid "B<--channel> CHANNEL"
msgstr ""

#. type: =item
#: ../daemon/guestfsd.pod:57
msgid "B<--channel> fd:N"
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:59
msgid ""
"Pass the name of the virtio-serial channel, serial port, etc.  over which "
"guestfsd will communicate with the library.  If this parameter is not given, "
"then an internal default port is used."
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:63
msgid ""
"The C<fd:N> form causes guestfsd to use the file descriptor C<N> directly."
msgstr ""

#. type: =item
#: ../daemon/guestfsd.pod:68 ../fish/guestfish.pod:292
msgid "B<--listen>"
msgstr "B<--listen>"

#. type: textblock
#: ../daemon/guestfsd.pod:70
msgid ""
"Instead of opening the C<guestfs_channel> and thus expecting that it already "
"exists, create the channel as a Unix domain socket, listen on it, and accept "
"a single connection.  This is mainly used for testing the daemon."
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:79
msgid "Enable network features in the daemon."
msgstr ""

#. type: =item
#: ../daemon/guestfsd.pod:81 ../fish/guestfish.pod:397
#: ../fuse/guestmount.pod:356 ../rescue/virt-rescue.pod:229
msgid "B<-r>"
msgstr "B<-r>"

#. type: textblock
#: ../daemon/guestfsd.pod:83
msgid ""
"Set the root filesystem to be F</> (instead of the default which is F</"
"sysroot>).  Also do not unmount filesystems when the daemon exits."
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:86
msgid "This option is used to enable libguestfs live."
msgstr "This option is used to enable libguestfs live."

#. type: textblock
#: ../daemon/guestfsd.pod:94
msgid ""
"The verbose flag is also set if the Linux command line contains the "
"substring C<guestfs_verbose=1>."
msgstr ""
"The verbose flag is also set if the Linux command line contains the "
"substring C<guestfs_verbose=1>."

#. type: =head1
#: ../daemon/guestfsd.pod:104 ../fish/guestfish.pod:1561
#: ../fuse/guestmount.pod:406 ../rescue/virt-rescue.pod:477
msgid "FILES"
msgstr "FILES"

#. type: =item
#: ../daemon/guestfsd.pod:108
msgid "F</dev/virtio-ports/org.libguestfs.channel.0>"
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:110
msgid "The virtio serial port which C<guestfsd> connects to."
msgstr "The virtio serial port which C<guestfsd> connects to."

#. type: =item
#: ../daemon/guestfsd.pod:112
msgid "F</proc/cmdline>"
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:114
msgid ""
"The Linux command line is parsed to discover C<guestfs_*> flags.  The "
"following flags are understood:"
msgstr ""

#. type: =item
#: ../daemon/guestfsd.pod:119
msgid "B<guestfs_verbose=1>"
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:121
msgid ""
"Enable verbose messages.  This flag is passed by the libguestfs library to "
"the appliance to make the daemon more verbose (it acts like the I<-v> flag "
"on the command line).  Unrelated to the daemon, it also causes the appliance "
"init script to print out a lot more debugging information."
msgstr ""

#. type: =item
#: ../daemon/guestfsd.pod:127
msgid "B<guestfs_channel=PATH>"
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:129
msgid ""
"Set the path to the virtio-serial channel to something other than the "
"default (which is F</dev/virtio-ports/org.libguestfs.channel.0>).  This is "
"used by the User-Mode Linux backend to use a regular emulated serial port "
"instead of virtio-serial."
msgstr ""

#. type: =item
#: ../daemon/guestfsd.pod:134
msgid "B<guestfs_network=1>"
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:136
msgid ""
"This is set if the appliance network is enabled (see C<guestfs_set_network>)."
msgstr ""

#. type: textblock
#: ../daemon/guestfsd.pod:145
msgid "L<guestfs(3)>, L<http://libguestfs.org/>."
msgstr "L<guestfs(3)>, L<http://libguestfs.org/>."

#. type: textblock
#: ../df/virt-df.pod:3
msgid "virt-df - Display free space on virtual filesystems"
msgstr "virt-df - Display free space on virtual filesystems"

#. type: textblock
#: ../df/virt-df.pod:7
msgid "All guests:"
msgstr "All guests:"

#. type: verbatim
#: ../df/virt-df.pod:9
#, no-wrap
msgid ""
" virt-df [--options]\n"
"\n"
msgstr ""
" virt-df [--options]\n"
"\n"

#. type: textblock
#: ../df/virt-df.pod:11
msgid "Single guest:"
msgstr "Single guest:"

#. type: verbatim
#: ../df/virt-df.pod:13
#, no-wrap
msgid ""
" virt-df [--options] -d domname\n"
"\n"
msgstr ""
" virt-df [--options] -d domname\n"
"\n"

#. type: verbatim
#: ../df/virt-df.pod:15
#, no-wrap
msgid ""
" virt-df [--options] -a disk.img [-a disk.img ...]\n"
"\n"
msgstr ""
" virt-df [--options] -a disk.img [-a disk.img ...]\n"
"\n"

#. type: verbatim
#: ../df/virt-df.pod:19
#, no-wrap
msgid ""
" virt-df [--options] domname\n"
"\n"
msgstr ""
" virt-df [--options] domname\n"
"\n"

#. type: verbatim
#: ../df/virt-df.pod:21
#, no-wrap
msgid ""
" virt-df [--options] disk.img [disk.img ...]\n"
"\n"
msgstr ""
" virt-df [--options] disk.img [disk.img ...]\n"
"\n"

#. type: textblock
#: ../df/virt-df.pod:25
msgid ""
"C<virt-df> is a command line tool to display free space on virtual machine "
"filesystems.  Unlike other tools, it doesn't just display the size of disk "
"allocated to a virtual machine, but can look inside disk images to see how "
"much space is really being used."
msgstr ""
"C<virt-df> is a command line tool to display free space on virtual machine "
"filesystems.  Unlike other tools, it doesn't just display the size of disk "
"allocated to a virtual machine, but can look inside disk images to see how "
"much space is really being used."

#. type: textblock
#: ../df/virt-df.pod:30
msgid ""
"If used without any I<-a> or I<-d> arguments, C<virt-df> checks with libvirt "
"to get a list of all active and inactive guests, and performs a C<df>-type "
"operation on each one in turn, printing out the results."
msgstr ""
"If used without any I<-a> or I<-d> arguments, C<virt-df> checks with libvirt "
"to get a list of all active and inactive guests, and performs a C<df>-type "
"operation on each one in turn, printing out the results."

#. type: textblock
#: ../df/virt-df.pod:34
msgid ""
"If any I<-a> or I<-d> arguments are specified, C<virt-df> performs a C<df>-"
"type operation on either the single named libvirt domain, or on the disk "
"image(s) listed on the command line (which must all belong to a single VM).  "
"B<In this mode (with arguments), C<virt-df> will only work for a single "
"guest>.  If you want to run on multiple guests, then you have to invoke "
"C<virt-df> multiple times."
msgstr ""
"If any I<-a> or I<-d> arguments are specified, C<virt-df> performs a C<df>-"
"type operation on either the single named libvirt domain, or on the disk "
"image(s) listed on the command line (which must all belong to a single VM).  "
"B<In this mode (with arguments), C<virt-df> will only work for a single "
"guest>.  If you want to run on multiple guests, then you have to invoke "
"C<virt-df> multiple times."

#. type: textblock
#: ../df/virt-df.pod:41
msgid ""
"Use the I<--csv> option to get a format which can be easily parsed by other "
"programs.  Other options are similar to the standard L<df(1)> command."
msgstr ""
"Use the I<--csv> option to get a format which can be easily parsed by other "
"programs.  Other options are similar to the standard L<df(1)> command."

#. type: textblock
#: ../df/virt-df.pod:47
msgid ""
"Show disk usage for a single libvirt guest called C<F14x64>.  Make the "
"output human-readable:"
msgstr ""
"Show disk usage for a single libvirt guest called C<F14x64>.  Make the "
"output human-readable:"

#. type: verbatim
#: ../df/virt-df.pod:50
#, no-wrap
msgid ""
" # virt-df -d F14x64 -h\n"
" Filesystem                       Size     Used  Available  Use%\n"
" F14x64:/dev/sda1                 484M      66M       393M   14%\n"
" F14x64:/dev/vg_f13x64/lv_root    7.4G     3.4G       4.0G   46%\n"
"\n"
msgstr ""
" # virt-df -d F14x64 -h\n"
" Filesystem                       Size     Used  Available  Use%\n"
" F14x64:/dev/sda1                 484M      66M       393M   14%\n"
" F14x64:/dev/vg_f13x64/lv_root    7.4G     3.4G       4.0G   46%\n"
"\n"

#. type: textblock
#: ../df/virt-df.pod:55
msgid "Show disk usage for a disk image file called F<test.img>:"
msgstr ""

#. type: verbatim
#: ../df/virt-df.pod:57
#, no-wrap
msgid ""
" $ virt-df -a test1.img\n"
" Filesystem                  1K-blocks     Used  Available  Use%\n"
" test1.img:/dev/sda1             99099     1551      92432    2%\n"
"\n"
msgstr ""
" $ virt-df -a test1.img\n"
" Filesystem                  1K-blocks     Used  Available  Use%\n"
" test1.img:/dev/sda1             99099     1551      92432    2%\n"
"\n"

#. type: textblock
#: ../df/virt-df.pod:61
msgid ""
"If a single guest has multiple disks, use the I<-a> option repeatedly.  A "
"plus sign (C<+>) is displayed for each additional disk.  B<Note: Do not do "
"this with unrelated guest disks.>"
msgstr ""
"If a single guest has multiple disks, use the I<-a> option repeatedly.  A "
"plus sign (C<+>) is displayed for each additional disk.  B<Note: Do not do "
"this with unrelated guest disks.>"

#. type: verbatim
#: ../df/virt-df.pod:65
#, no-wrap
msgid ""
" $ virt-df -a Win7x32TwoDisks-a -a Win7x32TwoDisks-b \n"
" Filesystem                   1K-blocks    Used  Available  Use%\n"
" Win7x32TwoDisks-a+:/dev/sda1    102396   24712      77684   25%\n"
" Win7x32TwoDisks-a+:/dev/sda2  12478460 7403416    5075044   60%\n"
" Win7x32TwoDisks-a+:/dev/sdb1    521212   55728     465484   11%\n"
"\n"
msgstr ""
" $ virt-df -a Win7x32TwoDisks-a -a Win7x32TwoDisks-b \n"
" Filesystem                   1K-blocks    Used  Available  Use%\n"
" Win7x32TwoDisks-a+:/dev/sda1    102396   24712      77684   25%\n"
" Win7x32TwoDisks-a+:/dev/sda2  12478460 7403416    5075044   60%\n"
" Win7x32TwoDisks-a+:/dev/sdb1    521212   55728     465484   11%\n"
"\n"

#. type: =item
#: ../df/virt-df.pod:79 ../rescue/virt-rescue.pod:94
msgid "B<-a> FILE"
msgstr ""

#. type: =item
#: ../df/virt-df.pod:81 ../rescue/virt-rescue.pod:96
msgid "B<--add> FILE"
msgstr ""

#. type: textblock
#: ../df/virt-df.pod:83 ../rescue/virt-rescue.pod:98
msgid ""
"Add C<FILE> which should be a disk image from a virtual machine.  If the "
"virtual machine has multiple block devices, you must supply all of them with "
"separate I<-a> options."
msgstr ""

#. type: verbatim
#: ../df/virt-df.pod:132
#, no-wrap
msgid ""
" virt-df --format=raw -a disk.img\n"
"\n"
msgstr ""
" virt-df --format=raw -a disk.img\n"
"\n"

#. type: verbatim
#: ../df/virt-df.pod:136
#, no-wrap
msgid ""
" virt-df --format=raw -a disk.img --format -a another.img\n"
"\n"
msgstr ""
" virt-df --format=raw -a disk.img --format -a another.img\n"
"\n"

#. type: textblock
#: ../df/virt-df.pod:149
msgid "Print sizes in human-readable format."
msgstr "Print sizes in human-readable format."

#. type: textblock
#: ../df/virt-df.pod:151
msgid "You are not allowed to use I<-h> and I<--csv> at the same time."
msgstr "You are not allowed to use I<-h> and I<--csv> at the same time."

#. type: =item
#: ../df/virt-df.pod:155
msgid "B<--inodes>"
msgstr "B<--inodes>"

#. type: textblock
#: ../df/virt-df.pod:157
msgid "Print inodes instead of blocks."
msgstr "Print inodes instead of blocks."

#. type: =item
#: ../df/virt-df.pod:159
msgid "B<--one-per-guest>"
msgstr "B<--one-per-guest>"

#. type: textblock
#: ../df/virt-df.pod:161
msgid ""
"Since libguestfs 1.22, this is the default.  This option does nothing and is "
"left here for backwards compatibility with older scripts."
msgstr ""
"Since libguestfs 1.22, this is the default.  This option does nothing and is "
"left here for backwards compatibility with older scripts."

#. type: textblock
#: ../df/virt-df.pod:166
msgid ""
"Since libguestfs 1.22, virt-df is multithreaded and examines guests in "
"parallel.  By default the number of threads to use is chosen based on the "
"amount of free memory available at the time that virt-df is started.  You "
"can force virt-df to use at most C<nr_threads> by using the I<-P> option."
msgstr ""
"Since libguestfs 1.22, virt-df is multithreaded and examines guests in "
"parallel.  By default the number of threads to use is chosen based on the "
"amount of free memory available at the time that virt-df is started.  You "
"can force virt-df to use at most C<nr_threads> by using the I<-P> option."

#. type: textblock
#: ../df/virt-df.pod:181
msgid ""
"Note that only domains that we fetch from libvirt come with UUIDs.  For disk "
"images, we still print the disk image name even when this option is "
"specified."
msgstr ""
"Note that only domains that we fetch from libvirt come with UUIDs.  For disk "
"images, we still print the disk image name even when this option is "
"specified."

#. type: =head1
#: ../df/virt-df.pod:203
msgid "STATVFS NUMBERS"
msgstr "STATVFS NUMBERS"

#. type: textblock
#: ../df/virt-df.pod:205
msgid ""
"C<virt-df> (and L<df(1)>) get information by issuing a L<statvfs(3)> system "
"call.  You can get the same information directly, either from the host "
"(using libguestfs) or inside the guest:"
msgstr ""
"C<virt-df> (and L<df(1)>) get information by issuing a L<statvfs(3)> system "
"call.  You can get the same information directly, either from the host "
"(using libguestfs) or inside the guest:"

#. type: =item
#: ../df/virt-df.pod:211
msgid "From the host"
msgstr "From the host"

#. type: textblock
#: ../df/virt-df.pod:213 ../df/virt-df.pod:221
msgid "Run this command:"
msgstr "Run this command:"

#. type: verbatim
#: ../df/virt-df.pod:215
#, no-wrap
msgid ""
" guestfish --ro -d GuestName -i statvfs /\n"
"\n"
msgstr ""
" guestfish --ro -d GuestName -i statvfs /\n"
"\n"

#. type: textblock
#: ../df/virt-df.pod:217 ../df/virt-df.pod:225
msgid "(change F</> to see stats for other filesystems)."
msgstr ""

#. type: =item
#: ../df/virt-df.pod:219
msgid "From inside the guest"
msgstr "From inside the guest"

#. type: verbatim
#: ../df/virt-df.pod:223
#, no-wrap
msgid ""
" python -c 'import os; s = os.statvfs (\"/\"); print s'\n"
"\n"
msgstr ""
" python -c 'import os; s = os.statvfs (\"/\"); print s'\n"
"\n"

#. type: textblock
#: ../df/virt-df.pod:260
msgid ""
"L<df(1)>, L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<http://"
"libguestfs.org/>."
msgstr ""
"L<df(1)>, L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<http://"
"libguestfs.org/>."

#. type: textblock
#: ../dib/virt-dib.pod:3
msgid "virt-dib - Run diskimage-builder elements"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:7
#, no-wrap
msgid ""
" virt-dib -B DIB-LIB [options] elements...\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:11
msgid ""
"Virt-dib is a tool for using the elements of C<diskimage-builder> to build a "
"new disk image, generate new ramdisks, etc."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:14
msgid ""
"Virt-dib is intended as safe replacement for C<diskimage-builder> and its "
"C<ramdisk-image-create> mode, see L</COMPARISON WITH DISKIMAGE-BUILDER> for "
"a quick comparison with usage of C<diskimage-builder>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:19
msgid ""
"C<diskimage-builder> is part of the TripleO OpenStack project: L<https://"
"wiki.openstack.org/wiki/TripleO>."
msgstr ""

#. type: =head2
#: ../dib/virt-dib.pod:24
msgid "Build simple images of distributions"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:26
#, no-wrap
msgid ""
" virt-dib \\\n"
"   -B /path/to/diskimage-builder/lib \\\n"
"   -p /path/to/diskimage-builder/elements \\\n"
"   --envvar DIB_RELEASE=jessie \\\n"
"   --name debian-jessie \\\n"
"   debian vm\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:33
msgid ""
"This builds a Debian Jessie (8.x) disk image, suitable for running as "
"virtual machine, saved as F<debian-jessie.qcow2>."
msgstr ""

#. type: =head2
#: ../dib/virt-dib.pod:36
msgid "Build ramdisks"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:38
#, no-wrap
msgid ""
" virt-dib \\\n"
"   -B /path/to/diskimage-builder/lib \\\n"
"   -p /path/to/diskimage-builder/elements \\\n"
"   --ramdisk \\\n"
"   --name ramdisk \\\n"
"   ubuntu deploy-ironic\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:45
msgid ""
"This builds a ramdisk for the Ironic OpenStack component based on the Ubuntu "
"distribution."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:56
msgid "B<-B> PATH"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:58
msgid ""
"Set the path to the library directory of C<diskimage-builder>. This is "
"usually the F<lib> subdirectory in the sources and when installed, and F</"
"usr/share/diskimage-builder/lib> when installed in F</usr>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:62
msgid ""
"This parameter is B<mandatory>, as virt-dib needs to provide it for the "
"elements (as some of them might use scripts in it).  Virt-dib itself does "
"not make use of the library directory."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:68
msgid ""
"Use the specified architecture for the output image.  The default value is "
"the same as the host running virt-dib."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:71
msgid ""
"Right now this option does nothing more than setting the C<ARCH> environment "
"variable for the elements, and it’s up to them to produce an image for the "
"requested architecture."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:77
msgid ""
"Generate checksum files for the generated image.  The supported checksums "
"are MD5, and SHA256."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:89
msgid "B<--debug> LEVEL"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:91
msgid ""
"Set the debug level to C<LEVEL>, which is a non-negative integer number.  "
"The default is C<0>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:94
msgid ""
"This debug level is different than what I<-x> and I<-v> set, and it "
"increases the debugging information printed out.  Specifically, this sets "
"the C<DIB_DEBUG_TRACE>, and any value E<gt> C<0> enables tracing in the "
"scripts executed."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:99
msgid "B<--docker-target> TARGET"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:101
msgid "Set the repository and tag for docker."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:103
msgid ""
"This is used only when the formats include C<docker>, and it is required in "
"that case."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:106
msgid "B<--drive> DISK"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:108
msgid ""
"Add the specified disk to be used as helper drive where to cache files of "
"the elements, like disk images, distribution packages, etc."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:111 ../dib/virt-dib.pod:125
msgid "See L</HELPER DRIVE>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:113
msgid "B<--drive-format> raw"
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:115
msgid "B<--drive-format> qcow2"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:117
msgid ""
"Specify the format of the helper drive.  If this flag is not given then it "
"is auto-detected from the drive itself."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:120 ../inspector/virt-inspector.pod:116
#: ../resize/virt-resize.pod:424 ../resize/virt-resize.pod:522
#: ../sparsify/virt-sparsify.pod:209 ../tools/virt-list-filesystems:100
#: ../tools/virt-list-partitions:101 ../tools/virt-tar:148
#: ../tools/virt-win-reg:149
msgid ""
"If working with untrusted raw-format guest disk images, you should ensure "
"the format is always specified."
msgstr ""
"If working with untrusted raw-format guest disk images, you should ensure "
"the format is always specified."

#. type: textblock
#: ../dib/virt-dib.pod:123
msgid "This option is used only if I<--drive> is specified."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:127
msgid "B<-p> PATH"
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:129
msgid "B<--element-path> PATH"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:131
msgid ""
"Add a new path with elements.  Paths are used in the same order as the I<-p> "
"parameters appear, so a path specified first is looked first, and so on."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:135
msgid ""
"Obviously, it is recommended to add the path to the own elements of "
"C<diskimage-builder>, as most of the other elements will rely on them."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:138
msgid "B<--extra-packages> PACKAGE,..."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:140
msgid "Install additional packages in the image being built."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:142
msgid ""
"This relies on the C<install-packages> binary provided by the package "
"management elements."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:145
msgid ""
"This option can be specified multiple times, each time with multiple "
"packages separated by comma."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:148 ../dib/virt-dib.pod:161
msgid "B<--envvar> VARIABLE"
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:150 ../dib/virt-dib.pod:166
msgid "B<--envvar> VARIABLE=VALUE"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:152
msgid "Carry or set an environment variable for the elements."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:154
msgid ""
"See L</ENVIRONMENT VARIABLES> below for more information on the interaction "
"and usage of environment variables."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:157
msgid "This option can be used in two ways:"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:163
msgid ""
"Carry the environment variable C<VARIABLE>. If it is not set, nothing is "
"exported to the elements."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:168
msgid ""
"Set the environment variable C<VARIABLE> with value C<VALUE> for the "
"elements, regardless whether an environment variable with the same name "
"exists."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:172
msgid ""
"This can be useful to pass environment variable without exporting them in "
"the environment where virt-dib runs."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:177
msgid "B<--exclude-element> ELEMENT"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:179
msgid "Ignore the specified element."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:181
msgid "B<--exclude-script> SCRIPT"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:183
msgid "Ignore any element script named C<SCRIPT>, whichever element it is in."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:185
msgid ""
"This can be useful in case some script does not run well with virt-dib, for "
"example when they really need C<diskimage-builder>'s environment."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:189
msgid "B<--formats> FORMAT,..."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:191
msgid "Set the list of output formats, separating them with comma."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:193
msgid "Supported formats are:"
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:197
msgid "C<docker>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:199
msgid ""
"Import the image to docker, running B<docker import>.  The target for the "
"image B<must> be specified using I<--docker-target>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:202
msgid ""
"Please note this operation usually requires the docker service to be "
"enabled, otherwise it will fail.  Furthermore, B<docker> is run using "
"L<sudo(8)>, so make sure the user has the permissions to run at least "
"B<docker>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:207
msgid "C<qcow2> (enabled by default)"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:209
msgid "QEMU’s qcow2.  This output format requires the C<qemu-img> tool."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:211
msgid "C<raw>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:213
msgid "Raw disk format."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:215
msgid "C<squashfs>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:217
msgid ""
"An squashfs filesystem, compressed with XZ.  This output format requires the "
"C<squashfs> feature; see also L<guestfs(3)/AVAILABILITY>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:221
msgid "C<tar>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:223
msgid "An uncompressed tarball."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:225
msgid "C<tgz>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:227
msgid "A tarball compressed with gzip."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:229
msgid "C<vhd>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:231
msgid ""
"C<Virtual Hard Disk> disk image.  This output format requires the C<vhd-"
"util> tool."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:234
msgid ""
"Please note that the version of C<vhd-util> tool needs to be patched to "
"support the C<convert> subcommand, and to be bootable.  The patch is "
"available here: L<https://github.com/emonty/vhd-util/blob/master/debian/"
"patches/citrix>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:241
msgid "B<--fs-type> FILESYSTEM"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:243
msgid ""
"Set the filesystem type to use for the root filesystem.  The default is "
"C<ext4>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:246
msgid "See also L<guestfs(3)/guestfs_filesystem_available>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:248
msgid "B<--image-cache> DIRECTORY"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:250
msgid ""
"Set the path in the host where cache the resources used by the elements of "
"the C<extra-data.d> phase.  The default is F<~/.cache/image-create>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:254
msgid ""
"Please note that most of the resources fetched in phases other than C<extra-"
"data.d> will be cached in the helper drive specified with I<--drive>; see "
"also L</HELPER DRIVE>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:258
msgid "B<--install-type> TYPE"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:260
msgid "Specify the default installation type.  Defaults to C<source>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:262
msgid "Set to C<package> to use package based installations by default."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:276
msgid ""
"Change the amount of memory allocated to the appliance. Increase this if you "
"find that the virt-dib execution runs out of memory."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:283
msgid "B<--mkfs-options> C<OPTION STRING>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:285
msgid ""
"Add the specified options to L<mkfs(1)>, to be able to fine-tune the root "
"filesystem creation; the options are passed to the driver of L<mfks(1)>, and "
"not to L<mfks(1)> itself.  Note that I<--fs-type> is used to change the "
"filesystem type."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:290
msgid ""
"You should use I<--mkfs-options> at most once.  To pass multiple options, "
"separate them with space, eg:"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:293
#, no-wrap
msgid ""
" virt-dib ... --mkfs-options '-O someopt -I foo'\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:307
msgid ""
"This does not affect whether the guest can access the network once it has "
"been booted, because that is controlled by your hypervisor or cloud "
"environment and has nothing to do with virt-dib."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:311
msgid ""
"If you use I<--no-network>, then the environment variable C<DIB_OFFLINE> is "
"set to C<1>, signaling the elements that they should use only cached "
"resources when available.  Note also that, unlike with C<diskimage-builder> "
"where elements may still be able to access to the network even with "
"C<DIB_OFFLINE=>, under virt-dib network will not be accessible at all."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:318
msgid "B<--name> NAME"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:320
msgid "Set the name of the output image file.  The default is C<image>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:322
msgid ""
"According to the chosen name, there will be the following in the current "
"directory:"
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:327
msgid "F<$NAME.ext>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:329
msgid ""
"For each output format, a file named after the output image with the "
"extension depending on the format; for example: F<$NAME.qcow2>, F<$NAME."
"raw>, etc."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:333 ../dib/virt-dib.pod:347
msgid "Not applicable in ramdisk mode, see L</RAMDISK BUILDING>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:335
msgid "F<$NAME.d>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:337
msgid ""
"A directory containing any files created by the elements, for example F<dib-"
"manifests> directory (created by the C<manifests> element), ramdisks and "
"kernels in ramdisk mode, and so on."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:341
msgid "F<$NAME.ext.checksum>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:343
msgid ""
"When I<--checksum> is specified, there will be files for each supported "
"checksum type; for example: F<$NAME.ext.md5>, F<$NAME.ext.sha256>, etc."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:353
msgid ""
"Don’t delete the output files on failure to build.  You can use this to "
"debug failures to run scripts."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:356
msgid ""
"The default is to delete the output files if virt-dib fails (or, for "
"example, some script that it runs fails)."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:359
msgid "B<--python> PYTHON"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:361
msgid ""
"Specify a different Python interpreter to use.  Parts of C<diskimage-"
"builder> are implemented in Python, and thus an interpreter is needed."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:365
msgid ""
"C<PYTHON> can either be an executable filename (e.g. F<python2>, which is "
"then searched in C<$PATH>), or a full path (e.g.  F</usr/bin/python2>).  If "
"not specified, the default value is F<python>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:376
msgid "B<--qemu-img-options> option[,option,...]"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:378
msgid ""
"Pass I<--qemu-img-options> option(s) to the L<qemu-img(1)> command to fine-"
"tune the output format.  Options available depend on the output format (see "
"I<--formats>) and the installed version of the qemu-img program."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:383
msgid ""
"You should use I<--qemu-img-options> at most once.  To pass multiple "
"options, separate them with commas, eg:"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:386
#, no-wrap
msgid ""
" virt-dib ... --qemu-img-options cluster_size=512,preallocation=metadata ...\n"
"\n"
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:388
msgid "B<--ramdisk>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:390
msgid "Set the ramdisk building mode."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:392 ../dib/virt-dib.pod:399
msgid "See L</RAMDISK BUILDING>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:394
msgid "B<--ramdisk-element> NAME"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:396
msgid ""
"Set the name for the additional element added in ramdisk building mode.  The "
"default is C<ramdisk>."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:401
msgid "B<--root-label> LABEL"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:403
msgid "Set the label for the root filesystem in the created image."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:405
msgid ""
"Please note that some filesystems have different restrictions on the length "
"of their labels; for example, on C<ext2/3/4> filesystems labels cannot be "
"longer than 16 characters, while on C<xfs> they have at most 12 characters."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:410
msgid ""
"The default depends on the actual filesystem for the root partition (see I<--"
"fs-type>): on C<xfs> is C<img-rootfs>, while C<cloudimg-rootfs> on any other "
"filesystem."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:416
msgid ""
"Select the size of the output disk, where the size can be specified using "
"common names such as C<32G> (32 gigabytes) etc.  The default size is C<5G>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:423
msgid ""
"See also L<virt-resize(1)> for resizing partitions of an existing disk image."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:426
msgid "B<--skip-base>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:428
msgid "Skip the inclusion of the C<base> element."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:432
msgid "Enable N E<ge> 2 virtual CPUs for scripts to use."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:434 ../tools/virt-tar:161
msgid "B<-u>"
msgstr "B<-u>"

#. type: textblock
#: ../dib/virt-dib.pod:436
msgid ""
"Do not compress resulting qcow2 images.  The default is to compress them."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:443 ../resize/virt-resize.pod:347
#: ../resize/virt-resize.pod:626 ../tools/virt-win-reg:119
msgid "Enable debugging messages."
msgstr "Enable debugging messages."

#. type: textblock
#: ../dib/virt-dib.pod:459
msgid ""
"Unlike with C<diskimage-builder>, the environment of the host is B<not> "
"inherited in the appliance when running most of the elements (i.e. all "
"except the ones in the C<extra-data.d> phase)."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:463
msgid ""
"To set environment for the elements being run, it is necessary to tell virt-"
"dib to use them, with the option I<--envvar>.  Such option allows to "
"selectively export environment variables when running the elements, and it "
"is the preferred way to pass environment variables to the elements."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:469
msgid ""
"To recap: if you want the environment variable C<MYVAR> (and its content) to "
"be available to the elements, you can do either"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:472
#, no-wrap
msgid ""
" export MYVAR   # whichever is its value\n"
" virt-dib ... --envvar MYVAR ...\n"
"\n"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:477
#, no-wrap
msgid ""
" virt-dib ... --envvar MYVAR=value_of_it ...\n"
"\n"
msgstr ""

#. type: =head1
#: ../dib/virt-dib.pod:479
msgid "HELPER DRIVE"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:481
msgid ""
"Virt-dib runs most of the element in its own appliance, and thus not on the "
"host.  Because of this, there is no possibility for elements to cache "
"resources directly on the host."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:485
msgid ""
"To solve this issue, virt-dib allows the usage of an helper drive where to "
"store cached resources, like disk images, distribution packages, etc. While "
"this means that there is a smaller space available for caching, at least it "
"allows to limit the space on the host for caches, without assuming that "
"elements will do that by themselves."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:492
msgid ""
"Currently this disk is either required to have a single partition on it, or "
"the first partition on it will be used.  A disk with the latter "
"configuration can be easily created with L<guestfish(1)> like the following:"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:497
#, no-wrap
msgid ""
" guestfish -N filename.img=fs:ext4:10G exit\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:499
msgid ""
"The above will create a disk image called F<filename.img>, 10G big, with a "
"single partition of type ext4; see L<guestfish(1)/PREPARED DISK IMAGES>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:503
msgid ""
"It is recommended for it to be E<ge> 10G or even more, as elements will "
"cache disk images, distribution packages, etc.  As with any disk image, the "
"helper disk can be easily resized using L<virt-resize(1)> if more space in "
"it is needed."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:508
msgid ""
"The drive can be accessed like any other disk image, for example using other "
"tools of libguestfs such as L<guestfish(1)>:"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:511
#, no-wrap
msgid ""
" guestfish -a filename.img -m /dev/sda1\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:513
msgid ""
"If no helper drive is specified with I<--drive>, all the resources cached "
"during a virt-dib run will be discarded."
msgstr ""

#. type: =head2
#: ../dib/virt-dib.pod:516
msgid "RESOURCES INSIDE THE DRIVE"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:518
msgid ""
"Inside the helper drive, it is possible to find the following resources:"
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:523
msgid "F</home>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:525
msgid ""
"This directory is set as C<HOME> environment variable during the build.  It "
"contains mostly the image cache (saved as F</home/.cache/image-create>), and "
"whichever other resource is cached in the home directory of the user running "
"the various tools."
msgstr ""

#. type: =item
#: ../dib/virt-dib.pod:530
msgid "F</virt-dib-*.log>"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:532
msgid ""
"These are the logs of the elements being run within the libguestfs "
"appliance, which means all the phases except C<extra-data.d>."
msgstr ""

#. type: =head1
#: ../dib/virt-dib.pod:537
msgid "RAMDISK BUILDING"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:539
msgid ""
"Virt-dib can emulate also C<ramdisk-image-create>, which is a secondary "
"operation mode of C<diskimage-builder>.  Instead of being a different tool "
"name, virt-dib provides easy access to this mode using the I<--ramdisk> "
"switch."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:544
msgid "In this mode:"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:550
msgid "there is an additional ramdisk element added (see I<--ramdisk-element>)"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:555
msgid "no image is produced (so I<--formats> is ignored)"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:559
msgid "F<$NAME.d> (see I<--name>) will contain initrd, kernel, etc"
msgstr ""

#. type: =head1
#: ../dib/virt-dib.pod:563
msgid "TEMPORARY DIRECTORY"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:565
msgid ""
"Virt-dib uses the standard temporary directory used by libguestfs, see "
"L<guestfs(3)/ENVIRONMENT VARIABLES>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:568
msgid ""
"By default this location is F</tmp> (default value for C<TMPDIR>), which on "
"some systems may be on a tmpfs filesystem, and thus defaulting to a maximum "
"size of I<half> of physical RAM.  If virt-dib exceeds this, it may hang or "
"exit early with an error.  The solution is to point C<TMPDIR> to a permanent "
"location used as temporary location, for example:"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:575
#, no-wrap
msgid ""
" mkdir local-tmp\n"
" env TMPDIR=$PWD/local-tmp virt-dib ...\n"
" rm -rf local-tmp\n"
"\n"
msgstr ""

#. type: =head1
#: ../dib/virt-dib.pod:579
msgid "EXTRA DEPENDENCIES"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:581
msgid ""
"Because of virt-dib runs most of the elements in its own appliance, all the "
"tools and libraries used by elements running outside the guest (typically "
"C<root.d>, C<block-device.d>, and C<cleanup.d>)  need to be present in the "
"appliance as well.  In case they are not, scripts will fail typically with a "
"C<command not found> error."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:588
msgid ""
"For tools and libraries packaged by the distribution, the easy solution is "
"to tell libguestfs to include additional packages in the appliance.  This is "
"doable by e.g. creating a new file with the additional packages:"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:593
#, no-wrap
msgid ""
" # echo wget > /usr/lib64/guestfs/supermin.d/dib-my-extra\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:595
msgid ""
"The actual path to the F<supermin.d> directory depends on the distribution; "
"additional files can list more packages, each in its own line.  For more "
"details, see L<supermin(1)>."
msgstr ""

#. type: =head1
#: ../dib/virt-dib.pod:599
msgid "COMPARISON WITH DISKIMAGE-BUILDER"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:601
msgid ""
"Virt-dib is intended as safe replacement for C<diskimage-builder> and its "
"C<ramdisk-image-create> mode; the user-notable differences consist in:"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:609
msgid ""
"the command line arguments; some of the arguments are the same as available "
"in C<diskimage-builder>, while some have different names:"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:612
#, no-wrap
msgid ""
" disk-image-create             virt-dib\n"
" -----------------             --------\n"
" -a ARCH                       --arch ARCH\n"
" --image-size SIZE             --size SIZE\n"
" --max-online-resize SIZE      doable using --mkfs-options\n"
" -n                            --skip-base\n"
" -o IMAGENAME                  --name IMAGENAME\n"
" -p PACKAGE(S)                 --extra-packages PACKAGE(S)\n"
" -t FORMAT(S)                  --formats FORMAT(S)\n"
" -x                            --debug 1\n"
" -x -x                         --debug 2\n"
" -x -x [-x ...]                --debug 3/4/etc\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:627
msgid "the location of non-image output files (like ramdisks and kernels)"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:631
msgid ""
"the way some of the cached resources are saved: using an helper drive, not "
"directly on the disk where virt-dib is run"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:636
msgid ""
"the need to specify a target size for the output disk, as opposed to "
"C<diskimage-builder> calculating an optimal one"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:641
msgid "the handling of environment variables, see L</ENVIRONMENT VARIABLES>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:643
msgid ""
"Furthermore, other than the libguestfs own environment variables (see "
"L<guestfs(3)/ENVIRONMENT VARIABLES>), virt-dib does not read any other "
"environment variable: this means that all the options and behaviour changes "
"are specified solely using command line arguments"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:651
msgid ""
"extra tools needed on some out-of-chroot phases need to be available in the "
"appliance, see L</EXTRA DEPENDENCIES>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:656
msgid ""
"Elements themselves should notice no difference in they way they are run; "
"behaviour differences may due to wrong assumptions in elements, or not "
"correct virt-dib emulation."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:660
msgid "Known issues at the moment:"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:666
msgid "(none)"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:672
msgid ""
"The I<--machine-readable> option can be used to make the output more machine "
"friendly, which is useful when calling virt-dib from other programs, GUIs "
"etc."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:676
msgid ""
"Use the option on its own to query the capabilities of the virt-dib binary.  "
"Typical output looks like this:"
msgstr ""

#. type: verbatim
#: ../dib/virt-dib.pod:679
#, no-wrap
msgid ""
" $ virt-dib --machine-readable\n"
" virt-dib\n"
" output:qcow2\n"
" output:tar\n"
" output:raw\n"
" output:vhd\n"
"\n"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:689
msgid ""
"The C<output:> features refer to the output formats (I<--formats> command "
"line option) supported by this binary."
msgstr ""

#. type: =head1
#: ../dib/virt-dib.pod:695
msgid "TESTING"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:697
msgid ""
"Virt-dib has been tested with C<diskimage-builder> (and its elements)  E<ge> "
"0.1.43; from time to time also with C<tripleo-image-elements> and C<sahara-"
"image-elements>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:701
msgid "Previous versions may work, but it is not guaranteed."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:710
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-resize(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:717
msgid "Pino Toscano (C<ptoscano at redhat dot com>)"
msgstr ""

#. type: textblock
#: ../dib/virt-dib.pod:721
msgid "Copyright (C) 2015 Red Hat Inc."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:3
msgid "virt-diff - Differences between files in two virtual machines"
msgstr ""

#. type: verbatim
#: ../diff/virt-diff.pod:7
#, no-wrap
msgid ""
" virt-diff [--options] -d domain1 -D domain2\n"
"\n"
msgstr ""

#. type: verbatim
#: ../diff/virt-diff.pod:9
#, no-wrap
msgid ""
" virt-diff [--options] -a disk1.img [-a ...] -A disk2.img [-A ...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:13
msgid ""
"C<virt-diff> lists the differences between files in two virtual machines or "
"disk images.  The usual use case is to show the changes in a VM after it has "
"been running for a while, by taking a snapshot, running the VM, and then "
"using this tool to show what changed between the new VM state and the old "
"snapshot."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:19
msgid ""
"This tool will find differences in filenames, file sizes, checksums, "
"extended attributes, file content and more from a virtual machine or disk "
"image.  However it B<does not> look at the boot loader, unused space between "
"partitions or within filesystems, \"hidden\" sectors and so on.  In other "
"words, it is not a security or forensics tool."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:25
msgid ""
"To specify two guests, you have to use the I<-a> or I<-d> option(s)  for the "
"first guest, and the I<-A> or I<-D> option(s) for the second guest.  The "
"common case is:"
msgstr ""

#. type: verbatim
#: ../diff/virt-diff.pod:29
#, no-wrap
msgid ""
" virt-diff -a old.img -A new.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:31
msgid "or using names known to libvirt:"
msgstr ""

#. type: verbatim
#: ../diff/virt-diff.pod:33
#, no-wrap
msgid ""
" virt-diff -d oldguest -D newguest\n"
"\n"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:47
msgid ""
"Add I<file> which should be a disk image from the first virtual machine.  If "
"the virtual machine has multiple block devices, you must supply all of them "
"with separate I<-a> options."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:62
msgid "Same as I<--extra-stats> I<--times> I<--uids> I<--xattrs>."
msgstr ""

#. type: =item
#: ../diff/virt-diff.pod:64
msgid "B<--atime>"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:66
msgid ""
"The default is to ignore changes in file access times, since those are "
"unlikely to be interesting.  Using this flag shows atime differences as well."
msgstr ""

#. type: =item
#: ../diff/virt-diff.pod:70
msgid "B<-A> file"
msgstr ""

#. type: =item
#: ../diff/virt-diff.pod:72
msgid "B<-A> URI"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:74
msgid "Add a disk image from the second virtual machine."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:82
msgid ""
"Use a checksum over file contents to detect when regular files have changed "
"content."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:85
msgid ""
"With no argument, this defaults to using I<md5>.  Using an argument, you can "
"select the checksum type to use.  If the flag is omitted then file times and "
"size are used to determine if a file has changed."
msgstr ""

#. type: =item
#: ../diff/virt-diff.pod:105
msgid "B<--dir-links>"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:107
msgid ""
"The default is to ignore changes in the number of links in directory "
"entries, since those are unlikely to be interesting.  Using this flag shows "
"changes to the nlink field of directories."
msgstr ""

#. type: =item
#: ../diff/virt-diff.pod:111
msgid "B<--dir-times>"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:113
msgid ""
"The default is to ignore changed times on directory entries, since those are "
"unlikely to be interesting.  Using this flag shows changes to the time "
"fields of directories."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:121
msgid ""
"Add all the disks from the named libvirt guest, as the first guest.  Domain "
"UUIDs can be used instead of names."
msgstr ""

#. type: =item
#: ../diff/virt-diff.pod:124
msgid "B<-D> guest"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:126
msgid ""
"Add all the disks from the named libvirt guest, as the second guest.  Domain "
"UUIDs can be used instead of names."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:131
msgid ""
"When prompting for keys and passphrases, virt-diff 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
#: ../diff/virt-diff.pod:144
msgid ""
"The default for the I<-a>/I<-A> option is to auto-detect the format of the "
"disk image.  Using this forces the disk format for I<-a>/I<-A> options which "
"follow on the command line.  Using I<--format> with no argument switches "
"back to auto-detection for subsequent I<-a>/I<-A> options."
msgstr ""

#. type: verbatim
#: ../diff/virt-diff.pod:152
#, no-wrap
msgid ""
" virt-diff --format=raw -a disk.img [...]\n"
"\n"
msgstr ""

#. type: verbatim
#: ../diff/virt-diff.pod:156
#, no-wrap
msgid ""
" virt-diff --format=raw -a disk.img --format -a another.img [...]\n"
"\n"
msgstr ""

#. type: =item
#: ../diff/virt-diff.pod:217
msgid "B<--xattrs>"
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:219
msgid "Display extended attributes."
msgstr ""

#. type: textblock
#: ../diff/virt-diff.pod:254
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-out(1)>, L<virt-"
"ls(1)>, L<virt-tar-out(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:3
msgid "guestfs-building - How to build libguestfs from source"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:7
msgid "This manual page describes how to build libguestfs from source."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:9
msgid "The main steps are:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:15
msgid "Install the requirements."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:19
msgid "Build, either from the git repository or from a tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:23
msgid "Run the tests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:27
msgid "Run the tools from the source directory, or install."
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:31
msgid "REQUIREMENTS"
msgstr ""

#. type: =head2
#: ../docs/guestfs-building.pod:33
msgid "Short cut for Fedora or Red Hat Enterprise Linux (RHEL) users"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:35
msgid "On Fedora, use L<dnf(8)> to install all the requirements:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:37
#, no-wrap
msgid ""
" dnf builddep libguestfs\n"
" dnf install autoconf automake libtool gettext-devel\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:40
msgid "On systems still using L<yum(8)>, do:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:42
#, no-wrap
msgid ""
" yum-builddep libguestfs\n"
" yum install autoconf automake libtool gettext-devel\n"
"\n"
msgstr ""

#. type: =head2
#: ../docs/guestfs-building.pod:45
msgid "Short cut for Debian or Ubuntu users"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:47
msgid "Use APT to install all the requirements:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:49
#, no-wrap
msgid ""
" apt-get build-dep libguestfs\n"
" apt-get install autoconf automake libtool-bin gettext\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:52
msgid ""
"If that command doesn't work, take a look at the Debian source package "
"L<http://packages.debian.org/source/libguestfs>, at the list of C<build-"
"depends> and C<build-depends-indep>, and install everything listed there."
msgstr ""

#. type: =head2
#: ../docs/guestfs-building.pod:57
msgid "Full list of requirements"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:61
msgid "F<appliance/packagelist.in>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:63
msgid ""
"Install as many package names found in this file as possible.  (It is not "
"strictly required to install all of them)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:66
msgid ""
"I<Note>: If you build libguestfs followed by installing appliance packages, "
"the build will not pick them up automatically, even if you do S<C<make "
"clean>>.  You have to do this command to clean the old supermin appliance "
"and force a new one to be prepared:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:71
#, no-wrap
msgid ""
" make -C appliance clean-supermin-appliance\n"
"\n"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:73
msgid "qemu E<ge> 1.3.0"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:75 ../docs/guestfs-building.pod:79
#: ../docs/guestfs-building.pod:126 ../docs/guestfs-building.pod:139
#: ../docs/guestfs-building.pod:143 ../docs/guestfs-building.pod:149
#: ../docs/guestfs-building.pod:153 ../docs/guestfs-building.pod:157
#: ../docs/guestfs-building.pod:161 ../docs/guestfs-building.pod:165
#: ../docs/guestfs-building.pod:169 ../docs/guestfs-building.pod:173
#: ../docs/guestfs-building.pod:177
msgid "I<Required>."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:77
msgid "qemu-img E<ge> 1.3.0"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:81
msgid "kernel E<ge> 2.6.34"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:83
msgid ""
"I<Required>.  The following features must be enabled: C<virtio-pci>, "
"C<virtio-serial>, C<virtio-block>, C<virtio-net>."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:86
#, fuzzy
#| msgid "Fedora E<ge> 11"
msgid "supermin E<ge> 5.1.18"
msgstr "Fedora E<ge> 11"

#. type: textblock
#: ../docs/guestfs-building.pod:88
msgid ""
"I<Required>.  For alternatives, see L</USING A PREBUILT BINARY APPLIANCE> "
"below."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:91
msgid "glibc"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:93
msgid ""
"I<Required>.  We use the custom printf formatters extension of glibc (see "
"L<guestfs-hacking(1)/DAEMON CUSTOM PRINTF FORMATTERS>)."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:96
msgid "XDR (tirpc, glibc or other)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:98
msgid ""
"I<Required>.  We use the XDR implementation from C<E<lt>rpc/xdr.hE<gt>>, "
"which may come from glibc, tirpc or another library."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:102
msgid ""
"The C<rpcgen> tool is optional, except if you want to compile from git and/"
"or patch libguestfs with new APIs."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:105
msgid "Gcc or Clang"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:107
msgid ""
"I<Required>.  We use C<__attribute__((cleanup))> which is a GCC extension "
"also supported by Clang."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:110
msgid "Perl"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:112
msgid ""
"I<Required>.  Various build steps and tests are written in Perl.  Perl is "
"not needed at runtime except if you need to run a small number of virt tools "
"which are still written in Perl."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:116
msgid "Perl C<Pod::Man>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:118
msgid "Perl C<Pod::Simple>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:120
msgid "I<Required>.  Part of Perl core."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:122
msgid "OCaml E<ge> 4.01"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:124
msgid "OCaml findlib"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:128
msgid "autoconf"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:130
msgid "automake"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:132
msgid "gettext"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:134 ../docs/guestfs-building.pod:181
msgid "I<Required> if compiling from git.  Optional if compiling from tarball."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:137
msgid "cpio"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:141
msgid "gperf"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:145
msgid "flex"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:147
msgid "bison"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:151
msgid "Perl-compatible Regular Expressions (PCRE) library"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:155
msgid "genisoimage"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:159
msgid "libxml2"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:163
msgid "ncurses"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:167
#, fuzzy
#| msgid "Fedora E<ge> 11"
msgid "augeas E<ge> 1.2.0"
msgstr "Fedora E<ge> 11"

#. type: =item
#: ../docs/guestfs-building.pod:171 ../docs/guestfs-release-notes-1.24.pod:143
#: ../docs/guestfs-release-notes-1.26.pod:193
msgid "xz"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:175
msgid "Jansson E<ge> 2.7"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:179
msgid "po4a"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:184
msgid "hivex E<ge> 1.2.7"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:186
msgid "ocaml-hivex"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:188
msgid ""
"I<Required>.  ocaml-hivex is the OCaml binding for hivex, which is required "
"when building the daemon."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:191
msgid "libmagic"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:193
msgid "I<Required>.  This is the library used by the L<file(1)> command."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:195
msgid "libvirt E<ge> 0.10.2"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:197
msgid "Optional.  Always use the latest possible version of libvirt."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:199
msgid "xmllint"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:201
msgid "Optional.  Used only for tests."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:203
msgid "libconfig"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:205
msgid ""
"Optional.  Used to parse libguestfs’s own config files, eg. F</etc/"
"libguestfs-tools.conf>."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:208
msgid "libselinux"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:210
msgid ""
"Optional.  Used by the L<libvirt backend|guestfs(3)/BACKEND> to securely "
"confine the appliance (sVirt)."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:213
msgid "Berkeley DB utils (db_dump, db_load, etc)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:215
msgid ""
"Optional.  Usually found in a package called C<db-utils>, C<db4-utils>, "
"C<db4.X-utils> etc."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:218
msgid "systemtap"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:220
msgid "Optional.  For userspace probes."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:222
msgid "readline"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:224
msgid "Optional.  For nicer command line editing in L<guestfish(1)>."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:226
msgid "acl"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:228
msgid "Optional.  Library and programs for handling POSIX ACLs."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:230
msgid "libcap"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:232
msgid "Optional.  Library and programs for handling Linux capabilities."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:234
msgid "libldm"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:236
msgid ""
"Optional.  Library and L<ldmtool(1)> for handling Windows Dynamic Disks."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:239 ../docs/guestfs-release-notes-1.24.pod:131
msgid "sd-journal"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:241
msgid "Optional.  Library for accessing systemd journals."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:243
msgid "gdisk"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:245
msgid "Optional.  GPT disk support."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:247
msgid "netpbm"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:249
msgid "Optional.  Render icons from guests."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:251
msgid "icoutils"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:253
msgid "Optional.  Render icons from Windows guests."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:255
msgid "Perl C<Expect>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:257
msgid "Optional.  Perl module used to test L<virt-rescue(1)>."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:259
msgid "FUSE"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:261
msgid ""
"Optional.  L<fusermount(1)>, libfuse and kernel module are all needed if you "
"want L<guestmount(1)> and/or L<mount-local|guestfs(3)/MOUNT LOCAL> support."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:265
msgid "static glibc"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:267
msgid "Optional.  Used only for testing."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:269
msgid "qemu-nbd"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:271
#, fuzzy
#| msgid "Fedora E<ge> 11"
msgid "nbdkit E<ge> 1.12"
msgstr "Fedora E<ge> 11"

#. type: textblock
#: ../docs/guestfs-building.pod:273
msgid "Optional.  qemu-nbd is used for testing."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:275
msgid "uml_mkcow"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:277
msgid "Optional.  For the L<UML backend|guestfs(3)/BACKEND>."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:279 ../docs/guestfs-release-notes-1.24.pod:139
msgid "curl"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:281
msgid "Optional.  Used by virt-builder for downloads."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:283
msgid "GNU Privacy Guard (GnuPG, gpg) v1 or v2"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:285
msgid "Optional.  Used by virt-builder for checking digital signatures."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:287
msgid "liblzma"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:289
msgid ""
"Optional.  If available, virt-builder will use this library for fast, "
"parallel uncompression of templates."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:292
msgid "python-evtx"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:294
msgid "Optional.  Used by L<virt-log(1)> to parse Windows Event Log files."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:296
msgid "OCaml gettext"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:298
msgid "Optional.  For localizing OCaml virt tools."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:300
msgid "ocaml-ounit E<ge> 2.0.0"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:302
msgid "Optional.  For testing the common OCaml modules."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:304
msgid "Perl C<Module::Build> E<ge> 0.19"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:306
msgid "Perl C<Test::More>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:308
msgid "Optional.  Used to build and test the Perl bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:310
#, fuzzy
#| msgid "febootstrap E<ge> 3.20 is required."
msgid "Python E<ge> 3.4"
msgstr "febootstrap E<ge> 3.20 is required."

#. type: textblock
#: ../docs/guestfs-building.pod:312
msgid ""
"Optional.  Used to build the Python bindings.  S<Python 2> support was "
"removed in S<libguestfs 1.42.1>."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:315
msgid "Python C<unittest>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:317
msgid "Optional.  Used to run the Python testsuite."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:319
msgid "Ruby"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:321
msgid "rake"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:323
msgid "rubygem-minitest"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:325
msgid "rubygem-rdoc"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:327
msgid "Optional.  Used to build the Ruby bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:329
msgid "Java E<ge> 1.6"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:331
msgid ""
"Optional.  Java, JNI and jpackage-utils are needed for building Java "
"bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:334
msgid "GHC"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:336
msgid "Optional.  Used to build the Haskell bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:338
msgid "PHP"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:340
msgid "phpize"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:342
msgid "Optional.  Used to build the PHP bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:344
msgid "glib2"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:346
msgid "gobject-introspection"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:348
msgid "gjs"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:350
msgid "Optional.  Used to build and test the GObject bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:352
msgid "vala"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:354
msgid "Optional.  Used to build the Vala bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:356
msgid "LUA"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:358
msgid "Optional.  Used to build the LUA bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:360
#, fuzzy
#| msgid "Fedora E<ge> 11"
msgid "Erlang E<ge> 23"
msgstr "Fedora E<ge> 11"

#. type: =item
#: ../docs/guestfs-building.pod:362
#, fuzzy
#| msgid "edit"
msgid "ei"
msgstr "edit"

#. type: textblock
#: ../docs/guestfs-building.pod:364
msgid ""
"Optional.  Used to build the Erlang bindings.  Note that Erlang E<le> 22 "
"will not work unless you use libguestfs E<le> 1.42."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:367 ../docs/guestfs-release-notes-1.24.pod:147
msgid "golang E<ge> 1.1.1"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:369
msgid "Optional.  Used to build the Go bindings."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:371
msgid "valgrind"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:373
msgid "Optional.  For testing memory problems."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:375
msgid "Perl C<Sys::Virt>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:377 ../docs/guestfs-building.pod:393
msgid "Optional."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:379
msgid "libvirt-python"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:381
msgid "Optional.  For testing Python libvirt/libguestfs interactions."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:383
msgid "Perl C<Win::Hivex>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:385
msgid "Optional.  Used by the L<virt-win-reg(1)> tool."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:387
msgid "Perl C<Pod::Usage>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:389
msgid "Optional.  Used by some Perl virt tools."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:391
msgid "Perl C<libintl>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:395
msgid "bash-completion"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:397
msgid "Optional.  For tab-completion of commands in bash."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:399
msgid "libtsk"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:401
msgid "Optional.  Library for filesystem forensics analysis."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:403
msgid "yara"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:405
msgid "Optional.  Tool for categorizing files based on their content."
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:409
msgid "BUILDING FROM GIT"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:411
msgid ""
"You will need to install additional dependencies C<autoconf>, C<automake>, "
"C<gettext>, OCaml findlib and po4a when building from git."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:415
#, no-wrap
msgid ""
" git clone https://github.com/libguestfs/libguestfs\n"
" cd libguestfs\n"
" git submodule update --init\n"
" CFLAGS=-fPIC ./autogen.sh\n"
" make\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:421
msgid "BUILDING FROM TARBALLS"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:423
msgid ""
"Tarballs are downloaded from L<http://download.libguestfs.org/>.  Stable "
"tarballs are signed with the GnuPG key for C<rich@annexia.org>, see "
"L<https://pgp.mit.edu/pks/lookup?op=vindex&search=0x91738F73E1B768A0>.  The "
"fingerprint is C<F777 4FB1 AD07 4A7E 8C87 67EA 9173 8F73 E1B7 68A0>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:429
msgid "Download and unpack the tarball."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:431
#, no-wrap
msgid ""
" cd libguestfs-1.xx.yy\n"
" ./configure\n"
" make\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:435
msgid "RUNNING THE TESTS"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:437
msgid ""
"B<DO NOT run the tests as root!> Libguestfs can be built and tested as non-"
"root.  Running the tests as root could even be dangerous, don't do it."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:441
msgid "To sanity check that the build worked, do:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:443
#, no-wrap
msgid ""
" make quickcheck\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:445
msgid "To run the basic tests, do:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:447
#, no-wrap
msgid ""
" make check\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:449
msgid ""
"There are many more tests you can run.  See L<guestfs-hacking(1)> for "
"details."
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:452
msgid "INSTALLING"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:454
msgid ""
"B<DO NOT use C<make install>!> You'll end up with conflicting versions of "
"libguestfs installed, and this causes constant headaches for users.  See the "
"next section for how to use the F<./run> script instead."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:458
msgid "Distro packagers can use:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:460
#, no-wrap
msgid ""
" make INSTALLDIRS=vendor DESTDIR=[temp-build-dir] install\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:462
msgid "THE ./run SCRIPT"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:464
msgid ""
"You can run L<guestfish(1)>, L<guestmount(1)> and the virt tools without "
"needing to install them by using the F<./run> script in the top directory.  "
"This script works by setting several environment variables."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:471
#, no-wrap
msgid ""
" ./run guestfish [usual guestfish args ...]\n"
"\n"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:473
#, no-wrap
msgid ""
" ./run virt-inspector [usual virt-inspector args ...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:475
msgid ""
"The F<./run> script adds every libguestfs binary to the C<$PATH>, so the "
"above examples run guestfish and virt-inspector from the build directory "
"(not the globally installed guestfish if there is one)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:479
msgid ""
"You can use the script from any directory.  If you wanted to run your own "
"libguestfs-using program, then the following command will also work:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:483
#, no-wrap
msgid ""
" /path/to/libguestfs/run ./my_program [...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:485
msgid "You can also run the C programs under valgrind like this:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:487
#, no-wrap
msgid ""
" ./run valgrind [valgrind opts...] virt-cat [virt-cat opts...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:489
msgid "or under gdb:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:491
#, no-wrap
msgid ""
" ./run gdb --args virt-cat [virt-cat opts...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:493
msgid ""
"This also works with sudo (eg. if you need root access for libvirt or to "
"access a block device):"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:496
#, no-wrap
msgid ""
" sudo ./run virt-cat -d LinuxGuest /etc/passwd\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:498
msgid "To set environment variables, you can either do:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:500
#, no-wrap
msgid ""
" LIBGUESTFS_HV=/my/qemu ./run guestfish\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:502 ../docs/guestfs-hacking.pod:512
#: ../docs/guestfs-testing.pod:76 ../docs/guestfs-testing.pod:138
#: ../docs/guestfs-testing.pod:245 ../docs/guestfs-testing.pod:258
#: ../docs/guestfs-testing.pod:322 ../fish/guestfish.pod:1059
#: ../lua/examples/guestfs-lua.pod:64
msgid "or:"
msgstr "or:"

#. type: verbatim
#: ../docs/guestfs-building.pod:504
#, no-wrap
msgid ""
" ./run env LIBGUESTFS_HV=/my/qemu guestfish\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:506
msgid "F<local*> FILES"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:508
msgid ""
"Files in the top source directory that begin with the prefix F<local*> are "
"ignored by git.  These files can contain local configuration or scripts that "
"you need to build libguestfs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:512
msgid ""
"I have a file called F<localconfigure> which is a simple wrapper around "
"F<autogen.sh> containing local configure customizations that I need.  It "
"looks like this:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:516
#, no-wrap
msgid ""
" . localenv\n"
" ./autogen.sh \\\n"
"     -C \\\n"
"     --enable-werror \\\n"
"     \"$@\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:522
msgid "So I can use this to build libguestfs:"
msgstr "So I can use this to build libguestfs:"

#. type: verbatim
#: ../docs/guestfs-building.pod:524
#, no-wrap
msgid ""
" ./localconfigure && make\n"
"\n"
msgstr ""
" ./localconfigure && make\n"
"\n"

#. type: textblock
#: ../docs/guestfs-building.pod:526
msgid ""
"If there is a file in the top build directory called F<localenv>, then it "
"will be sourced by C<make>.  This file can contain any local environment "
"variables needed, eg. for skipping tests:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:530
#, fuzzy, no-wrap
#| msgid ""
#| " # Use an alternate python binary.\n"
#| " export PYTHON=python3\n"
#| " # Skip this test, it is broken.\n"
#| " export SKIP_TEST_BTRFS_FSCK=1\n"
#| "\n"
msgid ""
" # Skip this test, it is broken.\n"
" export SKIP_TEST_BTRFS_FSCK=1\n"
"\n"
msgstr ""
" # Use an alternate python binary.\n"
" export PYTHON=python3\n"
" # Skip this test, it is broken.\n"
" export SKIP_TEST_BTRFS_FSCK=1\n"
"\n"

#. type: textblock
#: ../docs/guestfs-building.pod:533
msgid ""
"Note that F<localenv> is included by the top Makefile (so it’s a Makefile "
"fragment).  But if it is also sourced by your F<localconfigure> script then "
"it is used as a shell script."
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:537
msgid "SELECTED ./configure SETTINGS"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:539
msgid "There are many C<./configure> options.  Use:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:541
#, no-wrap
msgid ""
" ./configure --help\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:543
msgid "to list them all.  This section covers some of the more important ones."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:548
msgid "B<--disable-appliance --disable-daemon>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:550
msgid "See L</USING A PREBUILT BINARY APPLIANCE> below."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:552
msgid "B<--disable-erlang>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:554
msgid "B<--disable-gobject>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:556
msgid "B<--disable-golang>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:558
msgid "B<--disable-haskell>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:560
msgid "B<--disable-lua>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:562
msgid "B<--disable-ocaml>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:564
msgid "B<--disable-perl>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:566
msgid "B<--disable-php>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:568
msgid "B<--disable-python>"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:570
msgid "B<--disable-ruby>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:572
msgid ""
"Disable specific language bindings, even if C<./configure> finds all the "
"necessary libraries are installed so that they could be compiled."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:575
msgid ""
"Note that disabling OCaml (bindings) or Perl will have the knock-on effect "
"of disabling parts of the test suite and some tools."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:578
msgid ""
"OCaml is required to build libguestfs and this requirement cannot be "
"removed.  Using I<--disable-ocaml> only disables the bindings and OCaml "
"tools."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:582
msgid "B<--disable-fuse>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:584
msgid "Disable FUSE support in the API and the L<guestmount(1)> tool."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:586
msgid "B<--disable-gnulib-tests>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:588
msgid ""
"On some platforms the GNUlib test suite can be flaky.  This disables it, "
"since errors in the GNUlib test suite are often not important."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:591
msgid "B<--disable-static>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:593
msgid "Don’t build a static linked version of the libguestfs library."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:595
msgid "B<--enable-install-daemon>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:597
msgid ""
"Normally L<guestfsd(8)> is not installed by C<make install>, since that "
"wouldn't be useful (instead it is \"installed\" inside the supermin "
"appliance).  However if packagers are building \"libguestfs live\" then they "
"should use this option."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:602
msgid "B<--enable-werror>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:604
msgid ""
"This turns compiler warnings into errors (ie. C<-Werror>).  Use this for "
"development, especially when submitting patches.  It should generally I<not> "
"be used for production or distro builds."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:608
msgid "B<--with-default-backend=libvirt>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:610
msgid ""
"This controls the default method that libguestfs uses to run qemu (see "
"L<guestfs(3)/BACKEND>).  If not specified, the default backend is C<direct>, "
"which means libguestfs runs qemu directly."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:614
msgid ""
"Fedora and Red Hat Enterprise Linux (RHEL) E<ge> 7 use this flag to change "
"the default backend to C<libvirt>, because (especially in RHEL)  the policy "
"is not to allow any program to run qemu except via libvirt."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:618
msgid ""
"Note that despite this setting, all backends are built into libguestfs, and "
"you can override the backend at runtime by setting the C<"
"$LIBGUESTFS_BACKEND> environment variable (or using API methods)."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:622
msgid "B<--with-distro=REDHAT|DEBIAN|...>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:624
msgid ""
"Libguestfs needs to know which Linux distro is in use so it can choose "
"package names for the appliance correctly (see for example F<appliance/"
"packagelist.in>).  It normally does this automatically."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:628
msgid ""
"However if you can building or packaging libguestfs on a new distro then you "
"can use I<--with-distro> to specify that the distro is similar to an "
"existing one (eg. I<--with-distro=REDHAT> if the distro is a new Red Hat or "
"CentOS derivative)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:633
msgid ""
"Note that if your distro is completely new then it may still require "
"upstream modifications."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:636
msgid "B<--with-extra=\">I<distroname>=I<version>,libvirt,...B<\">"
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:638
msgid "B<--with-extra=\"local\">"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:640
msgid ""
"This option controls the \"extra\" field returned by L<guestfs(3)/"
"guestfs_version> and also printed by virt tools' I<--version> option.  It is "
"a free text field, but a good idea is to encode a comma-separated list of "
"facts such as the distro name and version, whether libvirt is the default "
"backend, and anything else that may help with debugging problems raised by "
"users."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:647
msgid ""
"For custom and/or local builds, this can be set to C<local> to indicate this "
"is I<not> a distro build."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:650
msgid "B<--without-libvirt>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:652
msgid ""
"Compile libguestfs without libvirt support, even if libvirt development "
"libraries are installed."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:655
msgid "B<--with-qemu=\">bin1 bin2 ...B<\">"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:657
msgid ""
"Provide an alternate qemu binary (or list of binaries).  This can be "
"overridden at runtime by setting the C<LIBGUESTFS_HV> environment variable."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:661
msgid "B<--with-supermin-packager-config=>I<yum.conf>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:663
msgid "This passes the I<--packager-config> option to L<supermin(1)>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:665
msgid ""
"The most common use for this is to build the appliance using an alternate "
"repository (instead of using the installed yum/dnf/apt/etc configuration to "
"find and download packages).  You might need to use this if you want to "
"build libguestfs without having a network connection.  Examples of using "
"this can be found in the Fedora C<libguestfs.spec> file (see L</BUILDING A "
"PACKAGE FOR FEDORA> below for resources)."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:673
msgid "B<--with-supermin-extra-options=\">--opt1 --opt2 ...B<\">"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:675
msgid ""
"Pass additional options to L<supermin(1)>.  See F<appliance/make.sh.in> to "
"understand precisely what this does."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:678
msgid "B<PYTHON>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:680
msgid ""
"This environment variable may be set to point to a python binary (eg. "
"C<python3>).  When C<./configure> runs, it inspects this python binary to "
"find the version of Python, the location of Python libraries and so on."
msgstr ""

#. type: =item
#: ../docs/guestfs-building.pod:685
msgid "B<SUPERMIN>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:687
msgid ""
"This environment variable can be set to choose an alternative L<supermin(1)> "
"binary.  This might be used, for example, if you want to use a newer "
"upstream version of supermin than is packaged for your distro, or if "
"supermin is not packaged at all.  On RHEL 7, you must set C<SUPERMIN=/usr/"
"bin/supermin5> when compiling libguestfs."
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:695
msgid "NOTES ABOUT QEMU AND KVM"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:697
msgid "A common problem is with broken or incompatible qemu releases."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:699
msgid ""
"Different versions of qemu have problems booting the appliance for different "
"reasons.  This varies between versions of qemu, and Linux distributions "
"which add their own patches."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:703
msgid ""
"If you find a problem, you could try using your own qemu built from source "
"(qemu is very easy to build from source), with a \"qemu wrapper\".  See "
"L<guestfs(3)/QEMU WRAPPERS>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:707
msgid ""
"By default the configure script will look for qemu-kvm (KVM support).  KVM "
"is much faster than using plain qemu."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:710
msgid ""
"You may also need to enable KVM support for non-root users, by following "
"these instructions: L<http://www.linux-kvm.org/page/"
"FAQ#How_can_I_use_kvm_with_a_non-privileged_user.3F>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:714
msgid "On some systems, this will work too:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:716
#, no-wrap
msgid ""
" chmod 0666 /dev/kvm\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:718
msgid ""
"On some systems, the chmod will not survive a reboot, and you will need to "
"make edits to the udev configuration."
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:721
msgid "USING CLANG (LLVM) INSTEAD OF GCC"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:723
#, no-wrap
msgid ""
" export CC=clang\n"
" ./configure\n"
" make\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:727
msgid "USING A PREBUILT BINARY APPLIANCE"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:729
msgid ""
"To understand what the libguestfs appliance means, see L<guestfs-"
"internals(1)>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:732
msgid ""
"If you are using non-Linux, or a Linux distribution that does not have "
"L<supermin(1)> support, or simply if you don't want to build your own "
"libguestfs appliance, then you can use one of the prebuilt binary appliances "
"that we supply: L<http://libguestfs.org/download/binaries/appliance>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:738
msgid "Build libguestfs like this:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:740
#, no-wrap
msgid ""
" ./configure --disable-appliance --disable-daemon\n"
" make\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:743
msgid ""
"Set C<$LIBGUESTFS_PATH> to the path where you unpacked the appliance "
"tarball, eg:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-building.pod:746 ../docs/guestfs-faq.pod:560
#: ../docs/guestfs-performance.pod:147
#, no-wrap
msgid ""
" export LIBGUESTFS_PATH=/usr/local/lib/guestfs/appliance\n"
"\n"
msgstr ""
" export LIBGUESTFS_PATH=/usr/local/lib/guestfs/appliance\n"
"\n"

#. type: textblock
#: ../docs/guestfs-building.pod:748
msgid ""
"and run the libguestfs programs and virt tools in the normal way, eg. using "
"the F<./run> script (see above)."
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:751
msgid "BUILDING A PACKAGE FOR FEDORA"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:753
msgid ""
"The Fedora spec file is stored under: L<http://pkgs.fedoraproject.org/cgit/"
"rpms/libguestfs.git/>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:756
msgid ""
"Libguestfs is built in Fedora using the ordinary Fedora build system (Koji)."
msgstr ""

#. type: =head1
#: ../docs/guestfs-building.pod:759
msgid "BUILDING A PACKAGE FOR RED HAT ENTERPRISE LINUX"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:761
msgid ""
"Red Hat Enterprise Linux (RHEL) builds of libguestfs are heavily patched.  "
"There are broadly two types of patches we apply:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:768
msgid ""
"We disable many features that we do not wish to support for RHEL customers.  "
"For example, the \"libguestfs live\" feature is disabled."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:773
msgid "We backport upstream features."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:777
msgid ""
"The patches we apply to RHEL releases are available publically in the "
"upstream git repository, in a branch called C<rhel-x.y>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:780
msgid ""
"For example, the RHEL 7.3 patches are available here: L<https://github.com/"
"libguestfs/libguestfs/commits/rhel-7.3>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:783
msgid ""
"The sources and spec files for RHEL versions of libguestfs are available on "
"L<https://git.centos.org/project/rpms>, and see also L<https://wiki.centos."
"org/Sources>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-building.pod:789
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-hacking(1)>, L<guestfs-"
"internals(1)>, L<guestfs-performance(1)>, L<guestfs-release-notes(1)>, "
"L<guestfs-testing(1)>, L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-"
"appliance(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:3
msgid "guestfs-faq - libguestfs Frequently Asked Questions (FAQ)"
msgstr "guestfs-faq - libguestfs Frequently Asked Questions (FAQ)"

#. type: =head1
#: ../docs/guestfs-faq.pod:5
msgid "ABOUT LIBGUESTFS"
msgstr "ABOUT LIBGUESTFS"

#. type: =head2
#: ../docs/guestfs-faq.pod:7
msgid "What is libguestfs?"
msgstr "What is libguestfs?"

#. type: textblock
#: ../docs/guestfs-faq.pod:9
msgid ""
"libguestfs is a way to create, access and modify disk images.  You can look "
"inside disk images, modify the files they contain, create them from scratch, "
"resize them, and much more.  It’s especially useful from scripts and "
"programs and from the command line."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:14
msgid ""
"libguestfs is a C library (hence \"lib-\"), and a set of tools built on this "
"library, and bindings for many common programming languages."
msgstr ""
"libguestfs is a C library (hence \"lib-\"), and a set of tools built on this "
"library, and bindings for many common programming languages."

#. type: textblock
#: ../docs/guestfs-faq.pod:17
msgid ""
"For more information about what libguestfs can do read the introduction on "
"the home page (L<http://libguestfs.org>)."
msgstr ""
"For more information about what libguestfs can do read the introduction on "
"the home page (L<http://libguestfs.org>)."

#. type: =head2
#: ../docs/guestfs-faq.pod:20
msgid "What are the virt tools?"
msgstr "What are the virt tools?"

#. type: textblock
#: ../docs/guestfs-faq.pod:22
msgid ""
"Virt tools (website: L<http://virt-tools.org>) are a whole set of "
"virtualization management tools aimed at system administrators.  Some of "
"them come from libguestfs, some from libvirt and many others from other open "
"source projects.  So virt tools is a superset of libguestfs.  However "
"libguestfs comes with many important tools.  See L<http://libguestfs.org> "
"for a full list."
msgstr ""
"Virt tools (website: L<http://virt-tools.org>) are a whole set of "
"virtualisation management tools aimed at system administrators.  Some of "
"them come from libguestfs, some from libvirt and many others from other open "
"source projects.  So virt tools is a superset of libguestfs.  However "
"libguestfs comes with many important tools.  See L<http://libguestfs.org> "
"for a full list."

#. type: =head2
#: ../docs/guestfs-faq.pod:29
msgid "Does libguestfs need { libvirt / KVM / Red Hat / Fedora }?"
msgstr "Does libguestfs need { libvirt / KVM / Red Hat / Fedora }?"

#. type: textblock
#: ../docs/guestfs-faq.pod:31
msgid "No!"
msgstr "No!"

#. type: textblock
#: ../docs/guestfs-faq.pod:33
msgid "libvirt is not a requirement for libguestfs."
msgstr "libvirt is not a requirement for libguestfs."

#. type: textblock
#: ../docs/guestfs-faq.pod:35
msgid ""
"libguestfs works with any disk image, including ones created in VMware, KVM, "
"qemu, VirtualBox, Xen, and many other hypervisors, and ones which you have "
"created from scratch."
msgstr ""
"libguestfs works with any disk image, including ones created in VMware, KVM, "
"qemu, VirtualBox, Xen, and many other hypervisors, and ones which you have "
"created from scratch."

#. type: textblock
#: ../docs/guestfs-faq.pod:39
msgid ""
"S<Red Hat> sponsors (ie. pays for) development of libguestfs and a huge "
"number of other open source projects.  But you can run libguestfs and the "
"virt tools on many different Linux distros and Mac OS X.  We try our best to "
"support all Linux distros as first-class citizens.  Some virt tools have "
"been ported to Windows."
msgstr ""
"S<Red Hat> sponsors (ie. pays for) development of libguestfs and a huge "
"number of other open source projects.  But you can run libguestfs and the "
"virt tools on many different Linux distros and Mac OS X.  We try our best to "
"support all Linux distros as first-class citizens.  Some virt tools have "
"been ported to Windows."

#. type: =head2
#: ../docs/guestfs-faq.pod:45
msgid "How does libguestfs compare to other tools?"
msgstr "How does libguestfs compare to other tools?"

#. type: =item
#: ../docs/guestfs-faq.pod:49
msgid "I<vs. kpartx>"
msgstr "I<vs. kpartx>"

#. type: textblock
#: ../docs/guestfs-faq.pod:51
msgid ""
"Libguestfs takes a different approach from kpartx.  kpartx needs root, and "
"mounts filesystems on the host kernel (which can be insecure - see L<guestfs-"
"security(1)>).  Libguestfs isolates your host kernel from guests, is more "
"flexible, scriptable, supports LVM, doesn't require root, is isolated from "
"other processes, and cleans up after itself.  Libguestfs is more than just "
"file access because you can use it to create images from scratch."
msgstr ""

#. type: =item
#: ../docs/guestfs-faq.pod:59
msgid "I<vs. vdfuse>"
msgstr "I<vs. vdfuse>"

#. type: textblock
#: ../docs/guestfs-faq.pod:61
msgid ""
"vdfuse is like kpartx but for VirtualBox images.  See the kpartx comparison "
"above.  You can use libguestfs on the partition files exposed by vdfuse, "
"although it’s not necessary since libguestfs can access VirtualBox images "
"directly."
msgstr ""

#. type: =item
#: ../docs/guestfs-faq.pod:66
msgid "I<vs. qemu-nbd>"
msgstr "I<vs. qemu-nbd>"

#. type: textblock
#: ../docs/guestfs-faq.pod:68
msgid ""
"NBD (Network Block Device) is a protocol for exporting block devices over "
"the network.  qemu-nbd is an NBD server which can handle any disk format "
"supported by qemu (eg. raw, qcow2).  You can use libguestfs and qemu-nbd or "
"nbdkit together to access block devices over the network, for example: "
"C<guestfish -a nbd://remote>"
msgstr ""

#. type: =item
#: ../docs/guestfs-faq.pod:74
msgid "I<vs. mounting filesystems in the host>"
msgstr "I<vs. mounting filesystems in the host>"

#. type: textblock
#: ../docs/guestfs-faq.pod:76
msgid ""
"Mounting guest filesystems in the host is insecure and should be avoided "
"completely for untrusted guests.  Use libguestfs to provide a layer of "
"protection against filesystem exploits.  See also L<guestmount(1)>."
msgstr ""
"Mounting guest filesystems in the host is insecure and should be avoided "
"completely for untrusted guests.  Use libguestfs to provide a layer of "
"protection against filesystem exploits.  See also L<guestmount(1)>."

#. type: =item
#: ../docs/guestfs-faq.pod:81
msgid "I<vs. parted>"
msgstr "I<vs. parted>"

#. type: textblock
#: ../docs/guestfs-faq.pod:83
msgid ""
"Libguestfs supports LVM.  Libguestfs uses parted and provides most parted "
"features through the libguestfs API."
msgstr ""
"Libguestfs supports LVM.  Libguestfs uses parted and provides most parted "
"features through the libguestfs API."

#. type: =head1
#: ../docs/guestfs-faq.pod:88
msgid "GETTING HELP AND REPORTING BUGS"
msgstr "GETTING HELP AND REPORTING BUGS"

#. type: =head2
#: ../docs/guestfs-faq.pod:90
msgid "How do I know what version I'm using?"
msgstr "How do I know what version I'm using?"

#. type: textblock
#: ../docs/guestfs-faq.pod:92
msgid "The simplest method is:"
msgstr "The simplest method is:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:94
#, no-wrap
msgid ""
" guestfish --version\n"
"\n"
msgstr ""
" guestfish --version\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:96
msgid ""
"Libguestfs development happens along an unstable branch and we periodically "
"create a stable branch which we backport stable patches to.  To find out "
"more, read L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."
msgstr ""
"Libguestfs development happens along an unstable branch and we periodically "
"create a stable branch which we backport stable patches to.  To find out "
"more, read L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."

#. type: =head2
#: ../docs/guestfs-faq.pod:100
msgid "How can I get help?"
msgstr "How can I get help?"

#. type: =head2
#: ../docs/guestfs-faq.pod:102
msgid "What mailing lists or chat rooms are available?"
msgstr "What mailing lists or chat rooms are available?"

#. type: textblock
#: ../docs/guestfs-faq.pod:104
msgid ""
"If you are a S<Red Hat> customer using Red Hat Enterprise Linux, please "
"contact S<Red Hat Support>: L<http://redhat.com/support>"
msgstr ""
"If you are a S<Red Hat> customer using Red Hat Enterprise Linux, please "
"contact S<Red Hat Support>: L<http://redhat.com/support>"

#. type: textblock
#: ../docs/guestfs-faq.pod:107
msgid ""
"There is a mailing list, mainly for development, but users are also welcome "
"to ask questions about libguestfs and the virt tools: L<https://www.redhat."
"com/mailman/listinfo/libguestfs>"
msgstr ""
"There is a mailing list, mainly for development, but users are also welcome "
"to ask questions about libguestfs and the virt tools: L<https://www.redhat."
"com/mailman/listinfo/libguestfs>"

#. type: textblock
#: ../docs/guestfs-faq.pod:111
msgid ""
"You can also talk to us on IRC channel C<#libguestfs> on FreeNode.  We're "
"not always around, so please stay in the channel after asking your question "
"and someone will get back to you."
msgstr ""
"You can also talk to us on IRC channel C<#libguestfs> on FreeNode.  We're "
"not always around, so please stay in the channel after asking your question "
"and someone will get back to you."

#. type: textblock
#: ../docs/guestfs-faq.pod:115
msgid ""
"For other virt tools (not ones supplied with libguestfs) there is a general "
"virt tools mailing list: L<https://www.redhat.com/mailman/listinfo/virt-"
"tools-list>"
msgstr ""
"For other virt tools (not ones supplied with libguestfs) there is a general "
"virt tools mailing list: L<https://www.redhat.com/mailman/listinfo/virt-"
"tools-list>"

#. type: =head2
#: ../docs/guestfs-faq.pod:119
msgid "How do I report bugs?"
msgstr "How do I report bugs?"

#. type: textblock
#: ../docs/guestfs-faq.pod:121
msgid "Please use the following link to enter a bug in Bugzilla:"
msgstr "Please use the following link to enter a bug in Bugzilla:"

#. type: textblock
#: ../docs/guestfs-faq.pod:123 ../docs/guestfs-testing.pod:18
msgid ""
"L<https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools>"
msgstr ""
"L<https://bugzilla.redhat.com/enter_bug.cgi?"
"component=libguestfs&product=Virtualization+Tools>"

#. type: textblock
#: ../docs/guestfs-faq.pod:125
msgid "Include as much detail as you can and a way to reproduce the problem."
msgstr "Include as much detail as you can and a way to reproduce the problem."

#. type: textblock
#: ../docs/guestfs-faq.pod:127
msgid "Include the full output of L<libguestfs-test-tool(1)>."
msgstr "Include the full output of L<libguestfs-test-tool(1)>."

#. type: =head1
#: ../docs/guestfs-faq.pod:129
msgid "COMMON PROBLEMS"
msgstr "COMMON PROBLEMS"

#. type: textblock
#: ../docs/guestfs-faq.pod:131
msgid ""
"See also L<guestfs(3)/LIBGUESTFS GOTCHAS> for some \"gotchas\" with using "
"the libguestfs API."
msgstr ""
"See also L<guestfs(3)/LIBGUESTFS GOTCHAS> for some \"gotchas\" with using "
"the libguestfs API."

#. type: =head2
#: ../docs/guestfs-faq.pod:134
msgid "\"Could not allocate dynamic translator buffer\""
msgstr "\"Could not allocate dynamic translator buffer\""

#. type: textblock
#: ../docs/guestfs-faq.pod:136
msgid ""
"This obscure error is in fact an SELinux failure.  You have to enable the "
"following SELinux boolean:"
msgstr ""
"This obscure error is in fact an SELinux failure.  You have to enable the "
"following SELinux boolean:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:139
#, no-wrap
msgid ""
" setsebool -P virt_use_execmem=on\n"
"\n"
msgstr ""
" setsebool -P virt_use_execmem=on\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:141
msgid ""
"For more information see L<https://bugzilla.redhat.com/show_bug.cgi?"
"id=806106>."
msgstr ""
"For more information see L<https://bugzilla.redhat.com/show_bug.cgi?"
"id=806106>."

#. type: =head2
#: ../docs/guestfs-faq.pod:144
msgid "\"child process died unexpectedly\""
msgstr "\"child process died unexpectedly\""

#. type: textblock
#: ../docs/guestfs-faq.pod:146
msgid ""
"[This error message was changed in libguestfs 1.21.18 to something more "
"explanatory.]"
msgstr ""
"[This error message was changed in libguestfs 1.21.18 to something more "
"explanatory.]"

#. type: textblock
#: ../docs/guestfs-faq.pod:149
msgid ""
"This error indicates that qemu failed or the host kernel could not boot.  To "
"get further information about the failure, you have to run:"
msgstr ""
"This error indicates that qemu failed or the host kernel could not boot.  To "
"get further information about the failure, you have to run:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:152 ../docs/guestfs-faq.pod:913
#: ../docs/guestfs-testing.pod:32 ../test-tool/libguestfs-test-tool.pod:19
#, no-wrap
msgid ""
" libguestfs-test-tool\n"
"\n"
msgstr ""
" libguestfs-test-tool\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:154
msgid ""
"If, after using this, you still don’t understand the failure, contact us "
"(see previous section)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:157
msgid ""
"libguestfs: error: cannot find any suitable libguestfs supermin, fixed or "
"old-style appliance on LIBGUESTFS_PATH"
msgstr ""
"libguestfs: error: cannot find any suitable libguestfs supermin, fixed or "
"old-style appliance on LIBGUESTFS_PATH"

#. type: =head2
#: ../docs/guestfs-faq.pod:159
msgid "febootstrap-supermin-helper: ext2: parent directory not found"
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:161
msgid "supermin-helper: ext2: parent directory not found"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:163
msgid "[This issue is fixed permanently in libguestfs E<ge> 1.26.]"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:165
msgid ""
"If you see any of these errors on Debian/Ubuntu, you need to run the "
"following command:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:168 ../docs/guestfs-faq.pod:285
#: ../docs/guestfs-faq.pod:336
#, no-wrap
msgid ""
" sudo update-guestfs-appliance\n"
"\n"
msgstr ""
" sudo update-guestfs-appliance\n"
"\n"

#. type: =head2
#: ../docs/guestfs-faq.pod:170
msgid "\"Permission denied\" when running libguestfs as root"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:172
msgid ""
"You get a permission denied error when opening a disk image, even though you "
"are running libguestfs as root."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:175
msgid ""
"This is caused by libvirt, and so only happens when using the libvirt "
"backend.  When run as root, libvirt decides to run the qemu appliance as "
"user C<qemu.qemu>.  Unfortunately this usually means that qemu cannot open "
"disk images, especially if those disk images are owned by root, or are "
"present in directories which require root access."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:181
msgid ""
"There is a bug open against libvirt to fix this: L<https://bugzilla.redhat."
"com/show_bug.cgi?id=1045069>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:184
msgid "You can work around this by one of the following methods:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:190
msgid "Switch to the direct backend:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:192 ../docs/guestfs-faq.pod:541
#: ../docs/guestfs-testing.pod:116 ../test-tool/libguestfs-test-tool.pod:120
#, no-wrap
msgid ""
" export LIBGUESTFS_BACKEND=direct\n"
"\n"
msgstr ""
" export LIBGUESTFS_BACKEND=direct\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:196
msgid "Don’t run libguestfs as root."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:200
msgid ""
"Chmod the disk image and any parent directories so that the qemu user can "
"access them."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:205
msgid "(Nasty) Edit F</etc/libvirt/qemu.conf> and change the C<user> setting."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:209
msgid "execl: /init: Permission denied"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:211
msgid ""
"B<Note:> If this error happens when you are using a distro package of "
"libguestfs (eg. from Fedora, Debian, etc) then file a bug against the "
"distro.  This is not an error which normal users should ever see if the "
"distro package has been prepared correctly."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:216
msgid ""
"This error happens during the supermin boot phase of starting the appliance:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:219
#, no-wrap
msgid ""
" supermin: mounting new root on /root\n"
" supermin: chroot\n"
" execl: /init: Permission denied\n"
" supermin: debug: listing directory /\n"
" [...followed by a lot of debug output...]\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:225
msgid ""
"This is a complicated bug related to L<supermin(1)> appliances.  The "
"appliance is constructed by copying files like F</bin/bash> and many "
"libraries from the host.  The file C<hostfiles> lists the files that should "
"be copied from the host into the appliance.  If some files don't exist on "
"the host then they are missed out, but if these files are needed in order to "
"(eg) run F</bin/bash> then you'll see the above error."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:233
msgid ""
"Diagnosing the problem involves studying the libraries needed by F</bin/"
"bash>, ie:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:236
#, no-wrap
msgid ""
" ldd /bin/bash\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:238
msgid ""
"comparing that with C<hostfiles>, with the files actually available in the "
"host filesystem, and with the debug output printed in the error message.  "
"Once you've worked out which file is missing, install that file using your "
"package manager and try again."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:243
msgid ""
"You should also check that files like F</init> and F</bin/bash> (in the "
"appliance) are executable.  The debug output shows file modes."
msgstr ""

#. type: =head1
#: ../docs/guestfs-faq.pod:246
msgid "DOWNLOADING, INSTALLING, COMPILING LIBGUESTFS"
msgstr "DOWNLOADING, INSTALLING, COMPILING LIBGUESTFS"

#. type: textblock
#: ../docs/guestfs-faq.pod:250
msgid "<!-- old anchor for the next section --> <a name=\"binaries\"/>"
msgstr "<!-- old anchor for the next section --> <a name=\"binaries\"/>"

#. type: =head2
#: ../docs/guestfs-faq.pod:255
msgid "Where can I get the latest binaries for ...?"
msgstr "Where can I get the latest binaries for ...?"

#. type: =item
#: ../docs/guestfs-faq.pod:259
msgid "Fedora E<ge> 11"
msgstr "Fedora E<ge> 11"

#. type: textblock
#: ../docs/guestfs-faq.pod:261
msgid "Use:"
msgstr "Use:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:263
#, no-wrap
msgid ""
" yum install '*guestf*'\n"
"\n"
msgstr ""
" yum install '*guestf*'\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:265
msgid ""
"For the latest builds, see: L<http://koji.fedoraproject.org/koji/packageinfo?"
"packageID=8391>"
msgstr ""
"For the latest builds, see: L<http://koji.fedoraproject.org/koji/packageinfo?"
"packageID=8391>"

#. type: =item
#: ../docs/guestfs-faq.pod:268
msgid "Red Hat Enterprise Linux"
msgstr "Red Hat Enterprise Linux"

#. type: =item
#: ../docs/guestfs-faq.pod:272
msgid "RHEL 6"
msgstr "RHEL 6"

#. type: =item
#: ../docs/guestfs-faq.pod:274
msgid "RHEL 7"
msgstr "RHEL 7"

#. type: textblock
#: ../docs/guestfs-faq.pod:276
msgid ""
"It is part of the default install.  On RHEL 6 and 7 (only) you have to "
"install C<libguestfs-winsupport> to get Windows guest support."
msgstr ""
"It is part of the default install.  On RHEL 6 and 7 (only) you have to "
"install C<libguestfs-winsupport> to get Windows guest support."

#. type: =item
#: ../docs/guestfs-faq.pod:281
msgid "Debian and Ubuntu"
msgstr "Debian and Ubuntu"

#. type: textblock
#: ../docs/guestfs-faq.pod:283
msgid "For libguestfs E<lt> 1.26, after installing libguestfs you need to do:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:287
msgid ""
"(This script has been removed on Debian/Ubuntu with libguestfs E<ge> 1.26 "
"and instead the appliance is built on demand.)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:290
msgid "On Ubuntu only:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:292 ../docs/guestfs-faq.pod:322
#: ../docs/guestfs-faq.pod:345
#, no-wrap
msgid ""
" sudo chmod 0644 /boot/vmlinuz*\n"
"\n"
msgstr ""
" sudo chmod 0644 /boot/vmlinuz*\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:294
msgid "You may need to add yourself to the C<kvm> group:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:296
#, no-wrap
msgid ""
" sudo usermod -a -G kvm yourlogin\n"
"\n"
msgstr ""

#. type: =item
#: ../docs/guestfs-faq.pod:300
msgid "Debian Squeeze (6)"
msgstr "Debian Squeeze (6)"

#. type: textblock
#: ../docs/guestfs-faq.pod:302
msgid ""
"Hilko Bengen has built libguestfs in squeeze backports: L<http://packages."
"debian.org/search?keywords=guestfs&searchon=names&section=all&suite=squeeze-"
"backports>"
msgstr ""
"Hilko Bengen has built libguestfs in squeeze backports: L<http://packages."
"debian.org/search?keywords=guestfs&searchon=names&section=all&suite=squeeze-"
"backports>"

#. type: =item
#: ../docs/guestfs-faq.pod:305
msgid "Debian Wheezy and later (7+)"
msgstr "Debian Wheezy and later (7+)"

#. type: textblock
#: ../docs/guestfs-faq.pod:307
msgid ""
"Hilko Bengen supports libguestfs on Debian.  Official Debian packages are "
"available: L<http://packages.debian.org/search?keywords=libguestfs>"
msgstr ""
"Hilko Bengen supports libguestfs on Debian.  Official Debian packages are "
"available: L<http://packages.debian.org/search?keywords=libguestfs>"

#. type: =item
#: ../docs/guestfs-faq.pod:311
msgid "Ubuntu"
msgstr "Ubuntu"

#. type: textblock
#: ../docs/guestfs-faq.pod:313
msgid ""
"We don’t have a full time Ubuntu maintainer, and the packages supplied by "
"Canonical (which are outside our control) are sometimes broken."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:316
msgid ""
"Canonical decided to change the permissions on the kernel so that it's not "
"readable except by root.  This is completely stupid, but they won't change "
"it (L<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725>).  So "
"every user should do this:"
msgstr ""
"Canonical decided to change the permissions on the kernel so that it's not "
"readable except by root.  This is completely stupid, but they won't change "
"it (L<https://bugs.launchpad.net/ubuntu/+source/linux/+bug/759725>).  So "
"every user should do this:"

#. type: =item
#: ../docs/guestfs-faq.pod:326
msgid "Ubuntu 12.04"
msgstr "Ubuntu 12.04"

#. type: textblock
#: ../docs/guestfs-faq.pod:328
msgid ""
"libguestfs in this version of Ubuntu works, but you need to update "
"febootstrap and seabios to the latest versions."
msgstr ""
"libguestfs in this version of Ubuntu works, but you need to update "
"febootstrap and seabios to the latest versions."

#. type: textblock
#: ../docs/guestfs-faq.pod:331
msgid ""
"You need febootstrap E<ge> 3.14-2 from: L<http://packages.ubuntu.com/precise/"
"febootstrap>"
msgstr ""
"You need febootstrap E<ge> 3.14-2 from: L<http://packages.ubuntu.com/precise/"
"febootstrap>"

#. type: textblock
#: ../docs/guestfs-faq.pod:334
msgid "After installing or updating febootstrap, rebuild the appliance:"
msgstr "After installing or updating febootstrap, rebuild the appliance:"

#. type: textblock
#: ../docs/guestfs-faq.pod:338
msgid ""
"You need seabios E<ge> 0.6.2-0ubuntu2.1 or E<ge> 0.6.2-0ubuntu3 from: "
"L<http://packages.ubuntu.com/precise-updates/seabios> or L<http://packages."
"ubuntu.com/quantal/seabios>"
msgstr ""
"You need seabios E<ge> 0.6.2-0ubuntu2.1 or E<ge> 0.6.2-0ubuntu3 from: "
"L<http://packages.ubuntu.com/precise-updates/seabios> or L<http://packages."
"ubuntu.com/quantal/seabios>"

#. type: textblock
#: ../docs/guestfs-faq.pod:343
msgid "Also you need to do (see above):"
msgstr "Also you need to do (see above):"

#. type: =item
#: ../docs/guestfs-faq.pod:351
msgid "Gentoo"
msgstr "Gentoo"

#. type: textblock
#: ../docs/guestfs-faq.pod:353
msgid ""
"Libguestfs was added to Gentoo in 2012-07 by Andreis Vinogradovs "
"(libguestfs) and Maxim Koltsov (mainly hivex).  Do:"
msgstr ""
"Libguestfs was added to Gentoo in 2012-07 by Andreis Vinogradovs "
"(libguestfs) and Maxim Koltsov (mainly hivex).  Do:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:356
#, no-wrap
msgid ""
" emerge libguestfs\n"
"\n"
msgstr ""
" emerge libguestfs\n"
"\n"

#. type: =item
#: ../docs/guestfs-faq.pod:358
msgid "SuSE"
msgstr "SuSE"

#. type: textblock
#: ../docs/guestfs-faq.pod:360
msgid "Libguestfs was added to SuSE in 2012 by Olaf Hering."
msgstr "Libguestfs was added to SuSE in 2012 by Olaf Hering."

#. type: =item
#: ../docs/guestfs-faq.pod:362
msgid "ArchLinux"
msgstr "ArchLinux"

#. type: textblock
#: ../docs/guestfs-faq.pod:364
msgid "Libguestfs was added to the AUR in 2010."
msgstr "Libguestfs was added to the AUR in 2010."

#. type: =item
#: ../docs/guestfs-faq.pod:366
msgid "Other Linux distro"
msgstr "Other Linux distro"

#. type: textblock
#: ../docs/guestfs-faq.pod:368
msgid "Compile from source (next section)."
msgstr "Compile from source (next section)."

#. type: =item
#: ../docs/guestfs-faq.pod:370
msgid "Other non-Linux distro"
msgstr "Other non-Linux distro"

#. type: textblock
#: ../docs/guestfs-faq.pod:372
msgid "You'll have to compile from source, and port it."
msgstr "You'll have to compile from source, and port it."

#. type: =head2
#: ../docs/guestfs-faq.pod:376
msgid "How can I compile and install libguestfs from source?"
msgstr "How can I compile and install libguestfs from source?"

#. type: textblock
#: ../docs/guestfs-faq.pod:378
msgid ""
"You can compile libguestfs from git or a source tarball.  Read the README "
"file before starting."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:381
msgid ""
"Git: L<https://github.com/libguestfs/libguestfs> Source tarballs: L<http://"
"libguestfs.org/download>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:384 ../docs/guestfs-faq.pod:418
msgid ""
"Don’t run C<make install>! Use the C<./run> script instead (see README)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:386
msgid ""
"How can I compile and install libguestfs if my distro doesn't have new "
"enough qemu/supermin/kernel?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:389
msgid ""
"Libguestfs needs supermin 5.  If supermin 5 hasn't been ported to your "
"distro, then see the question below."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:392
msgid ""
"First compile qemu, supermin and/or the kernel from source.  You do I<not> "
"need to C<make install> them."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:395
msgid ""
"In the libguestfs source directory, create two files.  C<localconfigure> "
"should contain:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:398
#, no-wrap
msgid ""
" source localenv\n"
" #export PATH=/tmp/qemu/x86_64-softmmu:$PATH\n"
" ./autogen.sh --prefix /usr \"$@\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:402
msgid "Make C<localconfigure> executable."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:404
msgid "C<localenv> should contain:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:406
#, no-wrap
msgid ""
" #export SUPERMIN=/tmp/supermin/src/supermin\n"
" #export LIBGUESTFS_HV=/tmp/qemu/x86_64-softmmu/qemu-system-x86_64\n"
" #export SUPERMIN_KERNEL=/tmp/linux/arch/x86/boot/bzImage\n"
" #export SUPERMIN_KERNEL_VERSION=4.XX.0\n"
" #export SUPERMIN_MODULES=/tmp/lib/modules/4.XX.0\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:412
msgid ""
"Uncomment and adjust these lines as required to use the alternate programs "
"you have compiled."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:415
msgid ""
"Use C<./localconfigure> instead of C<./configure>, but otherwise you compile "
"libguestfs as usual."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:420
msgid "How can I compile and install libguestfs without supermin?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:422
msgid ""
"If supermin 5 supports your distro, but you don’t happen to have a new "
"enough supermin installed, then see the previous question."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:425
msgid ""
"If supermin 5 doesn't support your distro at all, you will need to use the "
"\"fixed appliance method\" where you use a pre-compiled binary appliance.  "
"To build libguestfs without supermin, you need to pass C<--disable-appliance "
"--disable-daemon> to either F<./autogen.sh> or F<./configure> (depending "
"whether you are building respectively from git or from tarballs).  Then, "
"when using libguestfs, you B<must> set the C<LIBGUESTFS_PATH> environment "
"variable to the directory of a pre-compiled appliance, as also described in "
"L<guestfs-internals(1)/FIXED APPLIANCE>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:435
msgid ""
"For pre-compiled appliances, see also: L<http://libguestfs.org/download/"
"binaries/appliance/>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:438
msgid "Patches to port supermin to more Linux distros are welcome."
msgstr "Patches to port supermin to more Linux distros are welcome."

#. type: =head2
#: ../docs/guestfs-faq.pod:440
msgid "How can I add support for sVirt?"
msgstr "How can I add support for sVirt?"

#. type: textblock
#: ../docs/guestfs-faq.pod:442
msgid ""
"B<Note for Fedora/RHEL users:> This configuration is the default starting "
"with S<Fedora 18> and S<RHEL 7>.  If you find any problems, please let us "
"know or file a bug."
msgstr ""
"B<Note for Fedora/RHEL users:> This configuration is the default starting "
"with S<Fedora 18> and S<RHEL 7>.  If you find any problems, please let us "
"know or file a bug."

#. type: textblock
#: ../docs/guestfs-faq.pod:446
msgid ""
"L<SVirt|http://selinuxproject.org/page/SVirt> provides a hardened appliance "
"using SELinux, making it very hard for a rogue disk image to \"escape\" from "
"the confinement of libguestfs and damage the host (it's fair to say that "
"even in standard libguestfs this would be hard, but sVirt provides an extra "
"layer of protection for the host and more importantly protects virtual "
"machines on the same host from each other)."
msgstr ""
"L<SVirt|http://selinuxproject.org/page/SVirt> provides a hardened appliance "
"using SELinux, making it very hard for a rogue disk image to \"escape\" from "
"the confinement of libguestfs and damage the host (it's fair to say that "
"even in standard libguestfs this would be hard, but sVirt provides an extra "
"layer of protection for the host and more importantly protects virtual "
"machines on the same host from each other)."

#. type: textblock
#: ../docs/guestfs-faq.pod:454
msgid ""
"Currently to enable sVirt you will need libvirt E<ge> 0.10.2 (1.0 or later "
"preferred), libguestfs E<ge> 1.20, and the SELinux policies from recent "
"Fedora.  If you are not running S<Fedora 18+>, you will need to make changes "
"to your SELinux policy - contact us on the mailing list."
msgstr ""
"Currently to enable sVirt you will need libvirt E<ge> 0.10.2 (1.0 or later "
"preferred), libguestfs E<ge> 1.20, and the SELinux policies from recent "
"Fedora.  If you are not running S<Fedora 18+>, you will need to make changes "
"to your SELinux policy - contact us on the mailing list."

#. type: textblock
#: ../docs/guestfs-faq.pod:459
msgid "Once you have the requirements, do:"
msgstr "Once you have the requirements, do:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:461
#, no-wrap
msgid ""
" ./configure --with-default-backend=libvirt       # libguestfs >= 1.22\n"
" ./configure --with-default-attach-method=libvirt # libguestfs <= 1.20\n"
" make\n"
"\n"
msgstr ""
" ./configure --with-default-backend=libvirt       # libguestfs >= 1.22\n"
" ./configure --with-default-attach-method=libvirt # libguestfs <= 1.20\n"
" make\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:465
msgid "Set SELinux to Enforcing mode, and sVirt should be used automatically."
msgstr "Set SELinux to Enforcing mode, and sVirt should be used automatically."

#. type: textblock
#: ../docs/guestfs-faq.pod:467
msgid ""
"All, or almost all, features of libguestfs should work under sVirt.  There "
"is one known shortcoming: L<virt-rescue(1)> will not use libvirt (hence "
"sVirt), but falls back to direct launch of qemu.  So you won't currently get "
"the benefit of sVirt protection when using virt-rescue."
msgstr ""
"All, or almost all, features of libguestfs should work under sVirt.  There "
"is one known shortcoming: L<virt-rescue(1)> will not use libvirt (hence "
"sVirt), but falls back to direct launch of qemu.  So you won't currently get "
"the benefit of sVirt protection when using virt-rescue."

#. type: textblock
#: ../docs/guestfs-faq.pod:472
msgid ""
"You can check if sVirt is being used by enabling libvirtd logging (see F</"
"etc/libvirt/libvirtd.log>), killing and restarting libvirtd, and checking "
"the log files for S<\"Setting SELinux context on ...\"> messages."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:476
msgid ""
"In theory sVirt should support AppArmor, but we have not tried it.  It will "
"almost certainly require patching libvirt and writing an AppArmor policy."
msgstr ""
"In theory sVirt should support AppArmor, but we have not tried it.  It will "
"almost certainly require patching libvirt and writing an AppArmor policy."

#. type: =head2
#: ../docs/guestfs-faq.pod:480
msgid "Libguestfs has a really long list of dependencies!"
msgstr "Libguestfs has a really long list of dependencies!"

#. type: textblock
#: ../docs/guestfs-faq.pod:482
msgid ""
"The base library doesn't depend on very much, but there are three causes of "
"the long list of other dependencies:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:489
msgid ""
"Libguestfs has to be able to read and edit many different disk formats.  For "
"example, XFS support requires XFS tools."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:494
msgid ""
"There are language bindings for many different languages, all requiring "
"their own development tools.  All language bindings (except C) are optional."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:500
msgid "There are some optional library features which can be disabled."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:504
msgid ""
"Since libguestfs E<ge> 1.26 it is possible to split up the appliance "
"dependencies (item 1 in the list above) and thus have (eg)  C<libguestfs-"
"xfs> as a separate subpackage for processing XFS disk images.  We encourage "
"downstream packagers to start splitting the base libguestfs package into "
"smaller subpackages."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:510
msgid "Errors during launch on Fedora E<ge> 18, RHEL E<ge> 7"
msgstr "Errors during launch on Fedora E<ge> 18, RHEL E<ge> 7"

#. type: textblock
#: ../docs/guestfs-faq.pod:512
msgid ""
"In Fedora E<ge> 18 and RHEL E<ge> 7, libguestfs uses libvirt to manage the "
"appliance.  Previously (and upstream) libguestfs runs qemu directly:"
msgstr ""
"In Fedora E<ge> 18 and RHEL E<ge> 7, libguestfs uses libvirt to manage the "
"appliance.  Previously (and upstream) libguestfs runs qemu directly:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:516
#, no-wrap
msgid ""
" ┌──────────────────────────────────┐\n"
" │ libguestfs                       │\n"
" ├────────────────┬─────────────────┤\n"
" │ direct backend │ libvirt backend │\n"
" └────────────────┴─────────────────┘\n"
"        ↓                  ↓\n"
"    ┌───────┐         ┌──────────┐\n"
"    │ qemu  │         │ libvirtd │\n"
"    └───────┘         └──────────┘\n"
"                           ↓\n"
"                       ┌───────┐\n"
"                       │ qemu  │\n"
"                       └───────┘\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:530
#, no-wrap
msgid ""
"    upstream          Fedora 18+\n"
"    non-Fedora         RHEL 7+\n"
"    non-RHEL\n"
"\n"
msgstr ""
"    upstream          Fedora 18+\n"
"    non-Fedora         RHEL 7+\n"
"    non-RHEL\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:534
msgid ""
"The libvirt backend is more sophisticated, supporting SELinux/sVirt (see "
"above), hotplugging and more.  It is, however, more complex and so less "
"robust."
msgstr ""
"The libvirt backend is more sophisticated, supporting SELinux/sVirt (see "
"above), hotplugging and more.  It is, however, more complex and so less "
"robust."

#. type: textblock
#: ../docs/guestfs-faq.pod:538
msgid ""
"If you have permissions problems using the libvirt backend, you can switch "
"to the direct backend by setting this environment variable:"
msgstr ""
"If you have permissions problems using the libvirt backend, you can switch "
"to the direct backend by setting this environment variable:"

#. type: textblock
#: ../docs/guestfs-faq.pod:543
msgid "before running any libguestfs program or virt tool."
msgstr "before running any libguestfs program or virt tool."

#. type: =head2
#: ../docs/guestfs-faq.pod:545
msgid "How can I switch to a fixed / prebuilt appliance?"
msgstr "How can I switch to a fixed / prebuilt appliance?"

#. type: textblock
#: ../docs/guestfs-faq.pod:547
msgid ""
"This may improve the stability and performance of libguestfs on Fedora and "
"RHEL."
msgstr ""
"This may improve the stability and performance of libguestfs on Fedora and "
"RHEL."

#. type: textblock
#: ../docs/guestfs-faq.pod:550
msgid ""
"Any time after installing libguestfs, run the following commands as root:"
msgstr ""
"Any time after installing libguestfs, run the following commands as root:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:553
#, no-wrap
msgid ""
" mkdir -p /usr/local/lib/guestfs/appliance\n"
" libguestfs-make-fixed-appliance /usr/local/lib/guestfs/appliance\n"
" ls -l /usr/local/lib/guestfs/appliance\n"
"\n"
msgstr ""
" mkdir -p /usr/local/lib/guestfs/appliance\n"
" libguestfs-make-fixed-appliance /usr/local/lib/guestfs/appliance\n"
" ls -l /usr/local/lib/guestfs/appliance\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:557
msgid ""
"Now set the following environment variable before using libguestfs or any "
"virt tool:"
msgstr ""
"Now set the following environment variable before using libguestfs or any "
"virt tool:"

#. type: textblock
#: ../docs/guestfs-faq.pod:562
msgid ""
"Of course you can change the path to any directory you want.  You can share "
"the appliance across machines that have the same architecture (eg. all "
"x86-64), but note that libvirt will prevent you from sharing the appliance "
"across NFS because of permissions problems (so either switch to the direct "
"backend or don't use NFS)."
msgstr ""
"Of course you can change the path to any directory you want.  You can share "
"the appliance across machines that have the same architecture (eg. all "
"x86-64), but note that libvirt will prevent you from sharing the appliance "
"across NFS because of permissions problems (so either switch to the direct "
"backend or don't use NFS)."

#. type: =head2
#: ../docs/guestfs-faq.pod:568
msgid "How can I speed up libguestfs builds?"
msgstr "How can I speed up libguestfs builds?"

#. type: textblock
#: ../docs/guestfs-faq.pod:570
msgid ""
"By far the most important thing you can do is to install and properly "
"configure Squid.  Note that the default configuration that ships with Squid "
"is rubbish, so configuring it is not optional."
msgstr ""
"By far the most important thing you can do is to install and properly "
"configure Squid.  Note that the default configuration that ships with Squid "
"is rubbish, so configuring it is not optional."

#. type: textblock
#: ../docs/guestfs-faq.pod:574
msgid ""
"A very good place to start with Squid configuration is here: L<https://"
"fedoraproject.org/wiki/Extras/"
"MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads>"
msgstr ""
"A very good place to start with Squid configuration is here: L<https://"
"fedoraproject.org/wiki/Extras/"
"MockTricks#Using_Squid_to_Speed_Up_Mock_package_downloads>"

#. type: textblock
#: ../docs/guestfs-faq.pod:577
msgid ""
"Make sure Squid is running, and that the environment variables C<"
"$http_proxy> and C<$ftp_proxy> are pointing to it."
msgstr ""
"Make sure Squid is running, and that the environment variables C<"
"$http_proxy> and C<$ftp_proxy> are pointing to it."

#. type: textblock
#: ../docs/guestfs-faq.pod:580
msgid ""
"With Squid running and correctly configured, appliance builds should be "
"reduced to a few minutes."
msgstr ""
"With Squid running and correctly configured, appliance builds should be "
"reduced to a few minutes."

#. type: =head3
#: ../docs/guestfs-faq.pod:583
msgid "How can I speed up libguestfs builds (Debian)?"
msgstr "How can I speed up libguestfs builds (Debian)?"

#. type: textblock
#: ../docs/guestfs-faq.pod:585
msgid ""
"Hilko Bengen suggests using \"approx\" which is a Debian archive proxy "
"(L<http://packages.debian.org/approx>).  This tool is documented on Debian "
"in the approx(8) manual page."
msgstr ""
"Hilko Bengen suggests using \"approx\" which is a Debian archive proxy "
"(L<http://packages.debian.org/approx>).  This tool is documented on Debian "
"in the approx(8) manual page."

#. type: =head1
#: ../docs/guestfs-faq.pod:589
msgid "SPEED, DISK SPACE USED BY LIBGUESTFS"
msgstr "SPEED, DISK SPACE USED BY LIBGUESTFS"

#. type: textblock
#: ../docs/guestfs-faq.pod:591
msgid ""
"B<Note:> Most of the information in this section has moved: L<guestfs-"
"performance(1)>."
msgstr ""
"B<Note:> Most of the information in this section has moved: L<guestfs-"
"performance(1)>."

#. type: =head2
#: ../docs/guestfs-faq.pod:594
msgid "Upload or write seem very slow."
msgstr "Upload or write seem very slow."

#. type: textblock
#: ../docs/guestfs-faq.pod:596
msgid ""
"If the underlying disk is not fully allocated (eg. sparse raw or qcow2) then "
"writes can be slow because the host operating system has to do costly disk "
"allocations while you are writing. The solution is to use a fully allocated "
"format instead, ie. non-sparse raw, or qcow2 with the "
"C<preallocation=metadata> option."
msgstr ""
"If the underlying disk is not fully allocated (eg. sparse raw or qcow2) then "
"writes can be slow because the host operating system has to do costly disk "
"allocations while you are writing. The solution is to use a fully allocated "
"format instead, ie. non-sparse raw, or qcow2 with the "
"C<preallocation=metadata> option."

#. type: =head2
#: ../docs/guestfs-faq.pod:602
msgid "Libguestfs uses too much disk space!"
msgstr "Libguestfs uses too much disk space!"

#. type: textblock
#: ../docs/guestfs-faq.pod:604
msgid "libguestfs caches a large-ish appliance in:"
msgstr "libguestfs caches a large-ish appliance in:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:606
#, no-wrap
msgid ""
" /var/tmp/.guestfs-<UID>\n"
"\n"
msgstr ""
" /var/tmp/.guestfs-<UID>\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:608
msgid ""
"If the environment variable C<TMPDIR> is defined, then F<$TMPDIR/.guestfs-"
"E<lt>UIDE<gt>> is used instead."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:611
msgid "It is safe to delete this directory when you are not using libguestfs."
msgstr "It is safe to delete this directory when you are not using libguestfs."

#. type: =head2
#: ../docs/guestfs-faq.pod:613
msgid ""
"virt-sparsify seems to make the image grow to the full size of the virtual "
"disk"
msgstr ""
"virt-sparsify seems to make the image grow to the full size of the virtual "
"disk"

#. type: textblock
#: ../docs/guestfs-faq.pod:616
msgid ""
"If the input to L<virt-sparsify(1)> is raw, then the output will be raw "
"sparse.  Make sure you are measuring the output with a tool which "
"understands sparseness such as C<du -sh>.  It can make a huge difference:"
msgstr ""
"If the input to L<virt-sparsify(1)> is raw, then the output will be raw "
"sparse.  Make sure you are measuring the output with a tool which "
"understands sparseness such as C<du -sh>.  It can make a huge difference:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:620 ../sparsify/virt-sparsify.pod:35
#, no-wrap
msgid ""
" $ ls -lh test1.img\n"
" -rw-rw-r--. 1 rjones rjones 100M Aug  8 08:08 test1.img\n"
" $ du -sh test1.img\n"
" 3.6M\ttest1.img\n"
"\n"
msgstr ""
" $ ls -lh test1.img\n"
" -rw-rw-r--. 1 rjones rjones 100M Aug  8 08:08 test1.img\n"
" $ du -sh test1.img\n"
" 3.6M\ttest1.img\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:625 ../sparsify/virt-sparsify.pod:40
msgid "(Compare the apparent size B<100M> vs the actual size B<3.6M>)"
msgstr "(Compare the apparent size B<100M> vs the actual size B<3.6M>)"

#. type: textblock
#: ../docs/guestfs-faq.pod:627
msgid ""
"If all this confuses you, use a non-sparse output format by specifying the "
"I<--convert> option, eg:"
msgstr ""
"If all this confuses you, use a non-sparse output format by specifying the "
"I<--convert> option, eg:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:630
#, no-wrap
msgid ""
" virt-sparsify --convert qcow2 disk.raw disk.qcow2\n"
"\n"
msgstr ""
" virt-sparsify --convert qcow2 disk.raw disk.qcow2\n"
"\n"

#. type: =head2
#: ../docs/guestfs-faq.pod:632
msgid "Why doesn't virt-resize work on the disk image in-place?"
msgstr "Why doesn't virt-resize work on the disk image in-place?"

#. type: textblock
#: ../docs/guestfs-faq.pod:634
msgid ""
"Resizing a disk image is very tricky -- especially making sure that you "
"don't lose data or break the bootloader.  The current method effectively "
"creates a new disk image and copies the data plus bootloader from the old "
"one.  If something goes wrong, you can always go back to the original."
msgstr ""
"Resizing a disk image is very tricky -- especially making sure that you "
"don't lose data or break the bootloader.  The current method effectively "
"creates a new disk image and copies the data plus bootloader from the old "
"one.  If something goes wrong, you can always go back to the original."

#. type: textblock
#: ../docs/guestfs-faq.pod:640
msgid ""
"If we were to make virt-resize work in-place then there would have to be "
"limitations: for example, you wouldn't be allowed to move existing "
"partitions (because moving data across the same disk is most likely to "
"corrupt data in the event of a power failure or crash), and LVM would be "
"very difficult to support (because of the almost arbitrary mapping between "
"LV content and underlying disk blocks)."
msgstr ""
"If we were to make virt-resize work in-place then there would have to be "
"limitations: for example, you wouldn't be allowed to move existing "
"partitions (because moving data across the same disk is most likely to "
"corrupt data in the event of a power failure or crash), and LVM would be "
"very difficult to support (because of the almost arbitrary mapping between "
"LV content and underlying disk blocks)."

#. type: textblock
#: ../docs/guestfs-faq.pod:647
msgid ""
"Another method we have considered is to place a snapshot over the original "
"disk image, so that the original data is untouched and only differences are "
"recorded in the snapshot.  You can do this today using C<qemu-img create> + "
"C<virt-resize>, but qemu currently isn't smart enough to recognize when the "
"same block is written back to the snapshot as already exists in the backing "
"disk, so you will find that this doesn't save you any space or time."
msgstr ""
"Another method we have considered is to place a snapshot over the original "
"disk image, so that the original data is untouched and only differences are "
"recorded in the snapshot.  You can do this today using C<qemu-img create> + "
"C<virt-resize>, but qemu currently isn't smart enough to recognise when the "
"same block is written back to the snapshot as already exists in the backing "
"disk, so you will find that this doesn't save you any space or time."

#. type: textblock
#: ../docs/guestfs-faq.pod:655
msgid ""
"In summary, this is a hard problem, and what we have now mostly works so we "
"are reluctant to change it."
msgstr ""
"In summary, this is a hard problem, and what we have now mostly works so we "
"are reluctant to change it."

#. type: =head2
#: ../docs/guestfs-faq.pod:658
msgid "Why doesn't virt-sparsify work on the disk image in-place?"
msgstr "Why doesn't virt-sparsify work on the disk image in-place?"

#. type: textblock
#: ../docs/guestfs-faq.pod:660
msgid ""
"In libguestfs E<ge> 1.26, virt-sparsify can now work on disk images in "
"place.  Use:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:663 ../sparsify/virt-sparsify.pod:112
#: ../sparsify/virt-sparsify.pod:347
#, no-wrap
msgid ""
" virt-sparsify --in-place disk.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:665
msgid "But first you should read L<virt-sparsify(1)/IN-PLACE SPARSIFICATION>."
msgstr ""

#. type: =head1
#: ../docs/guestfs-faq.pod:667
msgid "PROBLEMS OPENING DISK IMAGES"
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:669
msgid "Remote libvirt guests cannot be opened."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:671
msgid ""
"Opening remote libvirt guests is not supported at this time.  For example "
"this won't work:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:674
#, no-wrap
msgid ""
" guestfish -c qemu://remote/system -d Guest\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:676
msgid ""
"To open remote disks you have to export them somehow, then connect to the "
"export.  For example if you decided to use NBD:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:679
#, no-wrap
msgid ""
" remote$ qemu-nbd -t -p 10809 guest.img\n"
"  local$ guestfish -a nbd://remote:10809 -i\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:682
msgid ""
"Other possibilities include ssh (if qemu is recent enough), NFS or iSCSI.  "
"See L<guestfs(3)/REMOTE STORAGE>."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:685
msgid "How can I open this strange disk source?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:687
msgid ""
"You have a disk image located inside another system that requires access via "
"a library / HTTP / REST / proprietary API, or is compressed or archived in "
"some way.  (One example would be remote access to OpenStack glance images "
"without actually downloading them.)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:692
msgid ""
"We have a sister project called nbdkit (L<https://github.com/libguestfs/"
"nbdkit>).  This project lets you turn any disk source into an NBD server.  "
"Libguestfs can access NBD servers directly, eg:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:697
#, no-wrap
msgid ""
" guestfish -a nbd://remote\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:699
msgid ""
"nbdkit is liberally licensed, so you can link it to or include it in "
"proprietary libraries and code.  It also has a simple, stable plugin API so "
"you can easily write plugins against the API which will continue to work in "
"future."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:704
msgid ""
"Error opening VMDK disks: \"uses a vmdk feature which is not supported by "
"this qemu version: VMDK version 3\""
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:706
msgid ""
"Qemu (and hence libguestfs) only supports certain VMDK disk images.  Others "
"won't work, giving this or similar errors."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:709
msgid ""
"Ideally someone would fix qemu to support the latest VMDK features, but in "
"the meantime you have three options:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:716
msgid ""
"If the guest is hosted on a live, reachable ESX server, then locate and "
"download the disk image called F<I<somename>-flat.vmdk>.  Despite the name, "
"this is a raw disk image, and can be opened by anything."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:720
msgid ""
"If you have a recent enough version of qemu and libguestfs, then you may be "
"able to access this disk image remotely using either HTTPS or ssh.  See "
"L<guestfs(3)/REMOTE STORAGE>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:726
msgid ""
"Use VMware’s proprietary vdiskmanager tool to convert the image to raw "
"format."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:731
msgid ""
"Use nbdkit with the proprietary VDDK plugin to live export the disk image as "
"an NBD source.  This should allow you to read and write the VMDK file."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:737
msgid "UFS disks (as used by BSD) cannot be opened."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:739
msgid ""
"The UFS filesystem format has many variants, and these are not self-"
"identifying.  The Linux kernel has to be told which variant of UFS it has to "
"use, which libguestfs cannot know."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:743
msgid ""
"You have to pass the right C<ufstype> mount option when mounting these "
"filesystems."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:746
msgid "See L<https://www.kernel.org/doc/Documentation/filesystems/ufs.txt>"
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:748
msgid "Windows ReFS"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:750
msgid ""
"Windows ReFS is Microsoft’s ZFS/Btrfs copy.  This filesystem has not yet "
"been reverse engineered and implemented in the Linux kernel, and therefore "
"libguestfs doesn't support it.  At the moment it seems to be very rare \"in "
"the wild\"."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:755
msgid "Non-ASCII characters don’t appear on VFAT filesystems."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:757
msgid "Typical symptoms of this problem:"
msgstr "Typical symptoms of this problem:"

#. type: textblock
#: ../docs/guestfs-faq.pod:763
msgid ""
"You get an error when you create a file where the filename contains non-"
"ASCII characters, particularly non 8-bit characters from Asian languages "
"(Chinese, Japanese, etc).  The filesystem is VFAT."
msgstr ""
"You get an error when you create a file where the filename contains non-"
"ASCII characters, particularly non 8-bit characters from Asian languages "
"(Chinese, Japanese, etc).  The filesystem is VFAT."

#. type: textblock
#: ../docs/guestfs-faq.pod:769
msgid ""
"When you list a directory from a VFAT filesystem, filenames appear as "
"question marks."
msgstr ""
"When you list a directory from a VFAT filesystem, filenames appear as "
"question marks."

#. type: textblock
#: ../docs/guestfs-faq.pod:774
msgid "This is a design flaw of the GNU/Linux system."
msgstr "This is a design flaw of the GNU/Linux system."

#. type: textblock
#: ../docs/guestfs-faq.pod:776
msgid ""
"VFAT stores long filenames as UTF-16 characters.  When opening or returning "
"filenames, the Linux kernel has to translate these to some form of 8 bit "
"string.  UTF-8 would be the obvious choice, except for Linux users who "
"persist in using non-UTF-8 locales (the user’s locale is not known to the "
"kernel because it’s a function of libc)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:782
msgid ""
"Therefore you have to tell the kernel what translation you want done when "
"you mount the filesystem.  The two methods are the C<iocharset> parameter "
"(which is not relevant to libguestfs) and the C<utf8> flag."
msgstr ""
"Therefore you have to tell the kernel what translation you want done when "
"you mount the filesystem.  The two methods are the C<iocharset> parameter "
"(which is not relevant to libguestfs) and the C<utf8> flag."

#. type: textblock
#: ../docs/guestfs-faq.pod:786
msgid ""
"So to use a VFAT filesystem you must add the C<utf8> flag when mounting.  "
"From guestfish, use:"
msgstr ""
"So to use a VFAT filesystem you must add the C<utf8> flag when mounting.  "
"From guestfish, use:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:789
#, no-wrap
msgid ""
" ><fs> mount-options utf8 /dev/sda1 /\n"
"\n"
msgstr ""
" ><fs> mount-options utf8 /dev/sda1 /\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:791
msgid "or on the guestfish command line:"
msgstr "or on the guestfish command line:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:793
#, no-wrap
msgid ""
" guestfish [...] -m /dev/sda1:/:utf8\n"
"\n"
msgstr ""
" guestfish [...] -m /dev/sda1:/:utf8\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:795
msgid "or from the API:"
msgstr "or from the API:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:797
#, no-wrap
msgid ""
" guestfs_mount_options (g, \"utf8\", \"/dev/sda1\", \"/\");\n"
"\n"
msgstr ""
" guestfs_mount_options (g, \"utf8\", \"/dev/sda1\", \"/\");\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:799
msgid "The kernel will then translate filenames to and from UTF-8 strings."
msgstr "The kernel will then translate filenames to and from UTF-8 strings."

#. type: textblock
#: ../docs/guestfs-faq.pod:801
msgid ""
"We considered adding this mount option transparently, but unfortunately "
"there are several problems with doing that:"
msgstr ""
"We considered adding this mount option transparently, but unfortunately "
"there are several problems with doing that:"

#. type: textblock
#: ../docs/guestfs-faq.pod:808
msgid ""
"On some Linux systems, the C<utf8> mount option doesn't work.  We don't "
"precisely understand what systems or why, but this was reliably reported by "
"one user."
msgstr ""
"On some Linux systems, the C<utf8> mount option doesn't work.  We don't "
"precisely understand what systems or why, but this was reliably reported by "
"one user."

#. type: textblock
#: ../docs/guestfs-faq.pod:814
msgid ""
"It would prevent you from using the C<iocharset> parameter because it is "
"incompatible with C<utf8>.  It is probably not a good idea to use this "
"parameter, but we don't want to prevent it."
msgstr ""
"It would prevent you from using the C<iocharset> parameter because it is "
"incompatible with C<utf8>.  It is probably not a good idea to use this "
"parameter, but we don't want to prevent it."

#. type: =head2
#: ../docs/guestfs-faq.pod:820
msgid "Non-ASCII characters appear as underscore (_) on ISO9660 filesystems."
msgstr "Non-ASCII characters appear as underscore (_) on ISO9660 filesystems."

#. type: textblock
#: ../docs/guestfs-faq.pod:822
msgid ""
"The filesystem was not prepared correctly with mkisofs or genisoimage.  Make "
"sure the filesystem was created using Joliet and/or Rock Ridge extensions.  "
"libguestfs does not require any special mount options to handle the "
"filesystem."
msgstr ""
"The filesystem was not prepared correctly with mkisofs or genisoimage.  Make "
"sure the filesystem was created using Joliet and/or Rock Ridge extensions.  "
"libguestfs does not require any special mount options to handle the "
"filesystem."

#. type: =head2
#: ../docs/guestfs-faq.pod:827
msgid "Cannot open Windows guests which use NTFS."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:829
msgid "You see errors like:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:831
#, no-wrap
msgid ""
" mount: unknown filesystem type 'ntfs'\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:833
msgid ""
"On Red Hat Enterprise Linux or CentOS E<lt> 7.2, you have to install the "
"L<libguestfs-winsupport|https://people.redhat.com/~rjones/libguestfs-"
"winsupport/> package.  In RHEL E<ge> 7.2, C<libguestfs-winsupport> is part "
"of the base RHEL distribution, but see the next question."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:839
msgid "\"mount: unsupported filesystem type\" with NTFS in RHEL E<ge> 7.2"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:841
msgid ""
"In RHEL 7.2 we were able to add C<libguestfs-winsupport> to the base RHEL "
"distribution, but we had to disable the ability to use it for opening and "
"editing filesystems.  It is only supported when used with L<virt-v2v(1)>.  "
"If you try to use L<guestfish(1)> or L<guestmount(1)> or some other programs "
"on an NTFS filesystem, you will see the error:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:847
#, no-wrap
msgid ""
" mount: unsupported filesystem type\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:849
msgid ""
"This is not a supported configuration, and it will not be made to work in "
"RHEL.  Don't bother to open a bug about it, as it will be immediately "
"C<CLOSED -E<gt> WONTFIX>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:853
msgid ""
"You may L<compile your own libguestfs removing this restriction|https://www."
"redhat.com/archives/libguestfs/2016-February/msg00145.html>, but that won't "
"be endorsed or supported by Red Hat."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:857
msgid "Cannot open or inspect RHEL 7 guests."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:859
msgid "Cannot open Linux guests which use XFS."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:861
msgid ""
"RHEL 7 guests, and any other guests that use XFS, can be opened by "
"libguestfs, but you have to install the C<libguestfs-xfs> package."
msgstr ""

#. type: =head1
#: ../docs/guestfs-faq.pod:864
msgid "USING LIBGUESTFS IN YOUR OWN PROGRAMS"
msgstr "USING LIBGUESTFS IN YOUR OWN PROGRAMS"

#. type: =head2
#: ../docs/guestfs-faq.pod:866
msgid "The API has hundreds of methods, where do I start?"
msgstr "The API has hundreds of methods, where do I start?"

#. type: textblock
#: ../docs/guestfs-faq.pod:868
msgid ""
"We recommend you start by reading the API overview: L<guestfs(3)/API "
"OVERVIEW>."
msgstr ""
"We recommend you start by reading the API overview: L<guestfs(3)/API "
"OVERVIEW>."

#. type: textblock
#: ../docs/guestfs-faq.pod:871
msgid ""
"Although the API overview covers the C API, it is still worth reading even "
"if you are going to use another programming language, because the API is the "
"same, just with simple logical changes to the names of the calls:"
msgstr ""
"Although the API overview covers the C API, it is still worth reading even "
"if you are going to use another programming language, because the API is the "
"same, just with simple logical changes to the names of the calls:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:876
#, no-wrap
msgid ""
"                  C  guestfs_ln_sf (g, target, linkname);\n"
"             Python  g.ln_sf (target, linkname);\n"
"              OCaml  g#ln_sf target linkname;\n"
"               Perl  $g->ln_sf (target, linkname);\n"
"  Shell (guestfish)  ln-sf target linkname\n"
"                PHP  guestfs_ln_sf ($g, $target, $linkname);\n"
"\n"
msgstr ""
"                  C  guestfs_ln_sf (g, target, linkname);\n"
"             Python  g.ln_sf (target, linkname);\n"
"              OCaml  g#ln_sf target linkname;\n"
"               Perl  $g->ln_sf (target, linkname);\n"
"  Shell (guestfish)  ln-sf target linkname\n"
"                PHP  guestfs_ln_sf ($g, $target, $linkname);\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:883
msgid ""
"Once you're familiar with the API overview, you should look at this list of "
"starting points for other language bindings: L<guestfs(3)/USING LIBGUESTFS "
"WITH OTHER PROGRAMMING LANGUAGES>."
msgstr ""
"Once you're familiar with the API overview, you should look at this list of "
"starting points for other language bindings: L<guestfs(3)/USING LIBGUESTFS "
"WITH OTHER PROGRAMMING LANGUAGES>."

#. type: =head2
#: ../docs/guestfs-faq.pod:887
msgid ""
"Can I use libguestfs in my proprietary / closed source / commercial program?"
msgstr ""
"Can I use libguestfs in my proprietary / closed source / commercial program?"

#. type: textblock
#: ../docs/guestfs-faq.pod:890
msgid ""
"In general, yes.  However this is not legal advice - read the license that "
"comes with libguestfs, and if you have specific questions contact a lawyer."
msgstr ""
"In general, yes.  However this is not legal advice - read the license that "
"comes with libguestfs, and if you have specific questions contact a lawyer."

#. type: textblock
#: ../docs/guestfs-faq.pod:894
msgid ""
"In the source tree the license is in the file C<COPYING.LIB> (LGPLv2+ for "
"the library and bindings) and C<COPYING> (GPLv2+ for the standalone "
"programs)."
msgstr ""
"In the source tree the license is in the file C<COPYING.LIB> (LGPLv2+ for "
"the library and bindings) and C<COPYING> (GPLv2+ for the standalone "
"programs)."

#. type: textblock
#: ../docs/guestfs-faq.pod:900
msgid "<!-- old anchor for the next section --> <a name=\"debug\"/>"
msgstr "<!-- old anchor for the next section --> <a name=\"debug\"/>"

#. type: =head1
#: ../docs/guestfs-faq.pod:905
msgid "DEBUGGING LIBGUESTFS"
msgstr "DEBUGGING LIBGUESTFS"

#. type: =head2
#: ../docs/guestfs-faq.pod:907
msgid "Help, it’s not working!"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:909
msgid ""
"If no libguestfs program seems to work at all, run the program below and "
"paste the B<complete, unedited> output into an email to C<libguestfs> @ "
"C<redhat.com>:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:915
msgid ""
"If a particular operation fails, supply all the information in this "
"checklist, in an email to C<libguestfs> @ C<redhat.com>:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:922
msgid "What are you trying to do?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:926
msgid "What exact command(s) did you run?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:930
msgid "What was the precise error or output of these commands?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:934
msgid ""
"Enable debugging, run the commands again, and capture the B<complete> "
"output.  B<Do not edit the output.>"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:937
#, no-wrap
msgid ""
" export LIBGUESTFS_DEBUG=1\n"
" export LIBGUESTFS_TRACE=1\n"
"\n"
msgstr ""
" export LIBGUESTFS_DEBUG=1\n"
" export LIBGUESTFS_TRACE=1\n"
"\n"

#. type: =item
#: ../docs/guestfs-faq.pod:940 ../docs/internal-documentation.pod:315
#: ../docs/internal-documentation.pod:1511 ../rescue/virt-rescue.pod:444
msgid "5."
msgstr "5."

#. type: textblock
#: ../docs/guestfs-faq.pod:942
msgid ""
"Include the version of libguestfs, the operating system version, and how you "
"installed libguestfs (eg. from source, C<yum install>, etc.)"
msgstr ""
"Include the version of libguestfs, the operating system version, and how you "
"installed libguestfs (eg. from source, C<yum install>, etc.)"

#. type: =head2
#: ../docs/guestfs-faq.pod:947
#, fuzzy
#| msgid ""
#| "How do I debug when using any libguestfs program or tool (eg. virt-v2v or "
#| "virt-df)?"
msgid ""
"How do I debug when using any libguestfs program or tool (eg. virt-customize "
"or virt-df)?"
msgstr ""
"How do I debug when using any libguestfs program or tool (eg. virt-v2v or "
"virt-df)?"

#. type: textblock
#: ../docs/guestfs-faq.pod:950
msgid ""
"There are two C<LIBGUESTFS_*> environment variables you can set in order to "
"get more information from libguestfs."
msgstr ""
"There are two C<LIBGUESTFS_*> environment variables you can set in order to "
"get more information from libguestfs."

#. type: =item
#: ../docs/guestfs-faq.pod:955
msgid "C<LIBGUESTFS_TRACE>"
msgstr "C<LIBGUESTFS_TRACE>"

#. type: textblock
#: ../docs/guestfs-faq.pod:957
msgid ""
"Set this to 1 and libguestfs will print out each command / API call in a "
"format which is similar to guestfish commands."
msgstr ""
"Set this to 1 and libguestfs will print out each command / API call in a "
"format which is similar to guestfish commands."

#. type: =item
#: ../docs/guestfs-faq.pod:960
msgid "C<LIBGUESTFS_DEBUG>"
msgstr "C<LIBGUESTFS_DEBUG>"

#. type: textblock
#: ../docs/guestfs-faq.pod:962
msgid ""
"Set this to 1 in order to enable massive amounts of debug messages.  If you "
"think there is some problem inside the libguestfs appliance, then you should "
"use this option."
msgstr ""
"Set this to 1 in order to enable massive amounts of debug messages.  If you "
"think there is some problem inside the libguestfs appliance, then you should "
"use this option."

#. type: textblock
#: ../docs/guestfs-faq.pod:968
msgid "To set these from the shell, do this before running the program:"
msgstr "To set these from the shell, do this before running the program:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:970
#, no-wrap
msgid ""
" export LIBGUESTFS_TRACE=1\n"
" export LIBGUESTFS_DEBUG=1\n"
"\n"
msgstr ""
" export LIBGUESTFS_TRACE=1\n"
" export LIBGUESTFS_DEBUG=1\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:973
msgid "For csh/tcsh the equivalent commands would be:"
msgstr "For csh/tcsh the equivalent commands would be:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:975
#, no-wrap
msgid ""
" setenv LIBGUESTFS_TRACE 1\n"
" setenv LIBGUESTFS_DEBUG 1\n"
"\n"
msgstr ""
" setenv LIBGUESTFS_TRACE 1\n"
" setenv LIBGUESTFS_DEBUG 1\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:978
msgid "For further information, see: L<guestfs(3)/ENVIRONMENT VARIABLES>."
msgstr "For further information, see: L<guestfs(3)/ENVIRONMENT VARIABLES>."

#. type: =head2
#: ../docs/guestfs-faq.pod:980
msgid "How do I debug when using guestfish?"
msgstr "How do I debug when using guestfish?"

#. type: textblock
#: ../docs/guestfs-faq.pod:982
msgid ""
"You can use the same environment variables above.  Alternatively use the "
"guestfish options -x (to trace commands) or -v (to get the full debug "
"output), or both."
msgstr ""
"You can use the same environment variables above.  Alternatively use the "
"guestfish options -x (to trace commands) or -v (to get the full debug "
"output), or both."

#. type: textblock
#: ../docs/guestfs-faq.pod:986
msgid "For further information, see: L<guestfish(1)>."
msgstr "For further information, see: L<guestfish(1)>."

#. type: =head2
#: ../docs/guestfs-faq.pod:988
msgid "How do I debug when using the API?"
msgstr "How do I debug when using the API?"

#. type: textblock
#: ../docs/guestfs-faq.pod:990
msgid ""
"Call L<guestfs(3)/guestfs_set_trace> to enable command traces, and/or "
"L<guestfs(3)/guestfs_set_verbose> to enable debug messages."
msgstr ""
"Call L<guestfs(3)/guestfs_set_trace> to enable command traces, and/or "
"L<guestfs(3)/guestfs_set_verbose> to enable debug messages."

#. type: textblock
#: ../docs/guestfs-faq.pod:993
msgid ""
"For best results, call these functions as early as possible, just after "
"creating the guestfs handle if you can, and definitely before calling launch."
msgstr ""
"For best results, call these functions as early as possible, just after "
"creating the guestfs handle if you can, and definitely before calling launch."

#. type: =head2
#: ../docs/guestfs-faq.pod:997
msgid "How do I capture debug output and put it into my logging system?"
msgstr "How do I capture debug output and put it into my logging system?"

#. type: textblock
#: ../docs/guestfs-faq.pod:999
msgid ""
"Use the event API.  For examples, see: L<guestfs(3)/SETTING CALLBACKS TO "
"HANDLE EVENTS> and the F<examples/debug-logging.c> program in the libguestfs "
"sources."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1003
msgid "Digging deeper into the appliance boot process."
msgstr "Digging deeper into the appliance boot process."

#. type: textblock
#: ../docs/guestfs-faq.pod:1005
msgid ""
"Enable debugging and then read this documentation on the appliance boot "
"process: L<guestfs-internals(1)>."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1008
msgid "libguestfs hangs or fails during run/launch."
msgstr "libguestfs hangs or fails during run/launch."

#. type: textblock
#: ../docs/guestfs-faq.pod:1010
msgid ""
"Enable debugging and look at the full output.  If you cannot work out what "
"is going on, file a bug report, including the I<complete> output of "
"L<libguestfs-test-tool(1)>."
msgstr ""
"Enable debugging and look at the full output.  If you cannot work out what "
"is going on, file a bug report, including the I<complete> output of "
"L<libguestfs-test-tool(1)>."

#. type: =head2
#: ../docs/guestfs-faq.pod:1014
msgid "Debugging libvirt"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1016
msgid ""
"If you are using the libvirt backend, and libvirt is failing, then you can "
"enable debugging by editing F</etc/libvirt/libvirtd.conf>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1019
msgid ""
"If you are running as non-root, then you have to edit a different file.  "
"Create F<~/.config/libvirt/libvirtd.conf> containing:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:1022
#, no-wrap
msgid ""
" log_level=1\n"
" log_outputs=\"1:file:/tmp/libvirtd.log\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1025
msgid ""
"Kill any session (non-root) libvirtd that is running, and next time you run "
"the libguestfs command, you should see a large amount of useful debugging "
"information from libvirtd in F</tmp/libvirtd.log>"
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1029
msgid "Broken kernel, or trying a different kernel."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1031
msgid ""
"You can choose a different kernel for the appliance by setting some "
"L<supermin environment variables|supermin(8)/ENVIRONMENT VARIABLES>:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:1034
#, no-wrap
msgid ""
" export SUPERMIN_KERNEL_VERSION=4.8.0-1.fc25.x86_64\n"
" export SUPERMIN_KERNEL=/boot/vmlinuz-$SUPERMIN_KERNEL_VERSION\n"
" export SUPERMIN_MODULES=/lib/modules/$SUPERMIN_KERNEL_VERSION\n"
" rm -rf /var/tmp/.guestfs-*\n"
" libguestfs-test-tool\n"
"\n"
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1040
msgid "Broken qemu, or trying a different qemu."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1042
msgid ""
"You can choose a different qemu by setting the hypervisor L<environment "
"variable|guestfs(3)/ENVIRONMENT VARIABLES>:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:1045
#, no-wrap
msgid ""
" export LIBGUESTFS_HV=/path/to/qemu-system-x86_64\n"
" libguestfs-test-tool\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-faq.pod:1048
msgid "DESIGN/INTERNALS OF LIBGUESTFS"
msgstr "DESIGN/INTERNALS OF LIBGUESTFS"

#. type: textblock
#: ../docs/guestfs-faq.pod:1050
msgid "See also L<guestfs-internals(1)>."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1052
msgid "Why don’t you do everything through the FUSE / filesystem interface?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1055
msgid ""
"We offer a command called L<guestmount(1)> which lets you mount guest "
"filesystems on the host.  This is implemented as a FUSE module.  Why don't "
"we just implement the whole of libguestfs using this mechanism, instead of "
"having the large and rather complicated API?"
msgstr ""
"We offer a command called L<guestmount(1)> which lets you mount guest "
"filesystems on the host.  This is implemented as a FUSE module.  Why don't "
"we just implement the whole of libguestfs using this mechanism, instead of "
"having the large and rather complicated API?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1060
msgid ""
"The reasons are twofold.  Firstly, libguestfs offers API calls for doing "
"things like creating and deleting partitions and logical volumes, which "
"don't fit into a filesystem model very easily.  Or rather, you could fit "
"them in: for example, creating a partition could be mapped to C<mkdir /fs/"
"hda1> but then you'd have to specify some method to choose the size of the "
"partition (maybe C<echo 100M E<gt> /fs/hda1/.size>), and the partition type, "
"start and end sectors etc., but once you've done that the filesystem-based "
"API starts to look more complicated than the call-based API we currently "
"have."
msgstr ""
"The reasons are twofold.  Firstly, libguestfs offers API calls for doing "
"things like creating and deleting partitions and logical volumes, which "
"don't fit into a filesystem model very easily.  Or rather, you could fit "
"them in: for example, creating a partition could be mapped to C<mkdir /fs/"
"hda1> but then you'd have to specify some method to choose the size of the "
"partition (maybe C<echo 100M E<gt> /fs/hda1/.size>), and the partition type, "
"start and end sectors etc., but once you've done that the filesystem-based "
"API starts to look more complicated than the call-based API we currently "
"have."

#. type: textblock
#: ../docs/guestfs-faq.pod:1070
msgid ""
"The second reason is for efficiency.  FUSE itself is reasonably efficient, "
"but it does make lots of small, independent calls into the FUSE module.  In "
"guestmount these have to be translated into messages to the libguestfs "
"appliance which has a big overhead (in time and round trips).  For example, "
"reading a file in 64 KB chunks is inefficient because each chunk would turn "
"into a single round trip.  In the libguestfs API it is much more efficient "
"to download an entire file or directory through one of the streaming calls "
"like C<guestfs_download> or C<guestfs_tar_out>."
msgstr ""
"The second reason is for efficiency.  FUSE itself is reasonably efficient, "
"but it does make lots of small, independent calls into the FUSE module.  In "
"guestmount these have to be translated into messages to the libguestfs "
"appliance which has a big overhead (in time and round trips).  For example, "
"reading a file in 64 KB chunks is inefficient because each chunk would turn "
"into a single round trip.  In the libguestfs API it is much more efficient "
"to download an entire file or directory through one of the streaming calls "
"like C<guestfs_download> or C<guestfs_tar_out>."

#. type: =head2
#: ../docs/guestfs-faq.pod:1080
msgid "Why don’t you do everything through GVFS?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1082
msgid "The problems are similar to the problems with FUSE."
msgstr "The problems are similar to the problems with FUSE."

#. type: textblock
#: ../docs/guestfs-faq.pod:1084
msgid ""
"GVFS is a better abstraction than POSIX/FUSE.  There is an FTP backend for "
"GVFS, which is encouraging because FTP is conceptually similar to the "
"libguestfs API.  However the GVFS FTP backend makes multiple simultaneous "
"connections in order to keep interactivity, which we can't easily do with "
"libguestfs."
msgstr ""
"GVFS is a better abstraction than POSIX/FUSE.  There is an FTP backend for "
"GVFS, which is encouraging because FTP is conceptually similar to the "
"libguestfs API.  However the GVFS FTP backend makes multiple simultaneous "
"connections in order to keep interactivity, which we can't easily do with "
"libguestfs."

#. type: textblock
#: ../docs/guestfs-faq.pod:1092
msgid "<!-- old anchor for the next section --> <a name=\"backup\"/>"
msgstr "<!-- old anchor for the next section --> <a name=\"backup\"/>"

#. type: =head2
#: ../docs/guestfs-faq.pod:1097
msgid "Why can I write to the disk, even though I added it read-only?"
msgstr "Why can I write to the disk, even though I added it read-only?"

#. type: =head2
#: ../docs/guestfs-faq.pod:1099
msgid "Why does C<--ro> appear to have no effect?"
msgstr "Why does C<--ro> appear to have no effect?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1101
msgid ""
"When you add a disk read-only, libguestfs places a writable overlay on top "
"of the underlying disk.  Writes go into this overlay, and are discarded when "
"the handle is closed (or C<guestfish> etc. exits)."
msgstr ""
"When you add a disk read-only, libguestfs places a writable overlay on top "
"of the underlying disk.  Writes go into this overlay, and are discarded when "
"the handle is closed (or C<guestfish> etc. exits)."

#. type: textblock
#: ../docs/guestfs-faq.pod:1105
msgid ""
"There are two reasons for doing it this way: Firstly read-only disks aren't "
"possible in many cases (eg. IDE simply doesn't support them, so you couldn't "
"have an IDE-emulated read-only disk, although this is not common in real "
"libguestfs installations)."
msgstr ""
"There are two reasons for doing it this way: Firstly read-only disks aren't "
"possible in many cases (eg. IDE simply doesn't support them, so you couldn't "
"have an IDE-emulated read-only disk, although this is not common in real "
"libguestfs installations)."

#. type: textblock
#: ../docs/guestfs-faq.pod:1110
msgid ""
"Secondly and more importantly, even if read-only disks were possible, you "
"wouldn't want them.  Mounting any filesystem that has a journal, even "
"C<mount -o ro>, causes writes to the filesystem because the journal has to "
"be replayed and metadata updated.  If the disk was truly read-only, you "
"wouldn't be able to mount a dirty filesystem."
msgstr ""
"Secondly and more importantly, even if read-only disks were possible, you "
"wouldn't want them.  Mounting any filesystem that has a journal, even "
"C<mount -o ro>, causes writes to the filesystem because the journal has to "
"be replayed and metadata updated.  If the disk was truly read-only, you "
"wouldn't be able to mount a dirty filesystem."

#. type: textblock
#: ../docs/guestfs-faq.pod:1116
msgid ""
"To make it usable, we create the overlay as a place to temporarily store "
"these writes, and then we discard it afterwards.  This ensures that the "
"underlying disk is always untouched."
msgstr ""
"To make it usable, we create the overlay as a place to temporarily store "
"these writes, and then we discard it afterwards.  This ensures that the "
"underlying disk is always untouched."

#. type: textblock
#: ../docs/guestfs-faq.pod:1120
msgid ""
"Note also that there is a regression test for this when building libguestfs "
"(in C<tests/qemu>).  This is one reason why it’s important for packagers to "
"run the test suite."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1124
msgid "Does C<--ro> make all disks read-only?"
msgstr "Does C<--ro> make all disks read-only?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1126
msgid ""
"I<No!> The C<--ro> option only affects disks added on the command line, ie. "
"using C<-a> and C<-d> options."
msgstr ""
"I<No!> The C<--ro> option only affects disks added on the command line, ie. "
"using C<-a> and C<-d> options."

#. type: textblock
#: ../docs/guestfs-faq.pod:1129
msgid ""
"In guestfish, if you use the C<add> command, then disk is added read-write "
"(unless you specify the C<readonly:true> flag explicitly with the command)."
msgstr ""
"In guestfish, if you use the C<add> command, then disk is added read-write "
"(unless you specify the C<readonly:true> flag explicitly with the command)."

#. type: =head2
#: ../docs/guestfs-faq.pod:1133
msgid "Can I use C<guestfish --ro> as a way to backup my virtual machines?"
msgstr "Can I use C<guestfish --ro> as a way to backup my virtual machines?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1135
msgid ""
"Usually this is I<not> a good idea.  The question is answered in more detail "
"in this mailing list posting: L<https://www.redhat.com/archives/"
"libguestfs/2010-August/msg00024.html>"
msgstr ""
"Usually this is I<not> a good idea.  The question is answered in more detail "
"in this mailing list posting: L<https://www.redhat.com/archives/"
"libguestfs/2010-August/msg00024.html>"

#. type: textblock
#: ../docs/guestfs-faq.pod:1139
msgid "See also the next question."
msgstr "See also the next question."

#. type: =head2
#: ../docs/guestfs-faq.pod:1141
msgid "Why can’t I run fsck on a live filesystem using C<guestfish --ro>?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1143
msgid "This command will usually I<not> work:"
msgstr "This command will usually I<not> work:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:1145
#, no-wrap
msgid ""
" guestfish --ro -a /dev/vg/my_root_fs run : fsck /dev/sda\n"
"\n"
msgstr ""
" guestfish --ro -a /dev/vg/my_root_fs run : fsck /dev/sda\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:1147
msgid ""
"The reason for this is that qemu creates a snapshot over the original "
"filesystem, but it doesn't create a strict point-in-time snapshot.  Blocks "
"of data on the underlying filesystem are read by qemu at different times as "
"the fsck operation progresses, with host writes in between.  The result is "
"that fsck sees massive corruption (imaginary, not real!) and fails."
msgstr ""
"The reason for this is that qemu creates a snapshot over the original "
"filesystem, but it doesn't create a strict point-in-time snapshot.  Blocks "
"of data on the underlying filesystem are read by qemu at different times as "
"the fsck operation progresses, with host writes in between.  The result is "
"that fsck sees massive corruption (imaginary, not real!) and fails."

#. type: textblock
#: ../docs/guestfs-faq.pod:1154
msgid ""
"What you have to do is to create a point-in-time snapshot.  If it’s a "
"logical volume, use an LVM2 snapshot.  If the filesystem is located inside "
"something like a btrfs/ZFS file, use a btrfs/ZFS snapshot, and then run the "
"fsck on the snapshot.  In practice you don't need to use libguestfs for this "
"-- just run F</sbin/fsck> directly."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1160
msgid ""
"Creating point-in-time snapshots of host devices and files is outside the "
"scope of libguestfs, although libguestfs can operate on them once they are "
"created."
msgstr ""
"Creating point-in-time snapshots of host devices and files is outside the "
"scope of libguestfs, although libguestfs can operate on them once they are "
"created."

#. type: =head2
#: ../docs/guestfs-faq.pod:1164
msgid "What’s the difference between guestfish and virt-rescue?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1166
msgid ""
"A lot of people are confused by the two superficially similar tools we "
"provide:"
msgstr ""
"A lot of people are confused by the two superficially similar tools we "
"provide:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:1169
#, no-wrap
msgid ""
" $ guestfish --ro -a guest.img\n"
" ><fs> run\n"
" ><fs> fsck /dev/sda1\n"
"\n"
msgstr ""
" $ guestfish --ro -a guest.img\n"
" ><fs> run\n"
" ><fs> fsck /dev/sda1\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-faq.pod:1173
#, no-wrap
msgid ""
" $ virt-rescue --ro guest.img\n"
" ><rescue> /sbin/fsck /dev/sda1\n"
"\n"
msgstr ""
" $ virt-rescue --ro guest.img\n"
" ><rescue> /sbin/fsck /dev/sda1\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:1176
msgid ""
"And the related question which then arises is why you can’t type in full "
"shell commands with all the --options in guestfish (but you can in L<virt-"
"rescue(1)>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1180
msgid ""
"L<guestfish(1)> is a program providing structured access to the "
"L<guestfs(3)> API.  It happens to be a nice interactive shell too, but its "
"primary purpose is structured access from shell scripts.  Think of it more "
"like a language binding, like Python and other bindings, but for shell.  The "
"key differentiating factor of guestfish (and the libguestfs API in general) "
"is the ability to automate changes."
msgstr ""
"L<guestfish(1)> is a program providing structured access to the "
"L<guestfs(3)> API.  It happens to be a nice interactive shell too, but its "
"primary purpose is structured access from shell scripts.  Think of it more "
"like a language binding, like Python and other bindings, but for shell.  The "
"key differentiating factor of guestfish (and the libguestfs API in general) "
"is the ability to automate changes."

#. type: textblock
#: ../docs/guestfs-faq.pod:1187
msgid ""
"L<virt-rescue(1)> is a free-for-all freeform way to boot the libguestfs "
"appliance and make arbitrary changes to your VM. It’s not structured, you "
"can't automate it, but for making quick ad-hoc fixes to your guests, it can "
"be quite useful."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1192
msgid ""
"But, libguestfs also has a \"backdoor\" into the appliance allowing you to "
"send arbitrary shell commands.  It’s not as flexible as virt-rescue, because "
"you can't interact with the shell commands, but here it is anyway:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:1197
#, no-wrap
msgid ""
" ><fs> debug sh \"cmd arg1 arg2 ...\"\n"
"\n"
msgstr ""
" ><fs> debug sh \"cmd arg1 arg2 ...\"\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:1199
msgid ""
"Note that you should B<not> rely on this.  It could be removed or changed in "
"future. If your program needs some operation, please add it to the "
"libguestfs API instead."
msgstr ""
"Note that you should B<not> rely on this.  It could be removed or changed in "
"future. If your program needs some operation, please add it to the "
"libguestfs API instead."

#. type: =head2
#: ../docs/guestfs-faq.pod:1203
msgid "What’s the deal with C<guestfish -i>?"
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1205
msgid ""
"Why does virt-cat only work on a real VM image, but virt-df works on any "
"disk image?"
msgstr ""
"Why does virt-cat only work on a real VM image, but virt-df works on any "
"disk image?"

#. type: =head2
#: ../docs/guestfs-faq.pod:1208
msgid "What does \"no root device found in this operating system image\" mean?"
msgstr ""
"What does \"no root device found in this operating system image\" mean?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1211
msgid ""
"These questions are all related at a fundamental level which may not be "
"immediately obvious."
msgstr ""
"These questions are all related at a fundamental level which may not be "
"immediately obvious."

#. type: textblock
#: ../docs/guestfs-faq.pod:1214
msgid ""
"At the L<guestfs(3)> API level, a \"disk image\" is just a pile of "
"partitions and filesystems."
msgstr ""
"At the L<guestfs(3)> API level, a \"disk image\" is just a pile of "
"partitions and filesystems."

#. type: textblock
#: ../docs/guestfs-faq.pod:1217
msgid ""
"In contrast, when the virtual machine boots, it mounts those filesystems "
"into a consistent hierarchy such as:"
msgstr ""
"In contrast, when the virtual machine boots, it mounts those filesystems "
"into a consistent hierarchy such as:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:1220
#, no-wrap
msgid ""
" /          (/dev/sda2)\n"
" │\n"
" ├── /boot  (/dev/sda1)\n"
" │\n"
" ├── /home  (/dev/vg_external/Homes)\n"
" │\n"
" ├── /usr   (/dev/vg_os/lv_usr)\n"
" │\n"
" └── /var   (/dev/vg_os/lv_var)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1230
msgid "(or drive letters on Windows)."
msgstr "(or drive letters on Windows)."

#. type: textblock
#: ../docs/guestfs-faq.pod:1232
msgid ""
"The API first of all sees the disk image at the \"pile of filesystems\" "
"level.  But it also has a way to inspect the disk image to see if it "
"contains an operating system, and how the disks are mounted when the "
"operating system boots: L<guestfs(3)/INSPECTION>."
msgstr ""
"The API first of all sees the disk image at the \"pile of filesystems\" "
"level.  But it also has a way to inspect the disk image to see if it "
"contains an operating system, and how the disks are mounted when the "
"operating system boots: L<guestfs(3)/INSPECTION>."

#. type: textblock
#: ../docs/guestfs-faq.pod:1237
msgid "Users expect some tools (like L<virt-cat(1)>) to work with VM paths:"
msgstr "Users expect some tools (like L<virt-cat(1)>) to work with VM paths:"

#. type: verbatim
#: ../docs/guestfs-faq.pod:1239
#, no-wrap
msgid ""
" virt-cat fedora.img /var/log/messages\n"
"\n"
msgstr ""
" virt-cat fedora.img /var/log/messages\n"
"\n"

#. type: textblock
#: ../docs/guestfs-faq.pod:1241
msgid ""
"How does virt-cat know that F</var> is a separate partition? The trick is "
"that virt-cat performs inspection on the disk image, and uses that to "
"translate the path correctly."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1245
msgid ""
"Some tools (including L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)>)  use "
"inspection to map VM paths.  Other tools, such as L<virt-df(1)> and L<virt-"
"filesystems(1)> operate entirely at the raw \"big pile of filesystems\" "
"level of the libguestfs API, and don't use inspection."
msgstr ""
"Some tools (including L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)>)  use "
"inspection to map VM paths.  Other tools, such as L<virt-df(1)> and L<virt-"
"filesystems(1)> operate entirely at the raw \"big pile of filesystems\" "
"level of the libguestfs API, and don't use inspection."

#. type: textblock
#: ../docs/guestfs-faq.pod:1250
msgid ""
"L<guestfish(1)> is in an interesting middle ground.  If you use the I<-a> "
"and I<-m> command line options, then you have to tell guestfish exactly how "
"to add disk images and where to mount partitions. This is the raw API level."
msgstr ""
"L<guestfish(1)> is in an interesting middle ground.  If you use the I<-a> "
"and I<-m> command line options, then you have to tell guestfish exactly how "
"to add disk images and where to mount partitions. This is the raw API level."

#. type: textblock
#: ../docs/guestfs-faq.pod:1255
msgid ""
"If you use the I<-i> option, libguestfs performs inspection and mounts the "
"filesystems for you."
msgstr ""
"If you use the I<-i> option, libguestfs performs inspection and mounts the "
"filesystems for you."

#. type: textblock
#: ../docs/guestfs-faq.pod:1258
msgid ""
"The error C<no root device found in this operating system image> is related "
"to this.  It means inspection was unable to locate an operating system "
"within the disk image you gave it.  You might see this from programs like "
"virt-cat if you try to run them on something which is just a disk image, not "
"a virtual machine disk image."
msgstr ""
"The error C<no root device found in this operating system image> is related "
"to this.  It means inspection was unable to locate an operating system "
"within the disk image you gave it.  You might see this from programs like "
"virt-cat if you try to run them on something which is just a disk image, not "
"a virtual machine disk image."

#. type: =head2
#: ../docs/guestfs-faq.pod:1264
msgid "What do these C<debug*> and C<internal-*> functions do?"
msgstr "What do these C<debug*> and C<internal-*> functions do?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1266
msgid ""
"There are some functions which are used for debugging and internal purposes "
"which are I<not> part of the stable API."
msgstr ""
"There are some functions which are used for debugging and internal purposes "
"which are I<not> part of the stable API."

#. type: textblock
#: ../docs/guestfs-faq.pod:1269
msgid ""
"The C<debug*> (or C<guestfs_debug*>) functions, primarily L<guestfs(3)/"
"guestfs_debug> and a handful of others, are used for debugging libguestfs.  "
"Although they are not part of the stable API and thus may change or be "
"removed at any time, some programs may want to call these while waiting for "
"features to be added to libguestfs."
msgstr ""
"The C<debug*> (or C<guestfs_debug*>) functions, primarily L<guestfs(3)/"
"guestfs_debug> and a handful of others, are used for debugging libguestfs.  "
"Although they are not part of the stable API and thus may change or be "
"removed at any time, some programs may want to call these while waiting for "
"features to be added to libguestfs."

#. type: textblock
#: ../docs/guestfs-faq.pod:1275
msgid ""
"The C<internal-*> (or C<guestfs_internal_*>) functions are purely to be used "
"by libguestfs itself.  There is no reason for programs to call them, and "
"programs should not try to use them.  Using them will often cause bad things "
"to happen, as well as not being part of the documented stable API."
msgstr ""
"The C<internal-*> (or C<guestfs_internal_*>) functions are purely to be used "
"by libguestfs itself.  There is no reason for programs to call them, and "
"programs should not try to use them.  Using them will often cause bad things "
"to happen, as well as not being part of the documented stable API."

#. type: =head1
#: ../docs/guestfs-faq.pod:1281
msgid "DEVELOPERS"
msgstr "DEVELOPERS"

#. type: =head2
#: ../docs/guestfs-faq.pod:1283
msgid "Where do I send patches?"
msgstr "Where do I send patches?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1285
msgid ""
"Please send patches to the libguestfs mailing list L<https://www.redhat.com/"
"mailman/listinfo/libguestfs>.  You don't have to be subscribed, but there "
"will be a delay until your posting is manually approved."
msgstr ""
"Please send patches to the libguestfs mailing list L<https://www.redhat.com/"
"mailman/listinfo/libguestfs>.  You don't have to be subscribed, but there "
"will be a delay until your posting is manually approved."

#. type: textblock
#: ../docs/guestfs-faq.pod:1290
msgid ""
"B<Please don’t use github pull requests - they will be ignored>.  The "
"reasons are (a) we want to discuss and dissect patches on the mailing list, "
"and (b) github pull requests turn into merge commits but we prefer to have a "
"linear history."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1295
msgid "How do I propose a feature?"
msgstr "How do I propose a feature?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1297
msgid ""
"Large new features that you intend to contribute should be discussed on the "
"mailing list first (L<https://www.redhat.com/mailman/listinfo/libguestfs>).  "
"This avoids disappointment and wasted work if we don't think the feature "
"would fit into the libguestfs project."
msgstr ""
"Large new features that you intend to contribute should be discussed on the "
"mailing list first (L<https://www.redhat.com/mailman/listinfo/libguestfs>).  "
"This avoids disappointment and wasted work if we don't think the feature "
"would fit into the libguestfs project."

#. type: textblock
#: ../docs/guestfs-faq.pod:1303
msgid ""
"If you want to suggest a useful feature but don’t want to write the code, "
"you can file a bug (see L</GETTING HELP AND REPORTING BUGS>)  with C<\"RFE: "
"\"> at the beginning of the Summary line."
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1307
msgid "Who can commit to libguestfs git?"
msgstr "Who can commit to libguestfs git?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1309
msgid ""
"About 5 people have commit access to github.  Patches should be posted on "
"the list first and ACKed.  The policy for ACKing and pushing patches is "
"outlined here:"
msgstr ""
"About 5 people have commit access to github.  Patches should be posted on "
"the list first and ACKed.  The policy for ACKing and pushing patches is "
"outlined here:"

#. type: textblock
#: ../docs/guestfs-faq.pod:1313
msgid ""
"L<https://www.redhat.com/archives/libguestfs/2012-January/msg00023.html>"
msgstr ""
"L<https://www.redhat.com/archives/libguestfs/2012-January/msg00023.html>"

#. type: =head2
#: ../docs/guestfs-faq.pod:1315
msgid "Can I fork libguestfs?"
msgstr "Can I fork libguestfs?"

#. type: textblock
#: ../docs/guestfs-faq.pod:1317
msgid ""
"Of course you can.  Git makes it easy to fork libguestfs.  Github makes it "
"even easier.  It’s nice if you tell us on the mailing list about forks and "
"the reasons for them."
msgstr ""

#. type: =head1
#: ../docs/guestfs-faq.pod:1321
msgid "MISCELLANEOUS QUESTIONS"
msgstr ""

#. type: =head2
#: ../docs/guestfs-faq.pod:1323
msgid ""
"Can I monitor the live disk activity of a virtual machine using libguestfs?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1325
msgid ""
"A common request is to be able to use libguestfs to monitor the live disk "
"activity of a guest, for example, to get notified every time a guest creates "
"a new file.  Libguestfs does I<not> work in the way some people imagine, as "
"you can see from this diagram:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-faq.pod:1330
#, no-wrap
msgid ""
"            ┌─────────────────────────────────────┐\n"
"            │ monitoring program using libguestfs │\n"
"            └─────────────────────────────────────┘\n"
"                             ↓\n"
" ┌───────────┐    ┌──────────────────────┐\n"
" │ live VM   │    │ libguestfs appliance │\n"
" ├───────────┤    ├──────────────────────┤\n"
" │ kernel (1)│    │ appliance kernel (2) │\n"
" └───────────┘    └──────────────────────┘\n"
"      ↓                      ↓ (r/o connection)\n"
"      ┌──────────────────────┐\n"
"      |      disk image      |\n"
"      └──────────────────────┘\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1344
msgid ""
"This scenario is safe (as long as you set the C<readonly> flag when adding "
"the drive).  However the libguestfs appliance kernel (2) does not see all "
"the changes made to the disk image, for two reasons:"
msgstr ""

#. type: =item
#: ../docs/guestfs-faq.pod:1350
msgid "i."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1352
msgid ""
"The VM kernel (1) can cache data in memory, so it doesn't appear in the disk "
"image."
msgstr ""

#. type: =item
#: ../docs/guestfs-faq.pod:1355
msgid "ii."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1357
msgid ""
"The libguestfs appliance kernel (2) doesn't expect that the disk image is "
"changing underneath it, so its own cache is not magically updated even when "
"the VM kernel (1) does update the disk image."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1363
msgid ""
"The only supported solution is to restart the entire libguestfs appliance "
"whenever you want to look at changes in the disk image.  At the API level "
"that corresponds to calling C<guestfs_shutdown> followed by "
"C<guestfs_launch>, which is a heavyweight operation (see also L<guestfs-"
"performance(3)>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1369
msgid ""
"There are some unsupported hacks you can try if relaunching the appliance is "
"really too costly:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1376
msgid ""
"Call C<guestfs_drop_caches (g, 3)>.  This causes all cached data help by the "
"libguestfs appliance kernel (2) to be discarded, so it goes back to the disk "
"image."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1380
msgid ""
"However this on its own is not sufficient, because qemu also caches some "
"data.  You will also need to patch libguestfs to (re-)enable the "
"C<cache=none> mode.  See: L<https://rwmj.wordpress.com/2013/09/02/new-in-"
"libguestfs-allow-cache-mode-to-be-selected/>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1387
msgid ""
"Use a tool like L<virt-bmap|http://git.annexia.org/?p=virt-bmap.git> instead."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1392
msgid "Run an agent inside the guest."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1396
msgid ""
"Nothing helps if the guest is making more fundamental changes (eg.  deleting "
"filesystems).  For those kinds of things you must relaunch the appliance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1400
msgid ""
"(Note there is a third problem that you need to use consistent snapshots to "
"really examine live disk images, but that’s a general problem with using "
"libguestfs against any live disk image.)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-faq.pod:1406
msgid "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."
msgstr "L<guestfish(1)>, L<guestfs(3)>, L<http://libguestfs.org/>."

#. type: textblock
#: ../docs/guestfs-faq.pod:1416 ../docs/guestfs-performance.pod:622
#: ../gobject/guestfs-gobject.pod:64
#, fuzzy
#| msgid "Copyright (C) 2010-2012 Red Hat Inc."
msgid "Copyright (C) 2012-2020 Red Hat Inc."
msgstr "Copyright (C) 2010-2012 Red Hat Inc."

#. type: textblock
#: ../docs/guestfs-hacking.pod:3
msgid "guestfs-hacking - extending and contributing to libguestfs"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:7
msgid "This manual page is for hackers who want to extend libguestfs itself."
msgstr ""

#. type: =head1
#: ../docs/guestfs-hacking.pod:9
msgid "THE SOURCE CODE"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:11
msgid ""
"Libguestfs source is located in the github repository L<https://github.com/"
"libguestfs/libguestfs>"
msgstr ""
"Libguestfs source is located in the github repository L<https://github.com/"
"libguestfs/libguestfs>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:14
msgid ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated.  This means that many source files will appear "
"to be missing from a straightforward git checkout.  You have to run the "
"generator (C<./autogen.sh && make -C generator>) in order to create those "
"files."
msgstr ""
"Large amounts of boilerplate code in libguestfs (RPC, bindings, "
"documentation) are generated.  This means that many source files will appear "
"to be missing from a straightforward git checkout.  You have to run the "
"generator (C<./autogen.sh && make -C generator>) in order to create those "
"files."

#. type: textblock
#: ../docs/guestfs-hacking.pod:20
msgid ""
"Libguestfs uses an autotools-based build system, with the main files being "
"F<configure.ac> and F<Makefile.am>.  See L</THE BUILD SYSTEM>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:23
msgid ""
"The F<generator> subdirectory contains the generator, plus files describing "
"the API.  The F<lib> subdirectory contains source for the library.  The "
"F<appliance> and F<daemon> subdirectories contain the source for the code "
"that builds the appliance, and the code that runs in the appliance "
"respectively.  Other directories are covered in the section L<SOURCE CODE "
"SUBDIRECTORIES> below."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:30
msgid ""
"Apart from the fact that all API entry points go via some generated code, "
"the library is straightforward.  (In fact, even the generated code is "
"designed to be readable, and should be read as ordinary code).  Some actions "
"run entirely in the library, and are written as C functions in files under "
"F<lib>.  Others are forwarded to the daemon where (after some generated RPC "
"marshalling) they appear as C functions in files under F<daemon>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:38
msgid "To build from source, first read the L<guestfs-building(1)>."
msgstr ""

#. type: =head2
#: ../docs/guestfs-hacking.pod:40
msgid "SOURCE CODE SUBDIRECTORIES"
msgstr "SOURCE CODE SUBDIRECTORIES"

#. type: textblock
#: ../docs/guestfs-hacking.pod:42
msgid ""
"There are a lot of subdirectories in the source tree! Which ones should you "
"concentrate on first? F<lib> and F<daemon> which contain the source code of "
"the core library.  F<generator> is the code generator described above, so "
"that is important.  The F<Makefile.am> in the root directory will tell you "
"in which order the subdirectories get built.  And then if you are looking at "
"a particular tool (eg. F<customize>) or language binding (eg. F<python>), go "
"straight to that subdirectory, but remember that if you didn't run the "
"generator yet, then you may find files which appear to be missing."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:54
msgid "F<align>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:56
msgid "L<virt-alignment-scan(1)> command and documentation."
msgstr "L<virt-alignment-scan(1)> command and documentation."

#. type: =item
#: ../docs/guestfs-hacking.pod:58
msgid "F<appliance>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:60
msgid "The libguestfs appliance, build scripts and so on."
msgstr "The libguestfs appliance, build scripts and so on."

#. type: =item
#: ../docs/guestfs-hacking.pod:62
msgid "F<bash>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:64
msgid "Bash tab-completion scripts."
msgstr "Bash tab-completion scripts."

#. type: =item
#: ../docs/guestfs-hacking.pod:66
msgid "F<build-aux>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:68
msgid "Various build scripts used by autotools."
msgstr "Various build scripts used by autotools."

#. type: =item
#: ../docs/guestfs-hacking.pod:70
msgid "F<builder>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:72
msgid "L<virt-builder(1)> command and documentation."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:74
msgid "F<bundled>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:76
msgid ""
"Embedded copies of other libraries, mostly for convenience (and the embedded "
"library is not widespread enough)."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:81
msgid "F<bundled/ocaml-augeas>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:83
msgid ""
"Bindings for the Augeas library.  These come from the ocaml-augeas library "
"L<http://git.annexia.org/?p=ocaml-augeas.git>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:88
msgid "F<cat>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:90
msgid ""
"The L<virt-cat(1)>, L<virt-filesystems(1)>, L<virt-log(1)>, L<virt-ls(1)> "
"and L<virt-tail(1)> commands and documentation."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:93
msgid "F<common>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:95
msgid ""
"Various libraries of internal code can be found in the F<common> "
"subdirectory:"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:100
msgid "F<common/edit>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:102
msgid ""
"Common code for interactively and non-interactively editing files within a "
"libguestfs filesystem."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:105
msgid "F<common/errnostring>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:107
msgid ""
"The communication protocol used between the library and the daemon running "
"inside the appliance has to encode errnos as strings, which is handled by "
"this library."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:111
msgid "F<common/mlcustomize>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:113
msgid ""
"Library code associated with C<virt-customize> but also used in other tools."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:116
msgid "F<common/mlgettext>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:118
msgid ""
"Small, generated wrapper which allows libguestfs to be compiled with or "
"without ocaml-gettext.  This is generated by F<./configure>."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:121
msgid "F<common/mlpcre>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:123
msgid ""
"Lightweight OCaml bindings for Perl Compatible Regular Expressions (PCRE).  "
"Note this is not related in any way to Markus Mottl's ocaml-pcre library."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:127
msgid "F<common/mlprogress>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:129
msgid "OCaml bindings for the progress bar functions (see F<common/progress>)."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:131
msgid "F<common/mlstdutils>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:133
msgid "A library of pure OCaml utility functions used in many places."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:135
msgid "F<common/mltools>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:137
msgid ""
"OCaml utility functions only used by the OCaml virt tools (like C<virt-"
"sysprep>, C<virt-customize> etc.)"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:140
msgid "F<common/mlutils>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:142
msgid ""
"OCaml bindings for C functions in C<common/utils>, and some POSIX bindings "
"which are missing from the OCaml stdlib."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:145
msgid "F<common/mlvisit>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:147
msgid "OCaml bindings for the visit functions (see F<common/visit>)."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:149
msgid "F<common/mlxml>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:151
msgid "OCaml bindings for the libxml2 library."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:153
msgid "F<common/options>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:155
msgid "Common options parsing for guestfish, guestmount and some virt tools."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:157
msgid "F<common/parallel>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:159
msgid "A framework used for processing multiple libvirt domains in parallel."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:161
msgid "F<common/progress>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:163
msgid "Common code for printing progress bars."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:165
msgid "F<common/protocol>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:167
msgid ""
"The XDR-based communication protocol used between the library and the daemon "
"running inside the appliance is defined here."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:170
msgid "F<common/qemuopts>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:172 ../docs/internal-documentation.pod:2571
msgid "Mini-library for writing qemu command lines and qemu config files."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:174
msgid "F<common/structs>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:176
msgid ""
"Common code for printing and freeing libguestfs structs, used by the library "
"and some tools."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:179
msgid "F<common/utils>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:181
msgid "Various utility functions used throughout the library and tools."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:183
msgid "F<common/visit>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:185
msgid "Recursively visit a guestfs filesystem hierarchy."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:187
msgid "F<common/windows>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:189
msgid "Utility functions for handling Windows drive letters."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:193
msgid "F<contrib>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:195
msgid "Outside contributions, experimental parts."
msgstr "Outside contributions, experimental parts."

#. type: =item
#: ../docs/guestfs-hacking.pod:197
msgid "F<customize>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:199
msgid "L<virt-customize(1)> command and documentation."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:201
msgid "F<daemon>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:203
msgid ""
"The daemon that runs inside the libguestfs appliance and carries out actions."
msgstr ""
"The daemon that runs inside the libguestfs appliance and carries out actions."

#. type: =item
#: ../docs/guestfs-hacking.pod:206
msgid "F<df>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:208
msgid "L<virt-df(1)> command and documentation."
msgstr "L<virt-df(1)> command and documentation."

#. type: =item
#: ../docs/guestfs-hacking.pod:210
msgid "F<dib>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:212
msgid "L<virt-dib(1)> command and documentation."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:214
msgid "F<diff>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:216
msgid "L<virt-diff(1)> command and documentation."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:218
msgid "F<docs>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:220
msgid "Miscellaneous manual pages."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:222
msgid "F<edit>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:224
msgid "L<virt-edit(1)> command and documentation."
msgstr "L<virt-edit(1)> command and documentation."

#. type: =item
#: ../docs/guestfs-hacking.pod:226
msgid "F<examples>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:228
msgid "C API example code."
msgstr "C API example code."

#. type: =item
#: ../docs/guestfs-hacking.pod:230
msgid "F<fish>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:232
msgid ""
"L<guestfish(1)>, the command-line shell, and various shell scripts built on "
"top such as L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, "
"L<virt-tar-out(1)>."
msgstr ""
"L<guestfish(1)>, the command-line shell, and various shell scripts built on "
"top such as L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, "
"L<virt-tar-out(1)>."

#. type: =item
#: ../docs/guestfs-hacking.pod:236
msgid "F<format>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:238
msgid "L<virt-format(1)> command and documentation."
msgstr "L<virt-format(1)> command and documentation."

#. type: =item
#: ../docs/guestfs-hacking.pod:240
msgid "F<fuse>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:242
msgid ""
"L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."
msgstr ""
"L<guestmount(1)>, FUSE (userspace filesystem) built on top of libguestfs."

#. type: =item
#: ../docs/guestfs-hacking.pod:244
msgid "F<generator>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:246
msgid ""
"The crucially important generator, used to automatically generate large "
"amounts of boilerplate C code for things like RPC and bindings."
msgstr ""
"The crucially important generator, used to automatically generate large "
"amounts of boilerplate C code for things like RPC and bindings."

#. type: =item
#: ../docs/guestfs-hacking.pod:249
msgid "F<get-kernel>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:251
msgid "L<virt-get-kernel(1)> command and documentation."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:253
msgid "F<gnulib>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:255
msgid ""
"Gnulib is used as a portability library.  A copy of gnulib is included under "
"here."
msgstr ""
"Gnulib is used as a portability library.  A copy of gnulib is included under "
"here."

#. type: =item
#: ../docs/guestfs-hacking.pod:258
msgid "F<inspector>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:260
msgid "L<virt-inspector(1)>, the virtual machine image inspector."
msgstr "L<virt-inspector(1)>, the virtual machine image inspector."

#. type: =item
#: ../docs/guestfs-hacking.pod:262
msgid "F<lib>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:264
msgid "Source code to the C library."
msgstr "Source code to the C library."

#. type: =item
#: ../docs/guestfs-hacking.pod:266
msgid "F<logo>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:268
msgid "Logo used on the website.  The fish is called Arthur by the way."
msgstr "Logo used on the website.  The fish is called Arthur by the way."

#. type: =item
#: ../docs/guestfs-hacking.pod:270
msgid "F<m4>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:272
msgid "M4 macros used by autoconf.  See L</THE BUILD SYSTEM>."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:274
msgid "F<make-fs>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:276
msgid "L<virt-make-fs(1)> command and documentation."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:278
msgid "F<po>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:280
msgid "Translations of simple gettext strings."
msgstr "Translations of simple gettext strings."

#. type: =item
#: ../docs/guestfs-hacking.pod:282
msgid "F<po-docs>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:284
msgid ""
"The build infrastructure and PO files for translations of manpages and POD "
"files.  Eventually this will be combined with the F<po> directory, but that "
"is rather complicated."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:288
msgid "F<rescue>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:290
msgid "L<virt-rescue(1)> command and documentation."
msgstr "L<virt-rescue(1)> command and documentation."

#. type: =item
#: ../docs/guestfs-hacking.pod:292
msgid "F<resize>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:294
msgid "L<virt-resize(1)> command and documentation."
msgstr "L<virt-resize(1)> command and documentation."

#. type: =item
#: ../docs/guestfs-hacking.pod:296
msgid "F<sparsify>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:298
msgid "L<virt-sparsify(1)> command and documentation."
msgstr "L<virt-sparsify(1)> command and documentation."

#. type: =item
#: ../docs/guestfs-hacking.pod:300
msgid "F<sysprep>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:302
msgid "L<virt-sysprep(1)> command and documentation."
msgstr "L<virt-sysprep(1)> command and documentation."

#. type: =item
#: ../docs/guestfs-hacking.pod:304
msgid "F<tests>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:306
msgid "Tests."
msgstr "Tests."

#. type: =item
#: ../docs/guestfs-hacking.pod:308
msgid "F<test-data>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:310
msgid "Files and other test data used by the tests."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:312
msgid "F<test-tool>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:314
msgid ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."
msgstr ""
"Test tool for end users to test if their qemu/kernel combination will work "
"with libguestfs."

#. type: =item
#: ../docs/guestfs-hacking.pod:317
msgid "F<tmp>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:319
msgid ""
"Used for temporary files when running the tests (instead of F</tmp> etc).  "
"The reason is so that you can run multiple parallel tests of libguestfs "
"without having one set of tests overwriting the appliance created by another."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:324
msgid "F<tools>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:326
msgid ""
"Command line tools written in Perl (L<virt-win-reg(1)> and many others)."
msgstr ""
"Command line tools written in Perl (L<virt-win-reg(1)> and many others)."

#. type: =item
#: ../docs/guestfs-hacking.pod:328
msgid "F<utils>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:330
msgid "Miscellaneous utilities, such as C<boot-benchmark>."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:332
msgid "F<v2v>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:334
msgid ""
"Up to libguestfs E<gt> 1.42 this contained the L<virt-v2v(1)> tool, but this "
"has now moved into a separate repository: L<https://github.com/libguestfs/"
"virt-v2v>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:338
msgid "F<website>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:340
msgid "The L<http://libguestfs.org> website files."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:342
msgid "F<csharp>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:344
msgid "F<erlang>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:346
msgid "F<gobject>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:348
msgid "F<golang>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:350
msgid "F<haskell>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:352
msgid "F<java>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:354
msgid "F<lua>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:356
msgid "F<ocaml>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:358
msgid "F<php>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:360
msgid "F<perl>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:362
msgid "F<python>"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:364
msgid "F<ruby>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:366
msgid "Language bindings."
msgstr "Language bindings."

#. type: =head2
#: ../docs/guestfs-hacking.pod:370
msgid "THE BUILD SYSTEM"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:372
msgid ""
"Libguestfs uses the GNU autotools build system (autoconf, automake, libtool)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:375
msgid ""
"The F<./configure> script is generated from F<configure.ac> and F<m4/guestfs-"
"*.m4>.  Most of the configure script is split over many m4 macro files by "
"topic, for example F<m4/guestfs-daemon.m4> deals with the dependencies of "
"the daemon."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:380
msgid ""
"The job of the top level F<Makefile.am> is mainly to list the subdirectories "
"(C<SUBDIRS>) in the order they should be compiled."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:383
msgid ""
"F<common-rules.mk> is included in every F<Makefile.am> (top level and "
"subdirectories).  F<subdir-rules.mk> is included only in subdirectory "
"F<Makefile.am> files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:387
msgid "There are many make targets.  Use this command to list them all:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:389
#, no-wrap
msgid ""
" make help\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-hacking.pod:391
msgid "EXTENDING LIBGUESTFS"
msgstr "EXTENDING LIBGUESTFS"

#. type: =head2
#: ../docs/guestfs-hacking.pod:393
msgid "ADDING A NEW API"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:395
msgid ""
"Because large amounts of boilerplate code in libguestfs are generated, this "
"makes it easy to extend the libguestfs API."
msgstr ""
"Because large amounts of boilerplate code in libguestfs are generated, this "
"makes it easy to extend the libguestfs API."

#. type: textblock
#: ../docs/guestfs-hacking.pod:398
msgid "To add a new API action there are two changes:"
msgstr "To add a new API action there are two changes:"

#. type: textblock
#: ../docs/guestfs-hacking.pod:404
msgid ""
"You need to add a description of the call (name, parameters, return type, "
"tests, documentation) to F<generator/actions_*.ml> and possibly F<generator/"
"proc_nr.ml>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:408
msgid ""
"There are two sorts of API action, depending on whether the call goes "
"through to the daemon in the appliance, or is serviced entirely by the "
"library (see L<guestfs-internals(1)/ARCHITECTURE>).  L<guestfs(3)/"
"guestfs_sync> is an example of the former, since the sync is done in the "
"appliance.  L<guestfs(3)/guestfs_set_trace> is an example of the latter, "
"since a trace flag is maintained in the handle and all tracing is done on "
"the library side."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:416
msgid ""
"Most new actions are of the first type, and get added to the "
"C<daemon_functions> list.  Each function has a unique procedure number used "
"in the RPC protocol which is assigned to that action when we publish "
"libguestfs and cannot be reused.  Take the latest procedure number and "
"increment it."
msgstr ""
"Most new actions are of the first type, and get added to the "
"C<daemon_functions> list.  Each function has a unique procedure number used "
"in the RPC protocol which is assigned to that action when we publish "
"libguestfs and cannot be reused.  Take the latest procedure number and "
"increment it."

#. type: textblock
#: ../docs/guestfs-hacking.pod:422
msgid ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list.  Since these functions are serviced by the "
"library and do not travel over the RPC mechanism to the daemon, these "
"functions do not need a procedure number, and so the procedure number is set "
"to C<-1>."
msgstr ""
"For library-only actions of the second type, add to the "
"C<non_daemon_functions> list.  Since these functions are serviced by the "
"library and do not travel over the RPC mechanism to the daemon, these "
"functions do not need a procedure number, and so the procedure number is set "
"to C<-1>."

#. type: textblock
#: ../docs/guestfs-hacking.pod:430
msgid "Implement the action (in C):"
msgstr "Implement the action (in C):"

#. type: textblock
#: ../docs/guestfs-hacking.pod:432
msgid ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."
msgstr ""
"For daemon actions, implement the function C<do_E<lt>nameE<gt>> in the "
"C<daemon/> directory."

#. type: textblock
#: ../docs/guestfs-hacking.pod:435
msgid ""
"For library actions, implement the function C<guestfs_impl_E<lt>nameE<gt>> "
"in the C<lib/> directory."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:438
msgid "In either case, use another function as an example of what to do."
msgstr "In either case, use another function as an example of what to do."

#. type: textblock
#: ../docs/guestfs-hacking.pod:442
msgid ""
"As an alternative to step 2: Since libguestfs 1.38, daemon actions can be "
"implemented in OCaml.  You have to set the C<impl = OCaml ...> flag in the "
"generator.  Take a look at F<daemon/file.ml> for an example."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:449
msgid "After making these changes, use C<make> to compile."
msgstr "After making these changes, use C<make> to compile."

#. type: textblock
#: ../docs/guestfs-hacking.pod:451
msgid ""
"Note that you don’t need to implement the RPC, language bindings, manual "
"pages or anything else.  It’s all automatically generated from the OCaml "
"description."
msgstr ""

#. type: =head3
#: ../docs/guestfs-hacking.pod:455
msgid "Adding tests for an API"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:457
msgid ""
"You can supply zero or as many tests as you want per API call.  The tests "
"can either be added as part of the API description (F<generator/actions_*."
"ml>), or in some rarer cases you may want to drop a script into C<tests/*/"
">.  Note that adding a script to C<tests/*/> is slower, so if possible use "
"the first method."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:463
msgid ""
"The following describes the test environment used when you add an API test "
"in F<actions_*.ml>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:466
msgid "The test environment has 4 block devices:"
msgstr "The test environment has 4 block devices:"

#. type: =item
#: ../docs/guestfs-hacking.pod:470
msgid "F</dev/sda> 2 GB"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:472
msgid "General block device for testing."
msgstr "General block device for testing."

#. type: =item
#: ../docs/guestfs-hacking.pod:474
msgid "F</dev/sdb> 2 GB"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:476
msgid ""
"F</dev/sdb1> is an ext2 filesystem used for testing filesystem write "
"operations."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:479
msgid "F</dev/sdc> 10 MB"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:481
msgid "Used in a few tests where two block devices are needed."
msgstr "Used in a few tests where two block devices are needed."

#. type: =item
#: ../docs/guestfs-hacking.pod:483
msgid "F</dev/sdd>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:485
msgid "ISO with fixed content (see F<images/test.iso>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:489
msgid ""
"To be able to run the tests in a reasonable amount of time, the libguestfs "
"appliance and block devices are reused between tests.  So don't try testing "
"L<guestfs(3)/guestfs_kill_subprocess> :-x"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:493
msgid ""
"Each test starts with an initial scenario, selected using one of the "
"C<Init*> expressions, described in F<generator/types.ml>.  These initialize "
"the disks mentioned above in a particular way as documented in F<types.ml>.  "
"You should not assume anything about the previous contents of other disks "
"that are not initialized."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:499
msgid ""
"You can add a prerequisite clause to any individual test.  This is a run-"
"time check, which, if it fails, causes the test to be skipped.  Useful if "
"testing a command which might not work on all variations of libguestfs "
"builds.  A test that has prerequisite of C<Always> means to run "
"unconditionally."
msgstr ""
"You can add a prerequisite clause to any individual test.  This is a run-"
"time check, which, if it fails, causes the test to be skipped.  Useful if "
"testing a command which might not work on all variations of libguestfs "
"builds.  A test that has prerequisite of C<Always> means to run "
"unconditionally."

#. type: textblock
#: ../docs/guestfs-hacking.pod:505
msgid ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."
msgstr ""
"In addition, packagers can skip individual tests by setting environment "
"variables before running C<make check>."

#. type: verbatim
#: ../docs/guestfs-hacking.pod:508
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
"\n"
msgstr ""
" SKIP_TEST_<CMD>_<NUM>=1\n"
"\n"

#. type: textblock
#: ../docs/guestfs-hacking.pod:510
msgid ""
"eg: C<SKIP_TEST_COMMAND_3=1> skips test #3 of L<guestfs(3)/guestfs_command>."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:514
#, no-wrap
msgid ""
" SKIP_TEST_<CMD>=1\n"
"\n"
msgstr ""
" SKIP_TEST_<CMD>=1\n"
"\n"

#. type: textblock
#: ../docs/guestfs-hacking.pod:516
msgid ""
"eg: C<SKIP_TEST_ZEROFREE=1> skips all L<guestfs(3)/guestfs_zerofree> tests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:518
msgid "Packagers can run only certain tests by setting for example:"
msgstr "Packagers can run only certain tests by setting for example:"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:520
#, no-wrap
msgid ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
"\n"
msgstr ""
" TEST_ONLY=\"vfs_type zerofree\"\n"
"\n"

#. type: textblock
#: ../docs/guestfs-hacking.pod:522
msgid ""
"See F<tests/c-api/tests.c> for more details of how these environment "
"variables work."
msgstr ""

#. type: =head3
#: ../docs/guestfs-hacking.pod:525
msgid "Debugging new APIs"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:527
msgid "Test new actions work before submitting them."
msgstr "Test new actions work before submitting them."

#. type: textblock
#: ../docs/guestfs-hacking.pod:529
msgid "You can use guestfish to try out new commands."
msgstr "You can use guestfish to try out new commands."

#. type: textblock
#: ../docs/guestfs-hacking.pod:531
msgid ""
"Debugging the daemon is a problem because it runs inside a minimal "
"environment.  However you can fprintf messages in the daemon to stderr, and "
"they will show up if you use C<guestfish -v>."
msgstr ""
"Debugging the daemon is a problem because it runs inside a minimal "
"environment.  However you can fprintf messages in the daemon to stderr, and "
"they will show up if you use C<guestfish -v>."

#. type: =head2
#: ../docs/guestfs-hacking.pod:535
msgid "ADDING A NEW LANGUAGE BINDING"
msgstr "ADDING A NEW LANGUAGE BINDING"

#. type: textblock
#: ../docs/guestfs-hacking.pod:537
msgid ""
"All language bindings must be generated by the generator (see the "
"F<generator> subdirectory)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:540
msgid ""
"There is no documentation for this yet.  We suggest you look at an existing "
"binding, eg. F<generator/ocaml.ml> or F<generator/perl.ml>."
msgstr ""

#. type: =head3
#: ../docs/guestfs-hacking.pod:544
msgid "Adding tests for language bindings"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:546
msgid ""
"Language bindings should come with tests.  Previously testing of language "
"bindings was rather ad-hoc, but we have been trying to formalize the set of "
"tests that every language binding should use."
msgstr ""
"Language bindings should come with tests.  Previously testing of language "
"bindings was rather ad-hoc, but we have been trying to formalise the set of "
"tests that every language binding should use."

#. type: textblock
#: ../docs/guestfs-hacking.pod:550
msgid ""
"Currently only the OCaml and Perl bindings actually implement the full set "
"of tests, and the OCaml bindings are canonical, so you should emulate what "
"the OCaml tests do."
msgstr ""
"Currently only the OCaml and Perl bindings actually implement the full set "
"of tests, and the OCaml bindings are canonical, so you should emulate what "
"the OCaml tests do."

#. type: textblock
#: ../docs/guestfs-hacking.pod:554
msgid "This is the numbering scheme used by the tests:"
msgstr "This is the numbering scheme used by the tests:"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:556
#, no-wrap
msgid ""
" - 000+ basic tests:\n"
" \n"
msgstr ""
" - 000+ basic tests:\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:558
#, no-wrap
msgid ""
"   010  load the library\n"
"   020  create\n"
"   030  create-flags\n"
"   040  create multiple handles\n"
"   050  test setting and getting config properties\n"
"   060  explicit close\n"
"   065  implicit close (in GC'd languages)\n"
"   070  optargs\n"
"   080  version\n"
"   090  retvalues\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:569
#, no-wrap
msgid ""
" - 100  launch, create partitions and LVs and filesystems\n"
" \n"
msgstr ""
" - 100  launch, create partitions and LVs and filesystems\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:571
#, no-wrap
msgid ""
" - 400+ events:\n"
" \n"
msgstr ""
" - 400+ events:\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:573
#, no-wrap
msgid ""
"   410  close event\n"
"   420  log messages\n"
"   430  progress messages\n"
" \n"
msgstr ""
"   410  close event\n"
"   420  log messages\n"
"   430  progress messages\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:577
#, no-wrap
msgid ""
" - 800+ regression tests (specific to the language)\n"
" \n"
msgstr ""
" - 800+ regression tests (specific to the language)\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:579
#, no-wrap
msgid ""
" - 900+ any other custom tests for the language\n"
"\n"
msgstr ""
" - 900+ any other custom tests for the language\n"
"\n"

#. type: textblock
#: ../docs/guestfs-hacking.pod:581
msgid ""
"To save time when running the tests, only 100, 430, 800+, 900+ should launch "
"the handle."
msgstr ""
"To save time when running the tests, only 100, 430, 800+, 900+ should launch "
"the handle."

#. type: =head2
#: ../docs/guestfs-hacking.pod:584
msgid "FORMATTING CODE"
msgstr "FORMATTING CODE"

#. type: textblock
#: ../docs/guestfs-hacking.pod:586
msgid ""
"Our C source code generally adheres to some basic code-formatting "
"conventions.  The existing code base is not totally consistent on this "
"front, but we do prefer that contributed code be formatted similarly.  In "
"short, use spaces-not-TABs for indentation, use 2 spaces for each "
"indentation level, and other than that, follow the K&R style."
msgstr ""
"Our C source code generally adheres to some basic code-formatting "
"conventions.  The existing code base is not totally consistent on this "
"front, but we do prefer that contributed code be formatted similarly.  In "
"short, use spaces-not-TABs for indentation, use 2 spaces for each "
"indentation level, and other than that, follow the K&R style."

#. type: textblock
#: ../docs/guestfs-hacking.pod:592
msgid ""
"If you use Emacs, add the following to one of your start-up files (e.g., ~/."
"emacs), to help ensure that you get indentation right:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:595
#, no-wrap
msgid ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
" ;;; Exceptions: Makefile and ChangeLog modes.\n"
" (add-hook 'find-file-hook\n"
"     '(lambda () (if (and buffer-file-name\n"
"                          (string-match \"/libguestfs\\\\>\"\n"
"                              (buffer-file-name))\n"
"                          (not (string-equal mode-name \"Change Log\"))\n"
"                          (not (string-equal mode-name \"Makefile\")))\n"
"                     (setq indent-tabs-mode nil))))\n"
" \n"
msgstr ""
" ;;; In libguestfs, indent with spaces everywhere (not TABs).\n"
" ;;; Exceptions: Makefile and ChangeLog modes.\n"
" (add-hook 'find-file-hook\n"
"     '(lambda () (if (and buffer-file-name\n"
"                          (string-match \"/libguestfs\\\\>\"\n"
"                              (buffer-file-name))\n"
"                          (not (string-equal mode-name \"Change Log\"))\n"
"                          (not (string-equal mode-name \"Makefile\")))\n"
"                     (setq indent-tabs-mode nil))))\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:605
#, no-wrap
msgid ""
" ;;; When editing C sources in libguestfs, use this style.\n"
" (defun libguestfs-c-mode ()\n"
"   \"C mode with adjusted defaults for use with libguestfs.\"\n"
"   (interactive)\n"
"   (c-set-style \"K&R\")\n"
"   (setq c-indent-level 2)\n"
"   (setq c-basic-offset 2))\n"
" (add-hook 'c-mode-hook\n"
"           '(lambda () (if (string-match \"/libguestfs\\\\>\"\n"
"                               (buffer-file-name))\n"
"                           (libguestfs-c-mode))))\n"
"\n"
msgstr ""
" ;;; When editing C sources in libguestfs, use this style.\n"
" (defun libguestfs-c-mode ()\n"
"   \"C mode with adjusted defaults for use with libguestfs.\"\n"
"   (interactive)\n"
"   (c-set-style \"K&R\")\n"
"   (setq c-indent-level 2)\n"
"   (setq c-basic-offset 2))\n"
" (add-hook 'c-mode-hook\n"
"           '(lambda () (if (string-match \"/libguestfs\\\\>\"\n"
"                               (buffer-file-name))\n"
"                           (libguestfs-c-mode))))\n"
"\n"

#. type: =head2
#: ../docs/guestfs-hacking.pod:617
msgid "TESTING YOUR CHANGES"
msgstr "TESTING YOUR CHANGES"

#. type: textblock
#: ../docs/guestfs-hacking.pod:619
msgid ""
"Turn warnings into errors when developing to make warnings hard to ignore:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:622
#, no-wrap
msgid ""
" ./configure --enable-werror\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:624
msgid "Useful targets are:"
msgstr "Useful targets are:"

#. type: =item
#: ../docs/guestfs-hacking.pod:628
msgid "C<make check>"
msgstr "C<make check>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:630
msgid "Runs the regular test suite."
msgstr "Runs the regular test suite."

#. type: textblock
#: ../docs/guestfs-hacking.pod:632
msgid ""
"This is implemented using the regular automake C<TESTS> target.  See the "
"automake documentation for details."
msgstr ""
"This is implemented using the regular automake C<TESTS> target.  See the "
"automake documentation for details."

#. type: =item
#: ../docs/guestfs-hacking.pod:635
msgid "C<make check-valgrind>"
msgstr "C<make check-valgrind>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:637
msgid "Runs a subset of the test suite under valgrind."
msgstr "Runs a subset of the test suite under valgrind."

#. type: textblock
#: ../docs/guestfs-hacking.pod:639
msgid "See L</VALGRIND> below."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:641
msgid "C<make check-valgrind-local-guests>"
msgstr "C<make check-valgrind-local-guests>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:643
msgid ""
"Runs a subset of the test suite under valgrind using locally installed "
"libvirt guests (read-only)."
msgstr ""
"Runs a subset of the test suite under valgrind using locally installed "
"libvirt guests (read-only)."

#. type: =item
#: ../docs/guestfs-hacking.pod:646
msgid "C<make check-direct>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:648
msgid ""
"Runs all tests using default appliance back-end.  This only has any effect "
"if a non-default backend was selected using C<./configure --with-default-"
"backend=...>"
msgstr ""
"Runs all tests using default appliance back-end.  This only has any effect "
"if a non-default backend was selected using C<./configure --with-default-"
"backend=...>"

#. type: =item
#: ../docs/guestfs-hacking.pod:652
msgid "C<make check-valgrind-direct>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:654
msgid ""
"Run a subset of the test suite under valgrind using the default appliance "
"back-end."
msgstr ""
"Run a subset of the test suite under valgrind using the default appliance "
"back-end."

#. type: =item
#: ../docs/guestfs-hacking.pod:657
msgid "C<make check-uml>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:659
msgid "Runs all tests using the User-Mode Linux backend."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:661
msgid ""
"As there is no standard location for the User-Mode Linux kernel, you I<have> "
"to set C<LIBGUESTFS_HV> to point to the kernel image, eg:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:664
#, no-wrap
msgid ""
" make check-uml LIBGUESTFS_HV=~/d/linux-um/vmlinux\n"
"\n"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:666
msgid "C<make check-valgrind-uml>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:668
msgid "Runs all tests using the User-Mode Linux backend, under valgrind."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:670
msgid "As above, you have to set C<LIBGUESTFS_HV> to point to the kernel."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:672
msgid "C<make check-with-upstream-qemu>"
msgstr "C<make check-with-upstream-qemu>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:674
msgid ""
"Runs all tests using a local qemu binary.  It looks for the qemu binary in "
"QEMUDIR (defaults to F<$HOME/d/qemu>), but you can set this to another "
"directory on the command line, eg:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:678
#, no-wrap
msgid ""
" make check-with-upstream-qemu QEMUDIR=/usr/src/qemu\n"
"\n"
msgstr ""
" make check-with-upstream-qemu QEMUDIR=/usr/src/qemu\n"
"\n"

#. type: =item
#: ../docs/guestfs-hacking.pod:680
msgid "C<make check-with-upstream-libvirt>"
msgstr "C<make check-with-upstream-libvirt>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:682
msgid ""
"Runs all tests using a local libvirt.  This only has any effect if the "
"libvirt backend was selected using C<./configure --with-default-"
"backend=libvirt>"
msgstr ""
"Runs all tests using a local libvirt.  This only has any effect if the "
"libvirt backend was selected using C<./configure --with-default-"
"backend=libvirt>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:686
msgid ""
"It looks for libvirt in LIBVIRTDIR (defaults to F<$HOME/d/libvirt>), but you "
"can set this to another directory on the command line, eg:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:689
#, no-wrap
msgid ""
" make check-with-upstream-libvirt LIBVIRTDIR=/usr/src/libvirt\n"
"\n"
msgstr ""
" make check-with-upstream-libvirt LIBVIRTDIR=/usr/src/libvirt\n"
"\n"

#. type: =item
#: ../docs/guestfs-hacking.pod:691
msgid "C<make check-slow>"
msgstr "C<make check-slow>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:693
msgid "Runs some slow/long-running tests which are not run by default."
msgstr "Runs some slow/long-running tests which are not run by default."

#. type: textblock
#: ../docs/guestfs-hacking.pod:695
msgid "To mark a test as slow/long-running:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:701 ../docs/guestfs-hacking.pod:737
msgid ""
"Add it to the list of C<TESTS> in the F<Makefile.am>, just like a normal "
"test."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:706
msgid ""
"Modify the test so it checks if the C<SLOW=1> environment variable is set, "
"and if I<not> set it skips (ie. returns with exit code 77).  If using C<"
"$TEST_FUNCTIONS>, you can call the function C<slow_test> for this."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:713
msgid ""
"Add a variable C<SLOW_TESTS> to the F<Makefile.am> listing the slow tests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:718 ../docs/guestfs-hacking.pod:753
msgid "Add a rule to the F<Makefile.am>:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:720
#, no-wrap
msgid ""
" check-slow:\n"
"   $(MAKE) check TESTS=\"$(SLOW_TESTS)\" SLOW=1\n"
"\n"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:725
msgid "C<sudo make check-root>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:727
msgid ""
"Runs some tests which require root privileges.  These are supposed to be "
"safe, but take care.  You have to run this as root (eg. using L<sudo(8)> "
"explicitly)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:731
msgid "To mark a test as requiring root:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:742
msgid ""
"Modify the test so it checks if euid == 0, and if I<not> set it skips (ie. "
"returns with exit code 77).  If using C<$TEST_FUNCTIONS>, you can call the "
"function C<root_test> for this."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:748
msgid ""
"Add a variable C<ROOT_TESTS> to the F<Makefile.am> listing the root tests."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:755
#, no-wrap
msgid ""
" check-root:\n"
"   $(MAKE) check TESTS=\"$(ROOT_TESTS)\"\n"
"\n"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:760
msgid "C<make check-all>"
msgstr "C<make check-all>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:762
msgid "Equivalent to running all C<make check*> rules except C<check-root>."
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:764
msgid "C<make check-release>"
msgstr "C<make check-release>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:766
msgid ""
"Runs a subset of C<make check*> rules that are required to pass before a "
"tarball can be released.  Currently this is:"
msgstr ""
"Runs a subset of C<make check*> rules that are required to pass before a "
"tarball can be released.  Currently this is:"

#. type: textblock
#: ../docs/guestfs-hacking.pod:773
msgid "check"
msgstr "check"

#. type: textblock
#: ../docs/guestfs-hacking.pod:777
msgid "check-valgrind"
msgstr "check-valgrind"

#. type: textblock
#: ../docs/guestfs-hacking.pod:781
msgid "check-direct"
msgstr "check-direct"

#. type: textblock
#: ../docs/guestfs-hacking.pod:785
msgid "check-valgrind-direct"
msgstr "check-valgrind-direct"

#. type: textblock
#: ../docs/guestfs-hacking.pod:789
msgid "check-slow"
msgstr "check-slow"

#. type: =item
#: ../docs/guestfs-hacking.pod:793
msgid "C<make installcheck>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:795
msgid "Run C<make check> on the installed copy of libguestfs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:797
msgid ""
"The version of installed libguestfs being tested, and the version of the "
"libguestfs source tree must be the same."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:800
msgid "Do:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:802
#, no-wrap
msgid ""
" ./autogen.sh\n"
" make clean ||:\n"
" make\n"
" make installcheck\n"
"\n"
msgstr ""

#. type: =head2
#: ../docs/guestfs-hacking.pod:809
msgid "VALGRIND"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:811
msgid ""
"When you do C<make check-valgrind>, it searches for any F<Makefile.am> in "
"the tree that has a C<check-valgrind:> target and runs it."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:814
msgid ""
"Writing the F<Makefile.am> and tests correctly to use valgrind and working "
"with automake parallel tests is subtle."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:817
msgid ""
"If your tests are run via a shell script wrapper, then in the wrapper use:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:820
#, no-wrap
msgid ""
" $VG virt-foo\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:822
msgid "and in the F<Makefile.am> use:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:824 ../docs/guestfs-hacking.pod:832
#, no-wrap
msgid ""
" check-valgrind:\n"
"     make VG=\"@VG@\" check\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:827
msgid ""
"However, if your binaries run directly from the C<TESTS> rule, you have to "
"modify the F<Makefile.am> like this:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:830
#, no-wrap
msgid ""
" LOG_COMPILER = $(VG)\n"
" \n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:835
msgid ""
"In either case, check that the right program is being tested by examining "
"the F<tmp/valgrind*> log files carefully."
msgstr ""

#. type: =head2
#: ../docs/guestfs-hacking.pod:838
msgid "SUBMITTING PATCHES"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:840
msgid ""
"Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/"
"libguestfs> and CC to L<rjones@redhat.com>."
msgstr ""
"Submit patches to the mailing list: L<http://www.redhat.com/mailman/listinfo/"
"libguestfs> and CC to L<rjones@redhat.com>."

#. type: textblock
#: ../docs/guestfs-hacking.pod:844
msgid ""
"You do not need to subscribe to the mailing list if you don’t want to.  "
"There may be a short delay while your message is moderated."
msgstr ""

#. type: =head2
#: ../docs/guestfs-hacking.pod:847
msgid "DAEMON CUSTOM PRINTF FORMATTERS"
msgstr "DAEMON CUSTOM PRINTF FORMATTERS"

#. type: textblock
#: ../docs/guestfs-hacking.pod:849
msgid ""
"In the daemon code we have created custom printf formatters C<%Q> and C<%R>, "
"which are used to do shell quoting."
msgstr ""
"In the daemon code we have created custom printf formatters C<%Q> and C<%R>, "
"which are used to do shell quoting."

#. type: =item
#: ../docs/guestfs-hacking.pod:854
msgid "%Q"
msgstr "%Q"

#. type: textblock
#: ../docs/guestfs-hacking.pod:856
msgid ""
"Simple shell quoted string.  Any spaces or other shell characters are "
"escaped for you."
msgstr ""
"Simple shell quoted string.  Any spaces or other shell characters are "
"escaped for you."

#. type: =item
#: ../docs/guestfs-hacking.pod:859
msgid "%R"
msgstr "%R"

#. type: textblock
#: ../docs/guestfs-hacking.pod:861
msgid ""
"Same as C<%Q> except the string is treated as a path which is prefixed by "
"the sysroot."
msgstr ""
"Same as C<%Q> except the string is treated as a path which is prefixed by "
"the sysroot."

#. type: verbatim
#: ../docs/guestfs-hacking.pod:868
#, no-wrap
msgid ""
" asprintf (&cmd, \"cat %R\", path);\n"
"\n"
msgstr ""
" asprintf (&cmd, \"cat %R\", path);\n"
"\n"

#. type: textblock
#: ../docs/guestfs-hacking.pod:870
msgid "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"
msgstr "would produce C<cat /sysroot/some\\ path\\ with\\ spaces>"

#. type: textblock
#: ../docs/guestfs-hacking.pod:872
msgid ""
"I<Note:> Do I<not> use these when you are passing parameters to the "
"C<command{,r,v,rv}()> functions.  These parameters do NOT need to be quoted "
"because they are not passed via the shell (instead, straight to exec).  You "
"probably want to use the C<sysroot_path()> function however."
msgstr ""
"I<Note:> Do I<not> use these when you are passing parameters to the "
"C<command{,r,v,rv}()> functions.  These parameters do NOT need to be quoted "
"because they are not passed via the shell (instead, straight to exec).  You "
"probably want to use the C<sysroot_path()> function however."

#. type: =head2
#: ../docs/guestfs-hacking.pod:878
msgid "INTERNATIONALIZATION (I18N) SUPPORT"
msgstr "INTERNATIONALISATION (I18N) SUPPORT"

#. type: textblock
#: ../docs/guestfs-hacking.pod:880
msgid "We support i18n (gettext anyhow) in the library."
msgstr "We support i18n (gettext anyhow) in the library."

#. type: textblock
#: ../docs/guestfs-hacking.pod:882
msgid ""
"However many messages come from the daemon, and we don’t translate those at "
"the moment.  One reason is that the appliance generally has all locale files "
"removed from it, because they take up a lot of space.  So we'd have to readd "
"some of those, as well as copying our PO files into the appliance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:888
msgid ""
"Debugging messages are never translated, since they are intended for the "
"programmers."
msgstr ""
"Debugging messages are never translated, since they are intended for the "
"programmers."

#. type: =head1
#: ../docs/guestfs-hacking.pod:891
msgid "MISCELLANEOUS TOPICS"
msgstr ""

#. type: =head2
#: ../docs/guestfs-hacking.pod:893
msgid "HOW OCAML PROGRAMS ARE COMPILED AND LINKED"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:895
msgid ""
"Mostly this section is \"how we make automake & ocamlopt work together\" "
"since OCaml programs themselves are easy to compile."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:898
msgid ""
"Automake has no native support for OCaml programs, ocamlc nor ocamlopt.  "
"What we do instead is to treat OCaml programs as C programs which happen to "
"contain these \"other objects\" (C<\"DEPENDENCIES\"> in automake-speak) that "
"happen to be the OCaml objects.  This works because OCaml programs usually "
"have C files for native bindings etc."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:904
msgid "So a typical program is described as just its C sources:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:906
#, no-wrap
msgid ""
" virt_customize_SOURCES = ... crypt-c.c perl_edit-c.c\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:908
msgid ""
"For programs that have no explicit C sources, we create an empty F<dummy.c> "
"file, and list that instead:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:911
#, no-wrap
msgid ""
" virt_resize_SOURCES = dummy.c\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:913
msgid ""
"The OCaml objects which contain most of the code are listed as automake "
"dependencies (other dependencies may also be listed):"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:916
#, no-wrap
msgid ""
" virt_customize_DEPENDENCIES = ... customize_main.cmx\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:918
msgid ""
"The only other special thing we need to do is to provide a custom link "
"command.  This is needed because automake won't assemble the ocamlopt "
"command, the list of objects and the C<-cclib> libraries in the correct "
"order otherwise."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:923
#, no-wrap
msgid ""
" virt_customize_LINK = \\\n"
"     $(top_builddir)/ocaml-link.sh -cclib '-lutils -lgnu' -- ...\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:926
msgid ""
"The actual rules, which you can examine in F<customize/Makefile.am>, are a "
"little bit more complicated than this because they have to handle:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:933
msgid "Compiling for byte code or native code."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:937
msgid "The pattern rules needed to compile the OCaml sources to objects."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:939
msgid ""
"These are now kept in F<subdir-rules.mk> at the top level, which is included "
"in every subdirectory F<Makefile.am>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:944
msgid "Adding OCaml sources files to C<EXTRA_DIST>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:946
msgid ""
"Automake isn't aware of the complete list of sources for a binary, so it "
"will not add them all automatically."
msgstr ""

#. type: =head1
#: ../docs/guestfs-hacking.pod:951
msgid "MAINTAINER TASKS"
msgstr ""

#. type: =head2
#: ../docs/guestfs-hacking.pod:953
msgid "MAINTAINER MAKEFILE TARGETS"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:955
msgid ""
"These C<make> targets probably won’t work and aren't useful unless you are a "
"libguestfs maintainer."
msgstr ""

#. type: =head3
#: ../docs/guestfs-hacking.pod:958
msgid "make maintainer-commit"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:960
msgid ""
"This commits everything in the working directory with the commit message "
"C<Version $(VERSION).>.  You must update F<configure.ac>, clean and rebuild "
"first."
msgstr ""

#. type: =head3
#: ../docs/guestfs-hacking.pod:964
msgid "make maintainer-tag"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:966
msgid ""
"This tags the current HEAD commit with the tag C<v$(VERSION)> and one of the "
"messages:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:969
#, no-wrap
msgid ""
" Version $(VERSION) stable\n"
"\n"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:971
#, no-wrap
msgid ""
" Version $(VERSION) development\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:973
msgid ""
"(See L<guestfs(3)/LIBGUESTFS VERSION NUMBERS> for the difference between a "
"stable and development release.)"
msgstr ""

#. type: =head3
#: ../docs/guestfs-hacking.pod:976
msgid "make maintainer-check-authors"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:978
msgid ""
"Check that all authors (found in git commit messages) are included in the "
"F<generator/authors.ml> file."
msgstr ""

#. type: =head3
#: ../docs/guestfs-hacking.pod:981
msgid "make maintainer-check-extra-dist"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:983
msgid ""
"This rule must be run after C<make dist> (so there is a tarball in the "
"working directory).  It compares the contents of the tarball with the "
"contents of git to ensure that no files have been missed from F<Makefile.am> "
"C<EXTRA_DIST> rules."
msgstr ""

#. type: =head3
#: ../docs/guestfs-hacking.pod:988
msgid "make maintainer-upload-website"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:990
msgid ""
"This is used by the software used to automate libguestfs releases to copy "
"the libguestfs website to another git repository before it is uploaded to "
"the web server."
msgstr ""

#. type: =head2
#: ../docs/guestfs-hacking.pod:994
msgid "MAKING A STABLE RELEASE"
msgstr "MAKING A STABLE RELEASE"

#. type: textblock
#: ../docs/guestfs-hacking.pod:996
msgid ""
"When we make a stable release, there are several steps documented here.  See "
"L<guestfs(3)/LIBGUESTFS VERSION NUMBERS> for general information about the "
"stable branch policy."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1004
msgid "Check C<make && make check> works on at least:"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:1008
msgid "Fedora (x86-64)"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:1010
msgid "Debian (x86-64)"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:1012
msgid "Ubuntu (x86-64)"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:1014
msgid "Fedora (aarch64)"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:1016
msgid "Fedora (ppc64)"
msgstr ""

#. type: =item
#: ../docs/guestfs-hacking.pod:1018
msgid "Fedora (ppc64le)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1024
msgid "Check C<./configure --without-libvirt> works."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1028
msgid "Finalize F<guestfs-release-notes.pod>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1032
msgid "Push and pull from Zanata."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1034 ../docs/guestfs-testing.pod:30
#: ../docs/guestfs-testing.pod:215
msgid "Run:"
msgstr "Run:"

#. type: verbatim
#: ../docs/guestfs-hacking.pod:1036
#, no-wrap
msgid ""
" zanata push\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1038
msgid "to push the latest POT files to Zanata.  Then run:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:1040
#, no-wrap
msgid ""
" ./zanata-pull.sh\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1042
msgid "which is a wrapper to pull the latest translated F<*.po> files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1046
msgid "Consider updating gnulib to latest upstream version."
msgstr "Consider updating gnulib to latest upstream version."

#. type: textblock
#: ../docs/guestfs-hacking.pod:1050
msgid ""
"Create new stable and development directories under L<http://libguestfs.org/"
"download>."
msgstr ""
"Create new stable and development directories under L<http://libguestfs.org/"
"download>."

#. type: textblock
#: ../docs/guestfs-hacking.pod:1055
msgid "Edit F<website/index.html.in>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1059
msgid ""
"Set the version (in F<configure.ac>) to the new I<stable> version, ie. 1."
"XX.0, and commit it:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:1062
#, no-wrap
msgid ""
" ./localconfigure\n"
" make distclean -k\n"
" ./localconfigure\n"
" make && make dist\n"
" make maintainer-commit\n"
" make maintainer-tag\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1071
msgid "Create the stable branch in git:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-hacking.pod:1073
#, no-wrap
msgid ""
" git branch stable-1.XX\n"
" git push origin stable-1.XX\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1078
msgid "Do a full release of the stable branch."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1082
msgid ""
"Set the version to the next development version and commit that.  Optionally "
"do a full release of the development branch."
msgstr ""

#. type: =head1
#: ../docs/guestfs-hacking.pod:1087
msgid "INTERNAL DOCUMENTATION"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1089
msgid ""
"This section documents internal functions inside libguestfs and various "
"utilities.  It is intended for libguestfs developers only."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1092
msgid ""
"This section is autogenerated from C</**> comments in source files, which "
"are marked up in POD format."
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1095
msgid ""
"B<These functions are not publicly exported, and may change or be removed at "
"any time.>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1098
msgid "__INTERNAL_DOCUMENTATION__"
msgstr ""

#. type: textblock
#: ../docs/guestfs-hacking.pod:1102
msgid ""
"L<guestfs(3)>, L<guestfs-building(1)>, L<guestfs-examples(3)>, L<guestfs-"
"internals(1)>, L<guestfs-performance(1)>, L<guestfs-release-notes(1)>, "
"L<guestfs-testing(1)>, L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-"
"appliance(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:3
msgid "guestfs-internals - architecture and internals of libguestfs"
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:7
msgid ""
"This manual page is for hackers who want to understand how libguestfs works "
"internally.  This is just a description of how libguestfs works now, and it "
"may change at any time in the future."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:13
msgid ""
"Internally, libguestfs is implemented by running an appliance (a special "
"type of small virtual machine) using L<qemu(1)>.  Qemu runs as a child "
"process of the main program."
msgstr ""
"Internally, libguestfs is implemented by running an appliance (a special "
"type of small virtual machine) using L<qemu(1)>.  Qemu runs as a child "
"process of the main program."

#. type: verbatim
#: ../docs/guestfs-internals.pod:17
#, no-wrap
msgid ""
" ┌───────────────────┐\n"
" │ main program      │\n"
" │                   │\n"
" │                   │           child process / appliance\n"
" │                   │          ┌──────────────────────────┐\n"
" │                   │          │ qemu                     │\n"
" ├───────────────────┤   RPC    │      ┌─────────────────┐ │\n"
" │ libguestfs  ◀╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍▶ guestfsd        │ │\n"
" │                   │          │      ├─────────────────┤ │\n"
" └───────────────────┘          │      │ Linux kernel    │ │\n"
"                                │      └────────┬────────┘ │\n"
"                                └───────────────│──────────┘\n"
"                                                │\n"
"                                                │ virtio-scsi\n"
"                                         ┌──────┴──────┐\n"
"                                         │  Device or  │\n"
"                                         │  disk image │\n"
"                                         └─────────────┘\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:36
msgid ""
"The library, linked to the main program, creates the child process and hence "
"the appliance in the L<guestfs(3)/guestfs_launch> function."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:39
msgid ""
"Inside the appliance is a Linux kernel and a complete stack of userspace "
"tools (such as LVM and ext2 programs) and a small controlling daemon called "
"L</guestfsd>.  The library talks to L</guestfsd> using remote procedure "
"calls (RPC).  There is a mostly one-to-one correspondence between libguestfs "
"API calls and RPC calls to the daemon.  Lastly the disk image(s) are "
"attached to the qemu process which translates device access by the "
"appliance’s Linux kernel into accesses to the image."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:48
msgid ""
"A common misunderstanding is that the appliance \"is\" the virtual machine.  "
"Although the disk image you are attached to might also be used by some "
"virtual machine, libguestfs doesn't know or care about this.  (But you will "
"care if both libguestfs’s qemu process and your virtual machine are trying "
"to update the disk image at the same time, since these usually results in "
"massive disk corruption)."
msgstr ""

#. type: =head1
#: ../docs/guestfs-internals.pod:55
msgid "STATE MACHINE"
msgstr "STATE MACHINE"

#. type: textblock
#: ../docs/guestfs-internals.pod:57
msgid "libguestfs uses a state machine to model the child process:"
msgstr "libguestfs uses a state machine to model the child process:"

#. type: verbatim
#: ../docs/guestfs-internals.pod:59
#, no-wrap
msgid ""
"                         |\n"
"          guestfs_create / guestfs_create_flags\n"
"                         |\n"
"                         |\n"
"                     ____V_____\n"
"                    /          \\\n"
"                    |  CONFIG  |\n"
"                    \\__________/\n"
"                       ^   ^  \\\n"
"                       |    \\  \\ guestfs_launch\n"
"                       |    _\\__V______\n"
"                       |   /           \\\n"
"                       |   | LAUNCHING |\n"
"                       |   \\___________/\n"
"                       |       /\n"
"                       |  guestfs_launch\n"
"                       |     /\n"
"                     __|____V\n"
"                    /        \\\n"
"                    | READY  |\n"
"                    \\________/\n"
"\n"
msgstr ""
"                         |\n"
"          guestfs_create / guestfs_create_flags\n"
"                         |\n"
"                         |\n"
"                     ____V_____\n"
"                    /          \\\n"
"                    |  CONFIG  |\n"
"                    \\__________/\n"
"                       ^   ^  \\\n"
"                       |    \\  \\ guestfs_launch\n"
"                       |    _\\__V______\n"
"                       |   /           \\\n"
"                       |   | LAUNCHING |\n"
"                       |   \\___________/\n"
"                       |       /\n"
"                       |  guestfs_launch\n"
"                       |     /\n"
"                     __|____V\n"
"                    /        \\\n"
"                    | READY  |\n"
"                    \\________/\n"
"\n"

#. type: textblock
#: ../docs/guestfs-internals.pod:81
msgid ""
"The normal transitions are (1) CONFIG (when the handle is created, but there "
"is no child process), (2) LAUNCHING (when the child process is booting up), "
"(3) READY meaning the appliance is up, actions can be issued to, and carried "
"out by, the child process."
msgstr ""
"The normal transitions are (1) CONFIG (when the handle is created, but there "
"is no child process), (2) LAUNCHING (when the child process is booting up), "
"(3) READY meaning the appliance is up, actions can be issued to, and carried "
"out by, the child process."

#. type: textblock
#: ../docs/guestfs-internals.pod:86
msgid ""
"The guest may be killed by L<guestfs(3)/guestfs_kill_subprocess>, or may die "
"asynchronously at any time (eg. due to some internal error), and that causes "
"the state to transition back to CONFIG."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:90
msgid ""
"Configuration commands for qemu such as L<guestfs(3)/guestfs_set_path> can "
"only be issued when in the CONFIG state."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:93
msgid ""
"The API offers one call that goes from CONFIG through LAUNCHING to READY.  "
"L<guestfs(3)/guestfs_launch> blocks until the child process is READY to "
"accept commands (or until some failure or timeout).  L<guestfs(3)/"
"guestfs_launch> internally moves the state from CONFIG to LAUNCHING while it "
"is running."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:99
msgid ""
"API actions such as L<guestfs(3)/guestfs_mount> can only be issued when in "
"the READY state.  These API calls block waiting for the command to be "
"carried out.  There are no non-blocking versions, and no way to issue more "
"than one command per handle at the same time."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:104
msgid ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages.  You can register a callback to "
"receive these messages."
msgstr ""
"Finally, the child process sends asynchronous messages back to the main "
"program, such as kernel log messages.  You can register a callback to "
"receive these messages."

#. type: =head1
#: ../docs/guestfs-internals.pod:108
msgid "INTERNALS"
msgstr "INTERNALS"

#. type: =head2
#: ../docs/guestfs-internals.pod:110
msgid "APPLIANCE BOOT PROCESS"
msgstr "APPLIANCE BOOT PROCESS"

#. type: textblock
#: ../docs/guestfs-internals.pod:112
msgid ""
"This process has evolved and continues to evolve.  The description here "
"corresponds only to the current version of libguestfs and is provided for "
"information only."
msgstr ""
"This process has evolved and continues to evolve.  The description here "
"corresponds only to the current version of libguestfs and is provided for "
"information only."

#. type: textblock
#: ../docs/guestfs-internals.pod:116
msgid ""
"In order to follow the stages involved below, enable libguestfs debugging "
"(set the environment variable C<LIBGUESTFS_DEBUG=1>)."
msgstr ""
"In order to follow the stages involved below, enable libguestfs debugging "
"(set the environment variable C<LIBGUESTFS_DEBUG=1>)."

#. type: =item
#: ../docs/guestfs-internals.pod:121
msgid "Create the appliance"
msgstr "Create the appliance"

#. type: textblock
#: ../docs/guestfs-internals.pod:123
msgid ""
"C<supermin --build> is invoked to create the kernel, a small initrd and the "
"appliance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:126
msgid ""
"The appliance is cached in F</var/tmp/.guestfs-E<lt>UIDE<gt>> (or in another "
"directory if C<LIBGUESTFS_CACHEDIR> or C<TMPDIR> are set)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:129
msgid ""
"For a complete description of how the appliance is created and cached, read "
"the L<supermin(1)> man page."
msgstr ""

#. type: =item
#: ../docs/guestfs-internals.pod:132
msgid "Start qemu and boot the kernel"
msgstr "Start qemu and boot the kernel"

#. type: textblock
#: ../docs/guestfs-internals.pod:134
msgid "qemu is invoked to boot the kernel."
msgstr "qemu is invoked to boot the kernel."

#. type: =item
#: ../docs/guestfs-internals.pod:136
msgid "Run the initrd"
msgstr "Run the initrd"

#. type: textblock
#: ../docs/guestfs-internals.pod:138
msgid ""
"C<supermin --build> builds a small initrd.  The initrd is not the "
"appliance.  The purpose of the initrd is to load enough kernel modules in "
"order that the appliance itself can be mounted and started."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:142
msgid ""
"The initrd is a cpio archive called F</var/tmp/.guestfs-E<lt>UIDE<gt>/"
"appliance.d/initrd>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:145
msgid ""
"When the initrd has started you will see messages showing that kernel "
"modules are being loaded, similar to this:"
msgstr ""
"When the initrd has started you will see messages showing that kernel "
"modules are being loaded, similar to this:"

#. type: verbatim
#: ../docs/guestfs-internals.pod:148
#, no-wrap
msgid ""
" supermin: ext2 mini initrd starting up\n"
" supermin: mounting /sys\n"
" supermin: internal insmod libcrc32c.ko\n"
" supermin: internal insmod crc32c-intel.ko\n"
"\n"
msgstr ""
" supermin: ext2 mini initrd starting up\n"
" supermin: mounting /sys\n"
" supermin: internal insmod libcrc32c.ko\n"
" supermin: internal insmod crc32c-intel.ko\n"
"\n"

#. type: =item
#: ../docs/guestfs-internals.pod:153
msgid "Find and mount the appliance device"
msgstr "Find and mount the appliance device"

#. type: textblock
#: ../docs/guestfs-internals.pod:155
msgid ""
"The appliance is a sparse file containing an ext2 filesystem which contains "
"a familiar (although reduced in size) Linux operating system.  It would "
"normally be called F</var/tmp/.guestfs-E<lt>UIDE<gt>/appliance.d/root>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:160
msgid ""
"The regular disks being inspected by libguestfs are the first devices "
"exposed by qemu (eg. as F</dev/vda>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:163
msgid ""
"The last disk added to qemu is the appliance itself (eg. F</dev/vdb> if "
"there was only one regular disk)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:166
msgid ""
"Thus the final job of the initrd is to locate the appliance disk, mount it, "
"and switch root into the appliance, and run F</init> from the appliance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:170
msgid "If this works successfully you will see messages such as:"
msgstr "If this works successfully you will see messages such as:"

#. type: verbatim
#: ../docs/guestfs-internals.pod:172
#, no-wrap
msgid ""
" supermin: picked /sys/block/vdb/dev as root device\n"
" supermin: creating /dev/root as block special 252:16\n"
" supermin: mounting new root on /root\n"
" supermin: chroot\n"
" Starting /init script ...\n"
"\n"
msgstr ""
" supermin: picked /sys/block/vdb/dev as root device\n"
" supermin: creating /dev/root as block special 252:16\n"
" supermin: mounting new root on /root\n"
" supermin: chroot\n"
" Starting /init script ...\n"
"\n"

#. type: textblock
#: ../docs/guestfs-internals.pod:178
msgid ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."
msgstr ""
"Note that C<Starting /init script ...> indicates that the appliance's init "
"script is now running."

#. type: =item
#: ../docs/guestfs-internals.pod:181
msgid "Initialize the appliance"
msgstr "Initialise the appliance"

#. type: textblock
#: ../docs/guestfs-internals.pod:183
msgid ""
"The appliance itself now initializes itself.  This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
"finally running the daemon (C<guestfsd>)."
msgstr ""
"The appliance itself now initialises itself.  This involves starting certain "
"processes like C<udev>, possibly printing some debug information, and "
"finally running the daemon (C<guestfsd>)."

#. type: =item
#: ../docs/guestfs-internals.pod:187
msgid "The daemon"
msgstr "The daemon"

#. type: textblock
#: ../docs/guestfs-internals.pod:189
msgid ""
"Finally the daemon (C<guestfsd>) runs inside the appliance.  If it runs you "
"should see:"
msgstr ""
"Finally the daemon (C<guestfsd>) runs inside the appliance.  If it runs you "
"should see:"

#. type: verbatim
#: ../docs/guestfs-internals.pod:192
#, no-wrap
msgid ""
" verbose daemon enabled\n"
"\n"
msgstr ""
" verbose daemon enabled\n"
"\n"

#. type: textblock
#: ../docs/guestfs-internals.pod:194
msgid ""
"The daemon expects to see a named virtio-serial port exposed by qemu and "
"connected on the other end to the library."
msgstr ""
"The daemon expects to see a named virtio-serial port exposed by qemu and "
"connected on the other end to the library."

#. type: textblock
#: ../docs/guestfs-internals.pod:197
msgid ""
"The daemon connects to this port (and hence to the library) and sends a four "
"byte message C<GUESTFS_LAUNCH_FLAG>, which initiates the communication "
"protocol (see below)."
msgstr ""
"The daemon connects to this port (and hence to the library) and sends a four "
"byte message C<GUESTFS_LAUNCH_FLAG>, which initiates the communication "
"protocol (see below)."

#. type: =head2
#: ../docs/guestfs-internals.pod:203
msgid "COMMUNICATION PROTOCOL"
msgstr "COMMUNICATION PROTOCOL"

#. type: textblock
#: ../docs/guestfs-internals.pod:205
msgid ""
"Don’t rely on using this protocol directly.  This section documents how it "
"currently works, but it may change at any time."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:208
msgid ""
"The protocol used to talk between the library and the daemon running inside "
"the qemu virtual machine is a simple RPC mechanism built on top of XDR (RFC "
"1014, RFC 1832, RFC 4506)."
msgstr ""
"The protocol used to talk between the library and the daemon running inside "
"the qemu virtual machine is a simple RPC mechanism built on top of XDR (RFC "
"1014, RFC 1832, RFC 4506)."

#. type: textblock
#: ../docs/guestfs-internals.pod:212
msgid ""
"The detailed format of structures is in F<common/protocol/guestfs_protocol."
"x> (note: this file is automatically generated)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:215
msgid ""
"There are two broad cases, ordinary functions that don’t have any C<FileIn> "
"and C<FileOut> parameters, which are handled with very simple request/reply "
"messages.  Then there are functions that have any C<FileIn> or C<FileOut> "
"parameters, which use the same request and reply messages, but they may also "
"be followed by files sent using a chunked encoding."
msgstr ""

#. type: =head3
#: ../docs/guestfs-internals.pod:222
msgid "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"
msgstr "ORDINARY FUNCTIONS (NO FILEIN/FILEOUT PARAMS)"

#. type: textblock
#: ../docs/guestfs-internals.pod:224
msgid "For ordinary functions, the request message is:"
msgstr "For ordinary functions, the request message is:"

#. type: verbatim
#: ../docs/guestfs-internals.pod:226
#, no-wrap
msgid ""
" total length (header + arguments,\n"
"      but not including the length word itself)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_<foo>_args (encoded as XDR)\n"
"\n"
msgstr ""
" total length (header + arguments,\n"
"      but not including the length word itself)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_<foo>_args (encoded as XDR)\n"
"\n"

#. type: textblock
#: ../docs/guestfs-internals.pod:231
msgid ""
"The total length field allows the daemon to allocate a fixed size buffer "
"into which it slurps the rest of the message.  As a result, the total length "
"is limited to C<GUESTFS_MESSAGE_MAX> bytes (currently 4MB), which means the "
"effective size of any request is limited to somewhere under this size."
msgstr ""
"The total length field allows the daemon to allocate a fixed size buffer "
"into which it slurps the rest of the message.  As a result, the total length "
"is limited to C<GUESTFS_MESSAGE_MAX> bytes (currently 4MB), which means the "
"effective size of any request is limited to somewhere under this size."

#. type: textblock
#: ../docs/guestfs-internals.pod:237
msgid ""
"Note also that many functions don’t take any arguments, in which case the "
"C<guestfs_I<foo>_args> is completely omitted."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:240
msgid ""
"The header contains the procedure number (C<guestfs_proc>) which is how the "
"receiver knows what type of args structure to expect, or none at all."
msgstr ""
"The header contains the procedure number (C<guestfs_proc>) which is how the "
"receiver knows what type of args structure to expect, or none at all."

#. type: textblock
#: ../docs/guestfs-internals.pod:244
msgid ""
"For functions that take optional arguments, the optional arguments are "
"encoded in the C<guestfs_I<foo>_args> structure in the same way as ordinary "
"arguments.  A bitmask in the header indicates which optional arguments are "
"meaningful.  The bitmask is also checked to see if it contains bits set "
"which the daemon does not know about (eg. if more optional arguments were "
"added in a later version of the library), and this causes the call to be "
"rejected."
msgstr ""
"For functions that take optional arguments, the optional arguments are "
"encoded in the C<guestfs_I<foo>_args> structure in the same way as ordinary "
"arguments.  A bitmask in the header indicates which optional arguments are "
"meaningful.  The bitmask is also checked to see if it contains bits set "
"which the daemon does not know about (eg. if more optional arguments were "
"added in a later version of the library), and this causes the call to be "
"rejected."

#. type: textblock
#: ../docs/guestfs-internals.pod:252
msgid "The reply message for ordinary functions is:"
msgstr "The reply message for ordinary functions is:"

#. type: verbatim
#: ../docs/guestfs-internals.pod:254
#, no-wrap
msgid ""
" total length (header + ret,\n"
"      but not including the length word itself)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_<foo>_ret (encoded as XDR)\n"
"\n"
msgstr ""
" total length (header + ret,\n"
"      but not including the length word itself)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_<foo>_ret (encoded as XDR)\n"
"\n"

#. type: textblock
#: ../docs/guestfs-internals.pod:259
msgid ""
"As above the C<guestfs_I<foo>_ret> structure may be completely omitted for "
"functions that return no formal return values."
msgstr ""
"As above the C<guestfs_I<foo>_ret> structure may be completely omitted for "
"functions that return no formal return values."

#. type: textblock
#: ../docs/guestfs-internals.pod:262
msgid ""
"As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."
msgstr ""
"As above the total length of the reply is limited to C<GUESTFS_MESSAGE_MAX>."

#. type: textblock
#: ../docs/guestfs-internals.pod:265
msgid ""
"In the case of an error, a flag is set in the header, and the reply message "
"is slightly changed:"
msgstr ""
"In the case of an error, a flag is set in the header, and the reply message "
"is slightly changed:"

#. type: verbatim
#: ../docs/guestfs-internals.pod:268
#, no-wrap
msgid ""
" total length (header + error,\n"
"      but not including the length word itself)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_message_error (encoded as XDR)\n"
"\n"
msgstr ""
" total length (header + error,\n"
"      but not including the length word itself)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_message_error (encoded as XDR)\n"
"\n"

#. type: textblock
#: ../docs/guestfs-internals.pod:273
msgid ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."
msgstr ""
"The C<guestfs_message_error> structure contains the error message as a "
"string."

#. type: =head3
#: ../docs/guestfs-internals.pod:276
msgid "FUNCTIONS THAT HAVE FILEIN PARAMETERS"
msgstr "FUNCTIONS THAT HAVE FILEIN PARAMETERS"

#. type: textblock
#: ../docs/guestfs-internals.pod:278
msgid ""
"A C<FileIn> parameter indicates that we transfer a file I<into> the guest.  "
"The normal request message is sent (see above).  However this is followed by "
"a sequence of file chunks."
msgstr ""
"A C<FileIn> parameter indicates that we transfer a file I<into> the guest.  "
"The normal request message is sent (see above).  However this is followed by "
"a sequence of file chunks."

#. type: verbatim
#: ../docs/guestfs-internals.pod:282
#, no-wrap
msgid ""
" total length (header + arguments,\n"
"      but not including the length word itself,\n"
"      and not including the chunks)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_<foo>_args (encoded as XDR)\n"
" sequence of chunks for FileIn param #0\n"
" sequence of chunks for FileIn param #1 etc.\n"
"\n"
msgstr ""
" total length (header + arguments,\n"
"      but not including the length word itself,\n"
"      and not including the chunks)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_<foo>_args (encoded as XDR)\n"
" sequence of chunks for FileIn param #0\n"
" sequence of chunks for FileIn param #1 etc.\n"
"\n"

#. type: textblock
#: ../docs/guestfs-internals.pod:290
msgid "The \"sequence of chunks\" is:"
msgstr "The \"sequence of chunks\" is:"

#. type: verbatim
#: ../docs/guestfs-internals.pod:292
#, no-wrap
msgid ""
" length of chunk (not including length word itself)\n"
" struct guestfs_chunk (encoded as XDR)\n"
" length of chunk\n"
" struct guestfs_chunk (encoded as XDR)\n"
"   ...\n"
" length of chunk\n"
" struct guestfs_chunk (with data.data_len == 0)\n"
"\n"
msgstr ""
" length of chunk (not including length word itself)\n"
" struct guestfs_chunk (encoded as XDR)\n"
" length of chunk\n"
" struct guestfs_chunk (encoded as XDR)\n"
"   ...\n"
" length of chunk\n"
" struct guestfs_chunk (with data.data_len == 0)\n"
"\n"

#. type: textblock
#: ../docs/guestfs-internals.pod:300
msgid ""
"The final chunk has the C<data_len> field set to zero.  Additionally a flag "
"is set in the final chunk to indicate either successful completion or early "
"cancellation."
msgstr ""
"The final chunk has the C<data_len> field set to zero.  Additionally a flag "
"is set in the final chunk to indicate either successful completion or early "
"cancellation."

#. type: textblock
#: ../docs/guestfs-internals.pod:304
msgid ""
"At time of writing there are no functions that have more than one FileIn "
"parameter.  However this is (theoretically) supported, by sending the "
"sequence of chunks for each FileIn parameter one after another (from left to "
"right)."
msgstr ""
"At time of writing there are no functions that have more than one FileIn "
"parameter.  However this is (theoretically) supported, by sending the "
"sequence of chunks for each FileIn parameter one after another (from left to "
"right)."

#. type: textblock
#: ../docs/guestfs-internals.pod:309
msgid ""
"Both the library (sender) I<and> the daemon (receiver) may cancel the "
"transfer.  The library does this by sending a chunk with a special flag set "
"to indicate cancellation.  When the daemon sees this, it cancels the whole "
"RPC, does I<not> send any reply, and goes back to reading the next request."
msgstr ""
"Both the library (sender) I<and> the daemon (receiver) may cancel the "
"transfer.  The library does this by sending a chunk with a special flag set "
"to indicate cancellation.  When the daemon sees this, it cancels the whole "
"RPC, does I<not> send any reply, and goes back to reading the next request."

#. type: textblock
#: ../docs/guestfs-internals.pod:315
msgid ""
"The daemon may also cancel.  It does this by writing a special word "
"C<GUESTFS_CANCEL_FLAG> to the socket.  The library listens for this during "
"the transfer, and if it gets it, it will cancel the transfer (it sends a "
"cancel chunk).  The special word is chosen so that even if cancellation "
"happens right at the end of the transfer (after the library has finished "
"writing and has started listening for the reply), the \"spurious\" cancel "
"flag will not be confused with the reply message."
msgstr ""
"The daemon may also cancel.  It does this by writing a special word "
"C<GUESTFS_CANCEL_FLAG> to the socket.  The library listens for this during "
"the transfer, and if it gets it, it will cancel the transfer (it sends a "
"cancel chunk).  The special word is chosen so that even if cancellation "
"happens right at the end of the transfer (after the library has finished "
"writing and has started listening for the reply), the \"spurious\" cancel "
"flag will not be confused with the reply message."

#. type: textblock
#: ../docs/guestfs-internals.pod:324
msgid ""
"This protocol allows the transfer of arbitrary sized files (no 32 bit "
"limit), and also files where the size is not known in advance (eg. from "
"pipes or sockets).  However the chunks are rather small "
"(C<GUESTFS_MAX_CHUNK_SIZE>), so that neither the library nor the daemon need "
"to keep much in memory."
msgstr ""
"This protocol allows the transfer of arbitrary sized files (no 32 bit "
"limit), and also files where the size is not known in advance (eg. from "
"pipes or sockets).  However the chunks are rather small "
"(C<GUESTFS_MAX_CHUNK_SIZE>), so that neither the library nor the daemon need "
"to keep much in memory."

#. type: =head3
#: ../docs/guestfs-internals.pod:330
msgid "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"
msgstr "FUNCTIONS THAT HAVE FILEOUT PARAMETERS"

#. type: textblock
#: ../docs/guestfs-internals.pod:332
msgid ""
"The protocol for FileOut parameters is exactly the same as for FileIn "
"parameters, but with the roles of daemon and library reversed."
msgstr ""
"The protocol for FileOut parameters is exactly the same as for FileIn "
"parameters, but with the roles of daemon and library reversed."

#. type: verbatim
#: ../docs/guestfs-internals.pod:335
#, no-wrap
msgid ""
" total length (header + ret,\n"
"      but not including the length word itself,\n"
"      and not including the chunks)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_<foo>_ret (encoded as XDR)\n"
" sequence of chunks for FileOut param #0\n"
" sequence of chunks for FileOut param #1 etc.\n"
"\n"
msgstr ""
" total length (header + ret,\n"
"      but not including the length word itself,\n"
"      and not including the chunks)\n"
" struct guestfs_message_header (encoded as XDR)\n"
" struct guestfs_<foo>_ret (encoded as XDR)\n"
" sequence of chunks for FileOut param #0\n"
" sequence of chunks for FileOut param #1 etc.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-internals.pod:343
msgid "INITIAL MESSAGE"
msgstr "INITIAL MESSAGE"

#. type: textblock
#: ../docs/guestfs-internals.pod:345
msgid ""
"When the daemon launches it sends an initial word (C<GUESTFS_LAUNCH_FLAG>) "
"which indicates that the guest and daemon is alive.  This is what "
"L<guestfs(3)/guestfs_launch> waits for."
msgstr ""

#. type: =head3
#: ../docs/guestfs-internals.pod:349
msgid "PROGRESS NOTIFICATION MESSAGES"
msgstr "PROGRESS NOTIFICATION MESSAGES"

#. type: textblock
#: ../docs/guestfs-internals.pod:351
msgid ""
"The daemon may send progress notification messages at any time.  These are "
"distinguished by the normal length word being replaced by "
"C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message."
msgstr ""
"The daemon may send progress notification messages at any time.  These are "
"distinguished by the normal length word being replaced by "
"C<GUESTFS_PROGRESS_FLAG>, followed by a fixed size progress message."

#. type: textblock
#: ../docs/guestfs-internals.pod:355
msgid ""
"The library turns them into progress callbacks (see L<guestfs(3)/"
"GUESTFS_EVENT_PROGRESS>) if there is a callback registered, or discards them "
"if not."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:359
msgid ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
"messages."
msgstr ""
"The daemon self-limits the frequency of progress messages it sends (see "
"C<daemon/proto.c:notify_progress>).  Not all calls generate progress "
"messages."

#. type: =head2
#: ../docs/guestfs-internals.pod:363
msgid "FIXED APPLIANCE"
msgstr "FIXED APPLIANCE"

#. type: textblock
#: ../docs/guestfs-internals.pod:365
msgid ""
"When libguestfs (or libguestfs tools) are run, they search a path looking "
"for an appliance.  The path is built into libguestfs, or can be set using "
"the C<LIBGUESTFS_PATH> environment variable."
msgstr ""
"When libguestfs (or libguestfs tools) are run, they search a path looking "
"for an appliance.  The path is built into libguestfs, or can be set using "
"the C<LIBGUESTFS_PATH> environment variable."

#. type: textblock
#: ../docs/guestfs-internals.pod:369
msgid ""
"Normally a supermin appliance is located on this path (see L<supermin(1)/"
"SUPERMIN APPLIANCE>).  libguestfs reconstructs this into a full appliance by "
"running C<supermin --build>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:373
msgid ""
"However, a simpler \"fixed appliance\" can also be used.  libguestfs detects "
"this by looking for a directory on the path containing all the following "
"files:"
msgstr ""

#. type: =item
#: ../docs/guestfs-internals.pod:379
msgid "* F<kernel>"
msgstr ""

#. type: =item
#: ../docs/guestfs-internals.pod:381
msgid "* F<initrd>"
msgstr ""

#. type: =item
#: ../docs/guestfs-internals.pod:383
msgid "* F<root>"
msgstr ""

#. type: =item
#: ../docs/guestfs-internals.pod:385
msgid "* F<README.fixed> (note that it B<must> be present as well)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:389
msgid ""
"If the fixed appliance is found, libguestfs skips supermin entirely and just "
"runs the virtual machine (using qemu or the current backend, see "
"L<guestfs(3)/BACKEND>) with the kernel, initrd and root disk from the fixed "
"appliance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:394
msgid ""
"Thus the fixed appliance can be used when a platform or a Linux distribution "
"does not support supermin.  You build the fixed appliance on a platform that "
"does support supermin using L<libguestfs-make-fixed-appliance(1)>, copy it "
"over, and use that to run libguestfs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-internals.pod:402
msgid ""
"L<guestfs(3)>, L<guestfs-hacking(1)>, L<guestfs-examples(3)>, L<libguestfs-"
"test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>, L<http://libguestfs."
"org/>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:3
msgid "guestfs-performance - engineering libguestfs for greatest performance"
msgstr "guestfs-performance - engineering libguestfs for greatest performance"

#. type: textblock
#: ../docs/guestfs-performance.pod:7
msgid ""
"This page documents how to get the greatest performance out of libguestfs, "
"especially when you expect to use libguestfs to manipulate thousands of "
"virtual machines or disk images."
msgstr ""
"This page documents how to get the greatest performance out of libguestfs, "
"especially when you expect to use libguestfs to manipulate thousands of "
"virtual machines or disk images."

#. type: textblock
#: ../docs/guestfs-performance.pod:11
msgid ""
"Three main areas are covered. Libguestfs runs an appliance (a small Linux "
"distribution) inside qemu/KVM.  The first two areas are: minimizing the time "
"taken to start this appliance, and the number of times the appliance has to "
"be started.  The third area is shortening the time taken for inspection of "
"VMs."
msgstr ""
"Three main areas are covered. Libguestfs runs an appliance (a small Linux "
"distribution) inside qemu/KVM.  The first two areas are: minimising the time "
"taken to start this appliance, and the number of times the appliance has to "
"be started.  The third area is shortening the time taken for inspection of "
"VMs."

#. type: =head1
#: ../docs/guestfs-performance.pod:17
msgid "BASELINE MEASUREMENTS"
msgstr "BASELINE MEASUREMENTS"

#. type: textblock
#: ../docs/guestfs-performance.pod:19
msgid ""
"Before making changes to how you use libguestfs, take baseline measurements."
msgstr ""
"Before making changes to how you use libguestfs, take baseline measurements."

#. type: =head2
#: ../docs/guestfs-performance.pod:22
msgid "Baseline: Starting the appliance"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:24
msgid ""
"On an unloaded machine, time how long it takes to start up the appliance:"
msgstr ""
"On an unloaded machine, time how long it takes to start up the appliance:"

#. type: verbatim
#: ../docs/guestfs-performance.pod:27 ../docs/guestfs-performance.pod:175
#: ../docs/guestfs-testing.pod:48
#, no-wrap
msgid ""
" time guestfish -a /dev/null run\n"
"\n"
msgstr ""
" time guestfish -a /dev/null run\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:29
msgid ""
"Run this command several times in a row and discard the first few runs, so "
"that you are measuring a typical \"hot cache\" case."
msgstr ""
"Run this command several times in a row and discard the first few runs, so "
"that you are measuring a typical \"hot cache\" case."

#. type: textblock
#: ../docs/guestfs-performance.pod:32
msgid ""
"I<Side note for developers:> There is a program called F<boot-benchmark> in "
"L<https://github.com/libguestfs/libguestfs-analysis-tools> which does the "
"same thing, but performs multiple runs and prints the mean and standard "
"deviation."
msgstr ""

#. type: =head3
#: ../docs/guestfs-performance.pod:38 ../docs/guestfs-performance.pod:71
msgid "Explanation"
msgstr "Explanation"

#. type: textblock
#: ../docs/guestfs-performance.pod:40
msgid ""
"The guestfish command above starts up the libguestfs appliance on a null "
"disk, and then immediately shuts it down.  The first time you run the "
"command, it will create an appliance and cache it (usually under F</var/tmp/."
"guestfs-*>).  Subsequent runs should reuse the cached appliance."
msgstr ""

#. type: =head3
#: ../docs/guestfs-performance.pod:46 ../docs/guestfs-performance.pod:82
msgid "Expected results"
msgstr "Expected results"

#. type: textblock
#: ../docs/guestfs-performance.pod:48
msgid ""
"You should expect to be getting times under 6 seconds.  If the times you see "
"on an unloaded machine are above this, then see the section L</"
"TROUBLESHOOTING POOR PERFORMANCE> below."
msgstr ""
"You should expect to be getting times under 6 seconds.  If the times you see "
"on an unloaded machine are above this, then see the section L</"
"TROUBLESHOOTING POOR PERFORMANCE> below."

#. type: =head2
#: ../docs/guestfs-performance.pod:52
msgid "Baseline: Performing inspection of a guest"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:54
msgid ""
"For this test you will need an unloaded machine and at least one real guest "
"or disk image.  If you are planning to use libguestfs against only X guests "
"(eg. X = Windows), then using an X guest here would be most appropriate.  If "
"you are planning to run libguestfs against a mix of guests, then use a mix "
"of guests for testing here."
msgstr ""
"For this test you will need an unloaded machine and at least one real guest "
"or disk image.  If you are planning to use libguestfs against only X guests "
"(eg. X = Windows), then using an X guest here would be most appropriate.  If "
"you are planning to run libguestfs against a mix of guests, then use a mix "
"of guests for testing here."

#. type: textblock
#: ../docs/guestfs-performance.pod:60
msgid ""
"Time how long it takes to perform inspection and mount the disks of the "
"guest.  Use the first command if you will be using disk images, and the "
"second command if you will be using libvirt."
msgstr ""
"Time how long it takes to perform inspection and mount the disks of the "
"guest.  Use the first command if you will be using disk images, and the "
"second command if you will be using libvirt."

#. type: verbatim
#: ../docs/guestfs-performance.pod:64
#, no-wrap
msgid ""
" time guestfish --ro -a disk.img -i exit\n"
"\n"
msgstr ""
" time guestfish --ro -a disk.img -i exit\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:66
#, no-wrap
msgid ""
" time guestfish --ro -d GuestName -i exit\n"
"\n"
msgstr ""
" time guestfish --ro -d GuestName -i exit\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:68
msgid ""
"Run the command several times in a row and discard the first few runs, so "
"that you are measuring a typical \"hot cache\" case."
msgstr ""
"Run the command several times in a row and discard the first few runs, so "
"that you are measuring a typical \"hot cache\" case."

#. type: textblock
#: ../docs/guestfs-performance.pod:73
msgid ""
"This command starts up the libguestfs appliance on the named disk image or "
"libvirt guest, performs libguestfs inspection on it (see L<guestfs(3)/"
"INSPECTION>), mounts the guest’s disks, then discards all these results and "
"shuts down."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:78
msgid ""
"The first time you run the command, it will create an appliance and cache it "
"(usually under F</var/tmp/.guestfs-*>).  Subsequent runs should reuse the "
"cached appliance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:84
msgid ""
"You should expect times which are E<le> 5 seconds greater than measured in "
"the first baseline test above.  (For example, if the first baseline test ran "
"in 5 seconds, then this test should run in E<le> 10 seconds)."
msgstr ""
"You should expect times which are E<le> 5 seconds greater than measured in "
"the first baseline test above.  (For example, if the first baseline test ran "
"in 5 seconds, then this test should run in E<le> 10 seconds)."

#. type: =head1
#: ../docs/guestfs-performance.pod:89
msgid "UNDERSTANDING THE APPLIANCE AND WHEN IT IS BUILT/CACHED"
msgstr "UNDERSTANDING THE APPLIANCE AND WHEN IT IS BUILT/CACHED"

#. type: textblock
#: ../docs/guestfs-performance.pod:91
msgid ""
"The first time you use libguestfs, it will build and cache an appliance.  "
"This is usually in F</var/tmp/.guestfs-*>, unless you have set C<$TMPDIR> or "
"C<$LIBGUESTFS_CACHEDIR> in which case it will be under that temporary "
"directory."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:96
msgid ""
"For more information about how the appliance is constructed, see "
"L<supermin(1)/SUPERMIN APPLIANCES>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:99
msgid ""
"Every time libguestfs runs it will check that no host files used by the "
"appliance have changed.  If any have, then the appliance is rebuilt.  This "
"usually happens when a package is installed or updated on the host (eg. "
"using programs like C<yum> or C<apt-get>).  The reason for reconstructing "
"the appliance is security: the new program that has been installed might "
"contain a security fix, and so we want to include the fixed program in the "
"appliance automatically."
msgstr ""
"Every time libguestfs runs it will check that no host files used by the "
"appliance have changed.  If any have, then the appliance is rebuilt.  This "
"usually happens when a package is installed or updated on the host (eg. "
"using programs like C<yum> or C<apt-get>).  The reason for reconstructing "
"the appliance is security: the new program that has been installed might "
"contain a security fix, and so we want to include the fixed program in the "
"appliance automatically."

#. type: textblock
#: ../docs/guestfs-performance.pod:107
msgid "These are the performance implications:"
msgstr "These are the performance implications:"

#. type: textblock
#: ../docs/guestfs-performance.pod:113
msgid ""
"The process of building (or rebuilding) the cached appliance is slow, and "
"you can avoid this happening by using a fixed appliance (see below)."
msgstr ""
"The process of building (or rebuilding) the cached appliance is slow, and "
"you can avoid this happening by using a fixed appliance (see below)."

#. type: textblock
#: ../docs/guestfs-performance.pod:119
msgid ""
"If not using a fixed appliance, be aware that updating software on the host "
"will cause a one time rebuild of the appliance."
msgstr ""
"If not using a fixed appliance, be aware that updating software on the host "
"will cause a one time rebuild of the appliance."

#. type: textblock
#: ../docs/guestfs-performance.pod:124
msgid ""
"F</var/tmp> (or C<$TMPDIR>, C<$LIBGUESTFS_CACHEDIR>) should be on a fast "
"disk, and have plenty of space for the appliance."
msgstr ""

#. type: =head1
#: ../docs/guestfs-performance.pod:129
msgid "USING A FIXED APPLIANCE"
msgstr "USING A FIXED APPLIANCE"

#. type: textblock
#: ../docs/guestfs-performance.pod:131
msgid ""
"To fully control when the appliance is built, you can build a fixed "
"appliance.  This appliance should be stored on a fast local disk."
msgstr ""
"To fully control when the appliance is built, you can build a fixed "
"appliance.  This appliance should be stored on a fast local disk."

#. type: textblock
#: ../docs/guestfs-performance.pod:134
msgid "To build the appliance, run the command:"
msgstr "To build the appliance, run the command:"

#. type: verbatim
#: ../docs/guestfs-performance.pod:136
#, no-wrap
msgid ""
" libguestfs-make-fixed-appliance <directory>\n"
"\n"
msgstr ""
" libguestfs-make-fixed-appliance <directory>\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:138
msgid ""
"replacing C<E<lt>directoryE<gt>> with the name of a directory where the "
"appliance will be stored (normally you would name a subdirectory, for "
"example: F</usr/local/lib/guestfs/appliance> or F</dev/shm/appliance>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:143
msgid ""
"Then set C<$LIBGUESTFS_PATH> (and ensure this environment variable is set in "
"your libguestfs program), or modify your program so it calls "
"C<guestfs_set_path>.  For example:"
msgstr ""
"Then set C<$LIBGUESTFS_PATH> (and ensure this environment variable is set in "
"your libguestfs program), or modify your program so it calls "
"C<guestfs_set_path>.  For example:"

#. type: textblock
#: ../docs/guestfs-performance.pod:149
msgid ""
"Now you can run libguestfs programs, virt tools, guestfish etc. as normal.  "
"The programs will use your fixed appliance, and will not ever build, "
"rebuild, or cache their own appliance."
msgstr ""
"Now you can run libguestfs programs, virt tools, guestfish etc. as normal.  "
"The programs will use your fixed appliance, and will not ever build, "
"rebuild, or cache their own appliance."

#. type: textblock
#: ../docs/guestfs-performance.pod:153
msgid ""
"(For detailed information on this subject, see: L<libguestfs-make-fixed-"
"appliance(1)>)."
msgstr ""
"(For detailed information on this subject, see: L<libguestfs-make-fixed-"
"appliance(1)>)."

#. type: =head2
#: ../docs/guestfs-performance.pod:156
msgid "Performance of the fixed appliance"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:158
msgid ""
"In our testing we did not find that using a fixed appliance gave any "
"measurable performance benefit, even when the appliance was located in "
"memory (ie. on F</dev/shm>).  However there are two points to consider:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:167
msgid ""
"Using a fixed appliance stops libguestfs from ever rebuilding the appliance, "
"meaning that libguestfs will have more predictable start-up times."
msgstr ""
"Using a fixed appliance stops libguestfs from ever rebuilding the appliance, "
"meaning that libguestfs will have more predictable start-up times."

#. type: textblock
#: ../docs/guestfs-performance.pod:173
msgid "The appliance is loaded on demand.  A simple test such as:"
msgstr "The appliance is loaded on demand.  A simple test such as:"

#. type: textblock
#: ../docs/guestfs-performance.pod:177
msgid ""
"does not load very much of the appliance.  A real libguestfs program using "
"complicated API calls would demand-load a lot more of the appliance.  Being "
"able to store the appliance in a specified location makes the performance "
"more predictable."
msgstr ""
"does not load very much of the appliance.  A real libguestfs program using "
"complicated API calls would demand-load a lot more of the appliance.  Being "
"able to store the appliance in a specified location makes the performance "
"more predictable."

#. type: =head1
#: ../docs/guestfs-performance.pod:184
msgid "REDUCING THE NUMBER OF TIMES THE APPLIANCE IS LAUNCHED"
msgstr "REDUCING THE NUMBER OF TIMES THE APPLIANCE IS LAUNCHED"

#. type: textblock
#: ../docs/guestfs-performance.pod:186
msgid ""
"By far the most effective, though not always the simplest way to get good "
"performance is to ensure that the appliance is launched the minimum number "
"of times.  This will probably involve changing your libguestfs application."
msgstr ""
"By far the most effective, though not always the simplest way to get good "
"performance is to ensure that the appliance is launched the minimum number "
"of times.  This will probably involve changing your libguestfs application."

#. type: textblock
#: ../docs/guestfs-performance.pod:191
msgid ""
"Try to call C<guestfs_launch> at most once per target virtual machine or "
"disk image."
msgstr ""
"Try to call C<guestfs_launch> at most once per target virtual machine or "
"disk image."

#. type: textblock
#: ../docs/guestfs-performance.pod:194
msgid ""
"Instead of using a separate instance of L<guestfish(1)> to make a series of "
"changes to the same guest, use a single instance of guestfish and/or use the "
"guestfish I<--listen> option."
msgstr ""
"Instead of using a separate instance of L<guestfish(1)> to make a series of "
"changes to the same guest, use a single instance of guestfish and/or use the "
"guestfish I<--listen> option."

#. type: textblock
#: ../docs/guestfs-performance.pod:198
msgid ""
"Consider writing your program as a daemon which holds a guest open while "
"making a series of changes.  Or marshal all the operations you want to "
"perform before opening the guest."
msgstr ""
"Consider writing your program as a daemon which holds a guest open while "
"making a series of changes.  Or marshal all the operations you want to "
"perform before opening the guest."

#. type: textblock
#: ../docs/guestfs-performance.pod:202
msgid ""
"You can also try adding disks from multiple guests to a single appliance.  "
"Before trying this, note the following points:"
msgstr ""
"You can also try adding disks from multiple guests to a single appliance.  "
"Before trying this, note the following points:"

#. type: textblock
#: ../docs/guestfs-performance.pod:209
msgid ""
"Adding multiple guests to one appliance is a security problem because it may "
"allow one guest to interfere with the disks of another guest.  Only do it if "
"you trust all the guests, or if you can group guests by trust."
msgstr ""
"Adding multiple guests to one appliance is a security problem because it may "
"allow one guest to interfere with the disks of another guest.  Only do it if "
"you trust all the guests, or if you can group guests by trust."

#. type: textblock
#: ../docs/guestfs-performance.pod:216
msgid ""
"There is a hard limit to the number of disks you can add to a single "
"appliance.  Call L<guestfs(3)/guestfs_max_disks> to get this limit.  For "
"further information see L<guestfs(3)/LIMITS>."
msgstr ""
"There is a hard limit to the number of disks you can add to a single "
"appliance.  Call L<guestfs(3)/guestfs_max_disks> to get this limit.  For "
"further information see L<guestfs(3)/LIMITS>."

#. type: textblock
#: ../docs/guestfs-performance.pod:222
msgid ""
"Using libguestfs this way is complicated.  Disks can have unexpected "
"interactions: for example, if two guests use the same UUID for a filesystem "
"(because they were cloned), or have volume groups with the same name (but "
"see C<guestfs_lvm_set_filter>)."
msgstr ""
"Using libguestfs this way is complicated.  Disks can have unexpected "
"interactions: for example, if two guests use the same UUID for a filesystem "
"(because they were cloned), or have volume groups with the same name (but "
"see C<guestfs_lvm_set_filter>)."

#. type: textblock
#: ../docs/guestfs-performance.pod:229
msgid ""
"L<virt-df(1)> adds multiple disks by default, so the source code for this "
"program would be a good place to start."
msgstr ""
"L<virt-df(1)> adds multiple disks by default, so the source code for this "
"program would be a good place to start."

#. type: =head1
#: ../docs/guestfs-performance.pod:232
msgid "SHORTENING THE TIME TAKEN FOR INSPECTION OF VMs"
msgstr "SHORTENING THE TIME TAKEN FOR INSPECTION OF VMs"

#. type: textblock
#: ../docs/guestfs-performance.pod:234
msgid ""
"The main advice is obvious: Do not perform inspection (which is expensive) "
"unless you need the results."
msgstr ""
"The main advice is obvious: Do not perform inspection (which is expensive) "
"unless you need the results."

#. type: textblock
#: ../docs/guestfs-performance.pod:237
msgid ""
"If you previously performed inspection on the guest, then it may be safe to "
"cache and reuse the results from last time."
msgstr ""
"If you previously performed inspection on the guest, then it may be safe to "
"cache and reuse the results from last time."

#. type: textblock
#: ../docs/guestfs-performance.pod:240
msgid ""
"Some disks don’t need to be inspected at all: for example, if you are "
"creating a disk image, or if the disk image is not a VM, or if the disk "
"image has a known layout."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:244
msgid ""
"Even when basic inspection (C<guestfs_inspect_os>) is required, auxiliary "
"inspection operations may be avoided:"
msgstr ""
"Even when basic inspection (C<guestfs_inspect_os>) is required, auxiliary "
"inspection operations may be avoided:"

#. type: textblock
#: ../docs/guestfs-performance.pod:251
msgid "Mounting disks is only necessary to get further filesystem information."
msgstr ""
"Mounting disks is only necessary to get further filesystem information."

#. type: textblock
#: ../docs/guestfs-performance.pod:256
msgid ""
"Listing applications (C<guestfs_inspect_list_applications>) is an expensive "
"operation on Linux, but almost free on Windows."
msgstr ""
"Listing applications (C<guestfs_inspect_list_applications>) is an expensive "
"operation on Linux, but almost free on Windows."

#. type: textblock
#: ../docs/guestfs-performance.pod:261
msgid ""
"Generating a guest icon (C<guestfs_inspect_get_icon>) is cheap on Linux but "
"expensive on Windows."
msgstr ""
"Generating a guest icon (C<guestfs_inspect_get_icon>) is cheap on Linux but "
"expensive on Windows."

#. type: =head1
#: ../docs/guestfs-performance.pod:266
msgid "PARALLEL APPLIANCES"
msgstr "PARALLEL APPLIANCES"

#. type: textblock
#: ../docs/guestfs-performance.pod:268
msgid ""
"Libguestfs appliances are mostly I/O bound and you can launch multiple "
"appliances in parallel.  Provided there is enough free memory, there should "
"be little difference in launching 1 appliance vs N appliances in parallel."
msgstr ""
"Libguestfs appliances are mostly I/O bound and you can launch multiple "
"appliances in parallel.  Provided there is enough free memory, there should "
"be little difference in launching 1 appliance vs N appliances in parallel."

#. type: textblock
#: ../docs/guestfs-performance.pod:273
msgid ""
"On a 2-core (4-thread) laptop with 16 GB of RAM, using the (not especially "
"realistic) test Perl script below, the following plot shows excellent "
"scalability when running between 1 and 20 appliances in parallel:"
msgstr ""
"On a 2-core (4-thread) laptop with 16 GB of RAM, using the (not especially "
"realistic) test Perl script below, the following plot shows excellent "
"scalability when running between 1 and 20 appliances in parallel:"

#. type: verbatim
#: ../docs/guestfs-performance.pod:278
#, no-wrap
msgid ""
"  12 ++---+----+----+----+-----+----+----+----+----+---++\n"
"     +    +    +    +    +     +    +    +    +    +    *\n"
"     |                                                  |\n"
"     |                                               *  |\n"
"  11 ++                                                ++\n"
"     |                                                  |\n"
"     |                                                  |\n"
"     |                                          *  *    |\n"
"  10 ++                                                ++\n"
"     |                                        *         |\n"
"     |                                                  |\n"
" s   |                                                  |\n"
"   9 ++                                                ++\n"
" e   |                                                  |\n"
"     |                                     *            |\n"
" c   |                                                  |\n"
"   8 ++                                  *             ++\n"
" o   |                                *                 |\n"
"     |                                                  |\n"
" n 7 ++                                                ++\n"
"     |                              *                   |\n"
" d   |                           *                      |\n"
"     |                                                  |\n"
" s 6 ++                                                ++\n"
"     |                      *  *                        |\n"
"     |                   *                              |\n"
"     |                                                  |\n"
"   5 ++                                                ++\n"
"     |                                                  |\n"
"     |                 *                                |\n"
"     |            * *                                   |\n"
"   4 ++                                                ++\n"
"     |                                                  |\n"
"     |                                                  |\n"
"     +    *  * *    +    +     +    +    +    +    +    +\n"
"   3 ++-*-+----+----+----+-----+----+----+----+----+---++\n"
"     0    2    4    6    8     10   12   14   16   18   20\n"
"               number of parallel appliances\n"
"\n"
msgstr ""
"  12 ++---+----+----+----+-----+----+----+----+----+---++\n"
"     +    +    +    +    +     +    +    +    +    +    *\n"
"     |                                                  |\n"
"     |                                               *  |\n"
"  11 ++                                                ++\n"
"     |                                                  |\n"
"     |                                                  |\n"
"     |                                          *  *    |\n"
"  10 ++                                                ++\n"
"     |                                        *         |\n"
"     |                                                  |\n"
" s   |                                                  |\n"
"   9 ++                                                ++\n"
" e   |                                                  |\n"
"     |                                     *            |\n"
" c   |                                                  |\n"
"   8 ++                                  *             ++\n"
" o   |                                *                 |\n"
"     |                                                  |\n"
" n 7 ++                                                ++\n"
"     |                              *                   |\n"
" d   |                           *                      |\n"
"     |                                                  |\n"
" s 6 ++                                                ++\n"
"     |                      *  *                        |\n"
"     |                   *                              |\n"
"     |                                                  |\n"
"   5 ++                                                ++\n"
"     |                                                  |\n"
"     |                 *                                |\n"
"     |            * *                                   |\n"
"   4 ++                                                ++\n"
"     |                                                  |\n"
"     |                                                  |\n"
"     +    *  * *    +    +     +    +    +    +    +    +\n"
"   3 ++-*-+----+----+----+-----+----+----+----+----+---++\n"
"     0    2    4    6    8     10   12   14   16   18   20\n"
"               number of parallel appliances\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:317
msgid ""
"It is possible to run many more than 20 appliances in parallel, but if you "
"are using the libvirt backend then you should be aware that out of the box "
"libvirt limits the number of client connections to 20."
msgstr ""
"It is possible to run many more than 20 appliances in parallel, but if you "
"are using the libvirt backend then you should be aware that out of the box "
"libvirt limits the number of client connections to 20."

#. type: textblock
#: ../docs/guestfs-performance.pod:321
msgid ""
"The simple Perl script below was used to collect the data for the plot "
"above, but there is much more information on this subject, including more "
"advanced test scripts and graphs, available in the following blog postings:"
msgstr ""
"The simple Perl script below was used to collect the data for the plot "
"above, but there is much more information on this subject, including more "
"advanced test scripts and graphs, available in the following blog postings:"

#. type: textblock
#: ../docs/guestfs-performance.pod:326
msgid ""
"L<http://rwmj.wordpress.com/2013/02/25/multiple-libguestfs-appliances-in-"
"parallel-part-1/> L<http://rwmj.wordpress.com/2013/02/25/multiple-libguestfs-"
"appliances-in-parallel-part-2/> L<http://rwmj.wordpress.com/2013/02/25/"
"multiple-libguestfs-appliances-in-parallel-part-3/> L<http://rwmj.wordpress."
"com/2013/02/25/multiple-libguestfs-appliances-in-parallel-part-4/>"
msgstr ""
"L<http://rwmj.wordpress.com/2013/02/25/multiple-libguestfs-appliances-in-"
"parallel-part-1/> L<http://rwmj.wordpress.com/2013/02/25/multiple-libguestfs-"
"appliances-in-parallel-part-2/> L<http://rwmj.wordpress.com/2013/02/25/"
"multiple-libguestfs-appliances-in-parallel-part-3/> L<http://rwmj.wordpress."
"com/2013/02/25/multiple-libguestfs-appliances-in-parallel-part-4/>"

#. type: verbatim
#: ../docs/guestfs-performance.pod:331
#, no-wrap
msgid ""
" #!/usr/bin/env perl\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-performance.pod:333
#, no-wrap
msgid ""
" use strict;\n"
" use threads;\n"
" use warnings;\n"
" use Sys::Guestfs;\n"
" use Time::HiRes qw(time);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-performance.pod:339
#, no-wrap
msgid ""
" sub test {\n"
"     my $g = Sys::Guestfs->new;\n"
"     $g->add_drive_ro (\"/dev/null\");\n"
"     $g->launch ();\n"
"     \n"
msgstr ""
" sub test {\n"
"     my $g = Sys::Guestfs->new;\n"
"     $g->add_drive_ro (\"/dev/null\");\n"
"     $g->launch ();\n"
"     \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:344
#, no-wrap
msgid ""
"     # You could add some work for libguestfs to do here.\n"
"     \n"
msgstr ""
"     # You could add some work for libguestfs to do here.\n"
"     \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:346
#, no-wrap
msgid ""
"     $g->close ();\n"
" }\n"
" \n"
msgstr ""
"     $g->close ();\n"
" }\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:349
#, no-wrap
msgid ""
" # Get everything into cache.\n"
" test (); test (); test ();\n"
" \n"
msgstr ""
" # Get everything into cache.\n"
" test (); test (); test ();\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:352
#, no-wrap
msgid ""
" for my $nr_threads (1..20) {\n"
"     my $start_t = time ();\n"
"     my @threads;\n"
"     foreach (1..$nr_threads) {\n"
"         push @threads, threads->create (\\&test)\n"
"     }\n"
"     foreach (@threads) {\n"
"         $_->join ();\n"
"         if (my $err = $_->error ()) {\n"
"             die \"launch failed with $nr_threads threads: $err\"\n"
"         }\n"
"     }\n"
"     my $end_t = time ();\n"
"     printf (\"%d %.2f\\n\", $nr_threads, $end_t - $start_t);\n"
" }\n"
"\n"
msgstr ""
" for my $nr_threads (1..20) {\n"
"     my $start_t = time ();\n"
"     my @threads;\n"
"     foreach (1..$nr_threads) {\n"
"         push @threads, threads->create (\\&test)\n"
"     }\n"
"     foreach (@threads) {\n"
"         $_->join ();\n"
"         if (my $err = $_->error ()) {\n"
"             die \"launch failed with $nr_threads threads: $err\"\n"
"         }\n"
"     }\n"
"     my $end_t = time ();\n"
"     printf (\"%d %.2f\\n\", $nr_threads, $end_t - $start_t);\n"
" }\n"
"\n"

#. type: =head1
#: ../docs/guestfs-performance.pod:368
msgid "USING USER-MODE LINUX"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:370
msgid ""
"Since libguestfs 1.24, it has been possible to use the User-Mode Linux (uml) "
"backend instead of KVM (see L<guestfs(3)/USER-MODE LINUX BACKEND>).  This "
"section makes some general remarks about this backend, but it is B<highly "
"advisable> to measure your own workload under UML rather than trusting "
"comments or intuition."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:381
msgid ""
"UML usually performs the same or slightly slower than KVM, on baremetal."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:385
msgid ""
"However UML often performs the same under virtualization as it does on "
"baremetal, whereas KVM can run much slower under virtualization (since "
"hardware virt acceleration is not available)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:391
msgid ""
"Upload and download is as much as 10 times slower on UML than KVM.  "
"Libguestfs sends this data over the UML emulated serial port, which is far "
"less efficient than KVM’s virtio-serial."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:397
msgid ""
"UML lacks some features (eg. qcow2 support), so it may not be applicable at "
"all."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:402
msgid ""
"For some actual figures, see: L<http://rwmj.wordpress.com/2013/08/14/"
"performance-of-user-mode-linux-as-a-libguestfs-backend/#content>"
msgstr ""

#. type: =head1
#: ../docs/guestfs-performance.pod:405
msgid "TROUBLESHOOTING POOR PERFORMANCE"
msgstr "TROUBLESHOOTING POOR PERFORMANCE"

#. type: =head2
#: ../docs/guestfs-performance.pod:407
msgid "Ensure hardware virtualization is available"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:409
msgid ""
"Use F</proc/cpuinfo> to ensure that hardware virtualization is available.  "
"Note that you may need to enable it in your BIOS."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:412
msgid ""
"Hardware virt is not usually available inside VMs, and libguestfs will run "
"slowly inside another virtual machine whatever you do.  Nested "
"virtualization does not work well in our experience, and is certainly no "
"substitute for running libguestfs on baremetal."
msgstr ""
"Hardware virt is not usually available inside VMs, and libguestfs will run "
"slowly inside another virtual machine whatever you do.  Nested "
"virtualisation does not work well in our experience, and is certainly no "
"substitute for running libguestfs on baremetal."

#. type: =head2
#: ../docs/guestfs-performance.pod:417
msgid "Ensure KVM is available"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:419
msgid ""
"Ensure that KVM is enabled and available to the user that will run "
"libguestfs.  It should be safe to set 0666 permissions on F</dev/kvm> and "
"most distributions now do this."
msgstr ""

#. type: =head2
#: ../docs/guestfs-performance.pod:423
msgid "Processors to avoid"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:425
msgid ""
"Avoid processors that don’t have hardware virtualization, and some "
"processors which are simply very slow (AMD Geode being a great example)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-performance.pod:429
msgid "Xen dom0"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:431
msgid ""
"In Xen, dom0 is a virtual machine, and so hardware virtualization is not "
"available."
msgstr ""

#. type: =head2
#: ../docs/guestfs-performance.pod:434
msgid "Use libguestfs E<ge> 1.34 and qemu E<ge> 2.7"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:436
msgid ""
"During the libguestfs 1.33 development cycle, we spent a large amount of "
"time concentrating on boot performance, and added some patches to "
"libguestfs, qemu and Linux which in some cases can reduce boot times to well "
"under 1 second.  You may therefore get much better performance by moving to "
"the versions of libguestfs or qemu mentioned in the heading."
msgstr ""

#. type: =head1
#: ../docs/guestfs-performance.pod:443
msgid "DETAILED ANALYSIS"
msgstr ""

#. type: =head2
#: ../docs/guestfs-performance.pod:445
msgid "Boot analysis"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:447
msgid ""
"In L<https://github.com/libguestfs/libguestfs-analysis-tools> is a program "
"called C<boot-analysis>.  This program is able to produce a very detailed "
"breakdown of the boot steps (eg. qemu, BIOS, kernel, libguestfs init "
"script), and can measure how long it takes to perform each step."
msgstr ""

#. type: =head2
#: ../docs/guestfs-performance.pod:453
msgid "Detailed timings using ts"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:455
msgid "Use the L<ts(1)> command (from moreutils) to show detailed timings:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-performance.pod:458
#, no-wrap
msgid ""
" $ guestfish -a /dev/null run -v |& ts -i '%.s'\n"
" 0.000022 libguestfs: launch: program=guestfish\n"
" 0.000134 libguestfs: launch: version=1.29.31fedora=23,release=2.fc23,libvirt\n"
" 0.000044 libguestfs: launch: backend registered: unix\n"
" 0.000035 libguestfs: launch: backend registered: uml\n"
" 0.000035 libguestfs: launch: backend registered: libvirt\n"
" 0.000032 libguestfs: launch: backend registered: direct\n"
" 0.000030 libguestfs: launch: backend=libvirt\n"
" 0.000031 libguestfs: launch: tmpdir=/tmp/libguestfsw18rBQ\n"
" 0.000029 libguestfs: launch: umask=0002\n"
" 0.000031 libguestfs: launch: euid=1000\n"
" 0.000030 libguestfs: libvirt version = 1002012 (1.2.12)\n"
" [etc]\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:472
msgid "The timestamps are seconds (incrementally since the previous line)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-performance.pod:474
msgid "Detailed timings using SystemTap"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:476
msgid ""
"You can use SystemTap (L<stap(1)>) to get detailed timings from libguestfs "
"programs."
msgstr ""
"You can use SystemTap (L<stap(1)>) to get detailed timings from libguestfs "
"programs."

#. type: textblock
#: ../docs/guestfs-performance.pod:479
msgid "Save the following script as F<time.stap>:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-performance.pod:481 ../lib/guestfs.pod:3039
#, no-wrap
msgid ""
" global last;\n"
" \n"
msgstr ""
" global last;\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:483 ../lib/guestfs.pod:3041
#, no-wrap
msgid ""
" function display_time () {\n"
"       now = gettimeofday_us ();\n"
"       delta = 0;\n"
"       if (last > 0)\n"
"             delta = now - last;\n"
"       last = now;\n"
" \n"
msgstr ""
" function display_time () {\n"
"       now = gettimeofday_us ();\n"
"       delta = 0;\n"
"       if (last > 0)\n"
"             delta = now - last;\n"
"       last = now;\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:490 ../lib/guestfs.pod:3048
#, no-wrap
msgid ""
"       printf (\"%d (+%d):\", now, delta);\n"
" }\n"
" \n"
msgstr ""
"       printf (\"%d (+%d):\", now, delta);\n"
" }\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:493 ../lib/guestfs.pod:3051
#, no-wrap
msgid ""
" probe begin {\n"
"       last = 0;\n"
"       printf (\"ready\\n\");\n"
" }\n"
" \n"
msgstr ""
" probe begin {\n"
"       last = 0;\n"
"       printf (\"ready\\n\");\n"
" }\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:498 ../lib/guestfs.pod:3056
#, no-wrap
msgid ""
" /* Display all calls to static markers. */\n"
" probe process(\"/usr/lib*/libguestfs.so.0\")\n"
"           .provider(\"guestfs\").mark(\"*\") ? {\n"
"       display_time();\n"
"       printf (\"\\t%s %s\\n\", $$name, $$parms);\n"
" }\n"
" \n"
msgstr ""
" /* Display all calls to static markers. */\n"
" probe process(\"/usr/lib*/libguestfs.so.0\")\n"
"           .provider(\"guestfs\").mark(\"*\") ? {\n"
"       display_time();\n"
"       printf (\"\\t%s %s\\n\", $$name, $$parms);\n"
" }\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:505
#, no-wrap
msgid ""
" /* Display all calls to guestfs_* functions. */\n"
" probe process(\"/usr/lib*/libguestfs.so.0\")\n"
"           .function(\"guestfs_[a-z]*\") ? {\n"
"       display_time();\n"
"       printf (\"\\t%s %s\\n\", probefunc(), $$parms);\n"
" }\n"
"\n"
msgstr ""
" /* Display all calls to guestfs_* functions. */\n"
" probe process(\"/usr/lib*/libguestfs.so.0\")\n"
"           .function(\"guestfs_[a-z]*\") ? {\n"
"       display_time();\n"
"       printf (\"\\t%s %s\\n\", probefunc(), $$parms);\n"
" }\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:512
msgid "Run it as root in one window:"
msgstr "Run it as root in one window:"

#. type: verbatim
#: ../docs/guestfs-performance.pod:514
#, no-wrap
msgid ""
" # stap time.stap\n"
" ready\n"
"\n"
msgstr ""
" # stap time.stap\n"
" ready\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:517
msgid ""
"It prints \"ready\" when SystemTap has loaded the program.  Run your "
"libguestfs program, guestfish or a virt tool in another window.  For example:"
msgstr ""
"It prints \"ready\" when SystemTap has loaded the program.  Run your "
"libguestfs program, guestfish or a virt tool in another window.  For example:"

#. type: verbatim
#: ../docs/guestfs-performance.pod:521
#, no-wrap
msgid ""
" $ guestfish -a /dev/null run\n"
"\n"
msgstr ""
" $ guestfish -a /dev/null run\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:523
msgid ""
"In the stap window you will see a large amount of output, with the time "
"taken for each step shown (microseconds in parenthesis).  For example:"
msgstr ""
"In the stap window you will see a large amount of output, with the time "
"taken for each step shown (microseconds in parenthesis).  For example:"

#. type: verbatim
#: ../docs/guestfs-performance.pod:527
#, no-wrap
msgid ""
" xxxx (+0):\tguestfs_create \n"
" xxxx (+29):\tguestfs_set_pgroup g=0x17a9de0 pgroup=0x1\n"
" xxxx (+9):\tguestfs_add_drive_opts_argv g=0x17a9de0 [...]\n"
" xxxx (+8):\tguestfs_int_safe_strdup g=0x17a9de0 str=0x7f8a153bed5d\n"
" xxxx (+19):\tguestfs_int_safe_malloc g=0x17a9de0 nbytes=0x38\n"
" xxxx (+5):\tguestfs_int_safe_strdup g=0x17a9de0 str=0x17a9f60\n"
" xxxx (+10):\tguestfs_launch g=0x17a9de0\n"
" xxxx (+4):\tlaunch_start \n"
" [etc]\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:537
msgid ""
"You will need to consult, and even modify, the source to libguestfs to fully "
"understand the output."
msgstr ""
"You will need to consult, and even modify, the source to libguestfs to fully "
"understand the output."

#. type: =head2
#: ../docs/guestfs-performance.pod:540
msgid "Detailed debugging using gdb"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:542
msgid ""
"You can attach to the appliance BIOS/kernel using gdb.  If you know what "
"you're doing, this can be a useful way to diagnose boot regressions."
msgstr ""
"You can attach to the appliance BIOS/kernel using gdb.  If you know what "
"you're doing, this can be a useful way to diagnose boot regressions."

#. type: textblock
#: ../docs/guestfs-performance.pod:546
msgid ""
"Firstly, you have to change qemu so it runs with the C<-S> and C<-s> "
"options.  These options cause qemu to pause at boot and allow you to attach "
"a debugger.  Read L<qemu(1)> for further information.  Libguestfs invokes "
"qemu several times (to scan the help output and so on) and you only want the "
"final invocation of qemu to use these options, so use a qemu wrapper script "
"like this:"
msgstr ""
"Firstly, you have to change qemu so it runs with the C<-S> and C<-s> "
"options.  These options cause qemu to pause at boot and allow you to attach "
"a debugger.  Read L<qemu(1)> for further information.  Libguestfs invokes "
"qemu several times (to scan the help output and so on) and you only want the "
"final invocation of qemu to use these options, so use a qemu wrapper script "
"like this:"

#. type: verbatim
#: ../docs/guestfs-performance.pod:553 ../fish/guestfish.pod:1019
#: ../lib/guestfs.pod:1412
#, no-wrap
msgid ""
" #!/bin/bash -\n"
" \n"
msgstr ""
" #!/bin/bash -\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:555
#, no-wrap
msgid ""
" # Set this to point to the real qemu binary.\n"
" qemu=/usr/bin/qemu-kvm\n"
" \n"
msgstr ""
" # Set this to point to the real qemu binary.\n"
" qemu=/usr/bin/qemu-kvm\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-performance.pod:558
#, no-wrap
msgid ""
" if [ \"$1\" != \"-global\" ]; then\n"
"     # Scanning help output etc.\n"
"     exec $qemu \"$@\"\n"
" else \n"
"     # Really running qemu.\n"
"     exec $qemu -S -s \"$@\"\n"
" fi\n"
"\n"
msgstr ""
" if [ \"$1\" != \"-global\" ]; then\n"
"     # Scanning help output etc.\n"
"     exec $qemu \"$@\"\n"
" else \n"
"     # Really running qemu.\n"
"     exec $qemu -S -s \"$@\"\n"
" fi\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:566
msgid ""
"Now run guestfish or another libguestfs tool with the qemu wrapper (see "
"L<guestfs(3)/QEMU WRAPPERS> to understand what this is doing):"
msgstr ""
"Now run guestfish or another libguestfs tool with the qemu wrapper (see "
"L<guestfs(3)/QEMU WRAPPERS> to understand what this is doing):"

#. type: verbatim
#: ../docs/guestfs-performance.pod:569
#, no-wrap
msgid ""
" LIBGUESTFS_HV=/path/to/qemu-wrapper guestfish -a /dev/null -v run\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:571
msgid ""
"This should pause just after qemu launches.  In another window, attach to "
"qemu using gdb:"
msgstr ""
"This should pause just after qemu launches.  In another window, attach to "
"qemu using gdb:"

#. type: verbatim
#: ../docs/guestfs-performance.pod:574
#, no-wrap
msgid ""
" $ gdb\n"
" (gdb) set architecture i8086\n"
" The target architecture is assumed to be i8086\n"
" (gdb) target remote :1234\n"
" Remote debugging using :1234\n"
" 0x0000fff0 in ?? ()\n"
" (gdb) cont\n"
"\n"
msgstr ""
" $ gdb\n"
" (gdb) set architecture i8086\n"
" The target architecture is assumed to be i8086\n"
" (gdb) target remote :1234\n"
" Remote debugging using :1234\n"
" 0x0000fff0 in ?? ()\n"
" (gdb) cont\n"
"\n"

#. type: textblock
#: ../docs/guestfs-performance.pod:582
msgid ""
"At this point you can use standard gdb techniques, eg. hitting C<^C> to "
"interrupt the boot and C<bt> get a stack trace, setting breakpoints, etc.  "
"Note that when you are past the BIOS and into the Linux kernel, you'll want "
"to change the architecture back to 32 or 64 bit."
msgstr ""
"At this point you can use standard gdb techniques, eg. hitting C<^C> to "
"interrupt the boot and C<bt> get a stack trace, setting breakpoints, etc.  "
"Note that when you are past the BIOS and into the Linux kernel, you'll want "
"to change the architecture back to 32 or 64 bit."

#. type: =head1
#: ../docs/guestfs-performance.pod:588
msgid "PERFORMANCE REGRESSIONS IN OTHER PROGRAMS"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:590
msgid ""
"Sometimes performance regressions happen in other programs (eg. qemu, the "
"kernel) that cause problems for libguestfs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:593
msgid ""
"In L<https://github.com/libguestfs/libguestfs-analysis-tools> F<boot-"
"benchmark/boot-benchmark-range.pl> is a script which can be used to "
"benchmark libguestfs across a range of git commits in another project to "
"find out if any commit is causing a slowdown (or speedup)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:599
msgid "To find out how to use this script, consult the manual:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-performance.pod:601
#, no-wrap
msgid ""
" ./boot-benchmark/boot-benchmark-range.pl --man\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-performance.pod:605
msgid ""
"L<supermin(1)>, L<guestfish(1)>, L<guestfs(3)>, L<guestfs-examples(3)>, "
"L<guestfs-internals(1)>, L<libguestfs-make-fixed-appliance(1)>, L<stap(1)>, "
"L<qemu(1)>, L<gdb(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:3
msgid ""
"We break with tradition here and don’t use ALL CAPS for the section "
"headings, as this makes them much easier to read."
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:10
msgid "guestfs-recipes - libguestfs, guestfish and virt tools recipes"
msgstr "guestfs-recipes - libguestfs, guestfish and virt tools recipes"

#. type: textblock
#: ../docs/guestfs-recipes.pod:14
msgid ""
"This page contains recipes for and links to things you can do using "
"libguestfs, L<guestfish(1)> and the virt tools."
msgstr ""
"This page contains recipes for and links to things you can do using "
"libguestfs, L<guestfish(1)> and the virt tools."

#. type: =head1
#: ../docs/guestfs-recipes.pod:17
msgid "Access a remote disk image using guestfish"
msgstr "Access a remote disk image using guestfish"

#. type: textblock
#: ../docs/guestfs-recipes.pod:19
msgid ""
"If the disk image is on a remote server which is accessible using SSH, HTTP, "
"FTP, NBD, iSCSI, or similar, then you can open it directly.  See "
"L<guestfish(1)/ADDING REMOTE STORAGE> for several examples.  This requires "
"libguestfs E<ge> 1.22 and qemu E<ge> 1.5."
msgstr ""
"If the disk image is on a remote server which is accessible using SSH, HTTP, "
"FTP, NBD, iSCSI, or similar, then you can open it directly.  See "
"L<guestfish(1)/ADDING REMOTE STORAGE> for several examples.  This requires "
"libguestfs E<ge> 1.22 and qemu E<ge> 1.5."

#. type: =head1
#: ../docs/guestfs-recipes.pod:24
msgid "Audit a virtual machine for setuid files"
msgstr "Audit a virtual machine for setuid files"

#. type: textblock
#: ../docs/guestfs-recipes.pod:26
msgid "See: L<virt-ls(1)/EXAMPLES>."
msgstr "See: L<virt-ls(1)/EXAMPLES>."

#. type: =head1
#: ../docs/guestfs-recipes.pod:28
msgid "Audit a virtual machine for vulnerabilities and security problems"
msgstr "Audit a virtual machine for vulnerabilities and security problems"

#. type: textblock
#: ../docs/guestfs-recipes.pod:30
msgid ""
"See: L<https://rwmj.wordpress.com/2013/05/16/scanning-offline-guests-using-"
"openscap-and-guestmount/#content>"
msgstr ""
"See: L<https://rwmj.wordpress.com/2013/05/16/scanning-offline-guests-using-"
"openscap-and-guestmount/#content>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:33
msgid "Change the background image in a Windows XP VM"
msgstr "Change the background image in a Windows XP VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:35
msgid ""
"The links below explain how to use L<guestfish(1)> to change the background "
"image for a user of a Windows XP VM.  Unfortunately the technique appears to "
"be substantially different for each version of Windows."
msgstr ""
"The links below explain how to use L<guestfish(1)> to change the background "
"image for a user of a Windows XP VM.  Unfortunately the technique appears to "
"be substantially different for each version of Windows."

#. type: textblock
#: ../docs/guestfs-recipes.pod:40
msgid ""
"L<https://lists.fedoraproject.org/pipermail/virt/2011-May/002655.html> "
"L<https://lists.fedoraproject.org/pipermail/virt/2011-May/002658.html>"
msgstr ""
"L<https://lists.fedoraproject.org/pipermail/virt/2011-May/002655.html> "
"L<https://lists.fedoraproject.org/pipermail/virt/2011-May/002658.html>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:43
msgid "Checksum a file or device within a disk image"
msgstr "Checksum a file or device within a disk image"

#. type: textblock
#: ../docs/guestfs-recipes.pod:45
msgid "To checksum a whole device, or a partition, LV etc within a disk image:"
msgstr ""
"To checksum a whole device, or a partition, LV etc within a disk image:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:47
#, no-wrap
msgid ""
" guestfish --ro -a disk.img run : checksum-device md5 /dev/sda1\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img run : checksum-device md5 /dev/sda1\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:49
msgid ""
"Replace C<md5> with the type of checksum you want.  See L<guestfs(3)/"
"guestfs_checksum_device> for a list of supported types."
msgstr ""
"Replace C<md5> with the type of checksum you want.  See L<guestfs(3)/"
"guestfs_checksum_device> for a list of supported types."

#. type: textblock
#: ../docs/guestfs-recipes.pod:52
msgid ""
"F</dev/sda1> means \"the first partition\".  You could use F</dev/sda> to "
"checksum the whole disk image, or the name of a logical volume or RAID "
"device."
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:56
msgid "To checksum a single file:"
msgstr "To checksum a single file:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:58
#, no-wrap
msgid ""
" guestfish --ro -a disk.img -i checksum sha256 /etc/passwd\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img -i checksum sha256 /etc/passwd\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:60
msgid "or for a Windows guest:"
msgstr "or for a Windows guest:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:62
#, no-wrap
msgid ""
" guestfish --ro -a disk.img -i \\\n"
"   checksum sha256 'win:\\windows\\system32\\config\\SOFTWARE'\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img -i \\\n"
"   checksum sha256 'win:\\windows\\system32\\config\\SOFTWARE'\n"
"\n"

#. type: =head1
#: ../docs/guestfs-recipes.pod:65
msgid "Cloning a virtual machine"
msgstr "Cloning a virtual machine"

#. type: textblock
#: ../docs/guestfs-recipes.pod:67
msgid ""
"Use a combination of tools like L<cp(1)>, L<dd(1)>, and virt tools like "
"L<virt-sysprep(1)>, L<virt-sparsify(1)> and L<virt-resize(1)>."
msgstr ""
"Use a combination of tools like L<cp(1)>, L<dd(1)>, and virt tools like "
"L<virt-sysprep(1)>, L<virt-sparsify(1)> and L<virt-resize(1)>."

#. type: textblock
#: ../docs/guestfs-recipes.pod:71
msgid "For more details, see: L<virt-sysprep(1)/COPYING AND CLONING>."
msgstr "For more details, see: L<virt-sysprep(1)/COPYING AND CLONING>."

#. type: =head1
#: ../docs/guestfs-recipes.pod:73
msgid "Convert a CD-ROM / DVD / ISO to a tarball"
msgstr "Convert a CD-ROM / DVD / ISO to a tarball"

#. type: textblock
#: ../docs/guestfs-recipes.pod:75
msgid "This converts input F<cd.iso> to output F<cd.tar.gz>:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:77
#, no-wrap
msgid ""
" guestfish --ro -a cd.iso -m /dev/sda tgz-out / cd.tar.gz\n"
"\n"
msgstr ""
" guestfish --ro -a cd.iso -m /dev/sda tgz-out / cd.tar.gz\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:79
msgid "To export just a subdirectory, eg. F</files>, do:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:81
#, no-wrap
msgid ""
" guestfish --ro -a cd.iso -m /dev/sda tgz-out /files cd.tar.gz\n"
"\n"
msgstr ""
" guestfish --ro -a cd.iso -m /dev/sda tgz-out /files cd.tar.gz\n"
"\n"

#. type: =head1
#: ../docs/guestfs-recipes.pod:83
msgid "Convert from one format/filesystem to another"
msgstr "Convert from one format/filesystem to another"

#. type: textblock
#: ../docs/guestfs-recipes.pod:85
msgid ""
"If you have a data disk in one format / filesystem / partition / volume "
"manager, you can convert it another using this technique."
msgstr ""
"If you have a data disk in one format / filesystem / partition / volume "
"manager, you can convert it another using this technique."

#. type: textblock
#: ../docs/guestfs-recipes.pod:88
msgid ""
"In this example, we start with a data disk that has a single partition "
"containing a filesystem, and we want to create another disk that contains "
"the same files but on an ext3 filesystem embedded in a logical volume on a "
"sparse raw-format disk."
msgstr ""
"In this example, we start with a data disk that has a single partition "
"containing a filesystem, and we want to create another disk that contains "
"the same files but on an ext3 filesystem embedded in a logical volume on a "
"sparse raw-format disk."

#. type: textblock
#: ../docs/guestfs-recipes.pod:93
msgid "First create the formatted-but-empty target disk:"
msgstr "First create the formatted-but-empty target disk:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:95
#, no-wrap
msgid ""
" truncate -s 10G target.img\n"
" virt-format -a target.img --partition=mbr --lvm --filesystem=ext3\n"
"\n"
msgstr ""
" truncate -s 10G target.img\n"
" virt-format -a target.img --partition=mbr --lvm --filesystem=ext3\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:98
msgid ""
"Now, pipe two guestfish instances together to transfer the old data to the "
"new disk:"
msgstr ""
"Now, pipe two guestfish instances together to transfer the old data to the "
"new disk:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:101
#, no-wrap
msgid ""
" guestfish --ro -a source.img -m /dev/sda1  -- tar-out / - | \\\n"
" guestfish --rw -a target.img -m /dev/VG/LV -- tar-in - /\n"
"\n"
msgstr ""
" guestfish --ro -a source.img -m /dev/sda1  -- tar-out / - | \\\n"
" guestfish --rw -a target.img -m /dev/VG/LV -- tar-in - /\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:104
msgid "To browse the final disk image, do:"
msgstr "To browse the final disk image, do:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:106
#, no-wrap
msgid ""
" guestfish --ro -a target.img -m /dev/VG/LV\n"
" ><fs> ll /\n"
"\n"
msgstr ""
" guestfish --ro -a target.img -m /dev/VG/LV\n"
" ><fs> ll /\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:109
msgid ""
"This technique is quite powerful, allowing you for example to split up "
"source directories over the target filesystems."
msgstr ""
"This technique is quite powerful, allowing you for example to split up "
"source directories over the target filesystems."

#. type: textblock
#: ../docs/guestfs-recipes.pod:112
msgid ""
"Note this won’t work (at least, not directly) for bootable virtual machine "
"disks because it doesn't copy over the boot loader."
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:115
msgid "Convert Windows DVD to bootable USB key"
msgstr "Convert Windows DVD to bootable USB key"

#. type: textblock
#: ../docs/guestfs-recipes.pod:117
msgid ""
"L<http://rwmj.wordpress.com/2013/05/09/tip-convert-a-windows-dvd-iso-to-a-"
"bootable-usb-key-using-guestfish/#content>"
msgstr ""
"L<http://rwmj.wordpress.com/2013/05/09/tip-convert-a-windows-dvd-iso-to-a-"
"bootable-usb-key-using-guestfish/#content>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:119
msgid "Convert Xen-style partitionless image to partitioned disk image"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:121
msgid ""
"Xen disk images are often partitionless, meaning that the filesystem starts "
"directly at the beginning of the disk with no partition table.  You can in "
"fact use these directly in KVM (provided the guest isn't Windows), but some "
"people like to convert them to regular partitioned disk images, and this is "
"required for Windows guests.  Here is how to use guestfish to do this:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:128
#, no-wrap
msgid ""
" guestfish\n"
" ><fs> add-ro input.img\n"
" ><fs> sparse output.img 10G     # adjust the output size\n"
" ><fs> run\n"
" # Create a partition table on the output disk:\n"
" ><fs> part-init /dev/sdb mbr\n"
" ><fs> part-add /dev/sdb p 2048 -2048\n"
" # Copy the data to the target partition:\n"
" ><fs> copy-device-to-device /dev/sda /dev/sdb1 sparse:true\n"
" # Optionally resize the target filesystem.  Use ntfsresize\n"
" # for Windows guests:\n"
" ><fs> resize2fs /dev/sdb1\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:141
msgid ""
"Such a disk image won’t be directly bootable.  You may need to boot it with "
"an external kernel and initramfs (see below).  Or you can use the guestfish "
"commands C<syslinux> or C<extlinux> to install a SYSLINUX bootloader."
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:146
msgid "Create empty disk images"
msgstr "Create empty disk images"

#. type: textblock
#: ../docs/guestfs-recipes.pod:148
msgid "The L<virt-format(1)> tool can do this directly."
msgstr "The L<virt-format(1)> tool can do this directly."

#. type: textblock
#: ../docs/guestfs-recipes.pod:150
msgid ""
"Use L<virt-make-fs(1)> to create a disk image with content.  This can also "
"create some standard disk images such as virtual floppy devices (VFDs)."
msgstr ""
"Use L<virt-make-fs(1)> to create a disk image with content.  This can also "
"create some standard disk images such as virtual floppy devices (VFDs)."

#. type: textblock
#: ../docs/guestfs-recipes.pod:154
msgid ""
"You can also use the L<guestfish(1)> I<-N> option to create empty disk "
"images.  The useful guide below explains the options available."
msgstr ""
"You can also use the L<guestfish(1)> I<-N> option to create empty disk "
"images.  The useful guide below explains the options available."

#. type: textblock
#: ../docs/guestfs-recipes.pod:157
msgid ""
"L<https://rwmj.wordpress.com/2010/09/08/new-guestfish-n-options-in-1-5-9/"
"#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2010/09/08/new-guestfish-n-options-in-1-5-9/"
"#content>"

#. type: textblock
#: ../docs/guestfs-recipes.pod:159
msgid "L<virt-builder(1)> can create minimal guests."
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:161
msgid "Delete a file (or other simple file operations)"
msgstr "Delete a file (or other simple file operations)"

#. type: textblock
#: ../docs/guestfs-recipes.pod:163
msgid "Use guestfish.  To delete a file:"
msgstr "Use guestfish.  To delete a file:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:165
#, no-wrap
msgid ""
" guestfish -a disk.img -i rm /file/to/delete\n"
"\n"
msgstr ""
" guestfish -a disk.img -i rm /file/to/delete\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:167
msgid "To touch a file (bring it up to date or create it):"
msgstr "To touch a file (bring it up to date or create it):"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:169
#, no-wrap
msgid ""
" guestfish -a disk.img -i touch /file/to/touch\n"
"\n"
msgstr ""
" guestfish -a disk.img -i touch /file/to/touch\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:171
msgid ""
"To stat a file.  Since this is a read-only operation, we can make it safer "
"by adding the I<--ro> flag."
msgstr ""
"To stat a file.  Since this is a read-only operation, we can make it safer "
"by adding the I<--ro> flag."

#. type: verbatim
#: ../docs/guestfs-recipes.pod:174
#, no-wrap
msgid ""
" guestfish --ro -a disk.img -i stat /file/to/stat\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img -i stat /file/to/stat\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:176
msgid ""
"There are dozens of these commands.  See L<guestfish(1)> or the output of "
"C<guestfish -h>"
msgstr ""
"There are dozens of these commands.  See L<guestfish(1)> or the output of "
"C<guestfish -h>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:179
msgid "Diff two guests; compare a snapshot to the current version"
msgstr "Diff two guests; compare a snapshot to the current version"

#. type: textblock
#: ../docs/guestfs-recipes.pod:181
msgid ""
"Since libguestfs E<ge> 1.26, use L<virt-diff(1)> to look for differences "
"between two guests (for example if they were originally cloned from the same "
"source), or between two snapshots from the same guest.  In earlier versions "
"of libguestfs, use L<virt-ls(1)>."
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:186
msgid "Disable a systemd service"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:188
msgid ""
"The following is the equivalent of C<systemctl mask ...>. To disable the "
"C<cloud-init> service so it doesn't start at next boot:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:191
#, no-wrap
msgid ""
" guestfish -a disk.img -i \\\n"
"     ln-sf /dev/null /etc/systemd/system/cloud-init.service\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:194
msgid "To disable tmp-on-tmpfs:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:196
#, no-wrap
msgid ""
" guestfish -a disk.img -i \\\n"
"     ln-sf /dev/null /etc/systemd/system/tmp.mount\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:199
msgid ""
"One problem with the commands above is there is no feedback if you get the "
"name of the service you are trying to mask wrong.  But you can use L<virt-"
"ls(1)> to list the available systemd services like this:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:203
#, no-wrap
msgid ""
" virt-ls -a /tmp/fedora-19.img -R /lib/systemd/system\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:205
msgid "Drive letters over FUSE"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:207
msgid ""
"You have a Windows guest, and you want to expose the drive letters as FUSE "
"mountpoints (F</C/...>, F</D/...> etc).  Instead of L<guestmount(1)>, use "
"this Perl script:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:211
#, no-wrap
msgid ""
" #!/usr/bin/perl -w\n"
" use strict;\n"
" use Sys::Guestfs;\n"
" $| = 1;\n"
" die \"usage: $0 mountpoint disk.img\" if @ARGV < 2;\n"
" my $mp = shift @ARGV;\n"
" my $g = new Sys::Guestfs;\n"
" $g->add_drive_opts ($_) foreach @ARGV;\n"
" $g->launch;\n"
" my @roots = $g->inspect_os;\n"
" die \"$0: no operating system found\" if @roots != 1;\n"
" my $root = $roots[0];\n"
" die \"$0: not Windows\" if $g->inspect_get_type ($root) ne \"windows\";\n"
" my %map = $g->inspect_get_drive_mappings ($root);\n"
" foreach (keys %map) {\n"
"     $g->mkmountpoint (\"/$_\");\n"
"     eval { $g->mount ($map{$_}, \"/$_\") };\n"
"     warn \"$@ (ignored)\\n\" if $@;\n"
" }\n"
" $g->mount_local ($mp);\n"
" print \"filesystem ready on $mp\\n\";\n"
" $g->mount_local_run;\n"
" $g->shutdown;\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:235
msgid "You can use the script like this:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:237
#, no-wrap
msgid ""
" $ mkdir /tmp/mnt\n"
" $ ./drive-letters.pl /tmp/mnt windows7.img\n"
" filesystem ready on /tmp/mnt\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:241
msgid "In another window:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:243
#, no-wrap
msgid ""
" $ cd /tmp/mnt\n"
" $ ls\n"
" C  D\n"
" $ cd C\n"
" $ ls\n"
" Documents and Settings\n"
" PerfLogs\n"
" ProgramData\n"
" Program Files\n"
" [etc]\n"
" $ cd ../..\n"
" $ guestunmount /tmp/mnt\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:256
msgid "Dump raw filesystem content from inside a disk image or VM"
msgstr "Dump raw filesystem content from inside a disk image or VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:258
msgid ""
"You can use the L<guestfish(1)> C<download> command to extract the raw "
"filesystem content from any filesystem in a disk image or a VM (even one "
"which is encrypted or buried inside an LV or RAID device):"
msgstr ""
"You can use the L<guestfish(1)> C<download> command to extract the raw "
"filesystem content from any filesystem in a disk image or a VM (even one "
"which is encrypted or buried inside an LV or RAID device):"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:262
#, no-wrap
msgid ""
" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img run : download /dev/sda1 sda1.img\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:264
#, no-wrap
msgid ""
" guestfish --ro -d Guest run : download /dev/vg_guest/lv_root lv.img\n"
"\n"
msgstr ""
" guestfish --ro -d Guest run : download /dev/vg_guest/lv_root lv.img\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:266
msgid "To download to stdout, replace the filename with a C<-> character:"
msgstr "To download to stdout, replace the filename with a C<-> character:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:268
#, no-wrap
msgid ""
" guestfish --ro -a disk.img run : download /dev/sda1 - | gzip > sda1.gz\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img run : download /dev/sda1 - | gzip > sda1.gz\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:270
msgid "To list the filesystems in a disk image, use L<virt-filesystems(1)>."
msgstr "To list the filesystems in a disk image, use L<virt-filesystems(1)>."

#. type: textblock
#: ../docs/guestfs-recipes.pod:272
msgid "See also L</Uploading raw filesystem content>."
msgstr "See also L</Uploading raw filesystem content>."

#. type: =head1
#: ../docs/guestfs-recipes.pod:274
msgid "Edit grub configuration in a VM"
msgstr "Edit grub configuration in a VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:276
msgid "You can use this to:"
msgstr "You can use this to:"

#. type: textblock
#: ../docs/guestfs-recipes.pod:282
msgid "Fix a virtual machine that does not boot."
msgstr "Fix a virtual machine that does not boot."

#. type: textblock
#: ../docs/guestfs-recipes.pod:286
msgid "Change which kernel is used to boot the VM."
msgstr "Change which kernel is used to boot the VM."

#. type: textblock
#: ../docs/guestfs-recipes.pod:290
msgid "Change kernel command line options."
msgstr "Change kernel command line options."

#. type: textblock
#: ../docs/guestfs-recipes.pod:294
msgid "Use L<virt-edit(1)> to edit the grub configuration:"
msgstr "Use L<virt-edit(1)> to edit the grub configuration:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:296
#, no-wrap
msgid ""
" virt-edit -d BrokenGuest /boot/grub2/grub.cfg\n"
"\n"
msgstr ""
" virt-edit -d BrokenGuest /boot/grub2/grub.cfg\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:298
msgid ""
"or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like "
"this:"
msgstr ""
"or for general tinkering inside an unbootable VM use L<virt-rescue(1)> like "
"this:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:301
#, no-wrap
msgid ""
" virt-rescue -d BrokenGuest\n"
"\n"
msgstr ""
" virt-rescue -d BrokenGuest\n"
"\n"

#. type: =head1
#: ../docs/guestfs-recipes.pod:303
msgid "Export any directory from a VM"
msgstr "Export any directory from a VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:305
msgid ""
"To export F</home> from a VM into a local directory use L<virt-copy-out(1)>:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:308 ../docs/guestfs-testing.pod:177
#, no-wrap
msgid ""
" virt-copy-out -d Guest /home .\n"
"\n"
msgstr ""
" virt-copy-out -d Guest /home .\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:316
msgid ""
"The final dot of the command is not a printing error.  It means we want to "
"copy out to the current directory."
msgstr ""
"The final dot of the command is not a printing error.  It means we want to "
"copy out to the current directory."

#. type: textblock
#: ../docs/guestfs-recipes.pod:321
msgid "This creates a directory called C<home> under the current directory."
msgstr "This creates a directory called C<home> under the current directory."

#. type: textblock
#: ../docs/guestfs-recipes.pod:325
msgid ""
"If the guest is a Windows guest then you can use drive letters and "
"backslashes, but you must prefix the path with C<win:> and quote it to "
"protect it from the shell, like this:"
msgstr ""
"If the guest is a Windows guest then you can use drive letters and "
"backslashes, but you must prefix the path with C<win:> and quote it to "
"protect it from the shell, like this:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:329
#, no-wrap
msgid ""
" virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n"
"\n"
msgstr ""
" virt-copy-out -d WinGuest 'win:c:\\windows\\system32\\config' .\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:331
msgid "To get the output as a compressed tarball, do:"
msgstr "To get the output as a compressed tarball, do:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:333
#, no-wrap
msgid ""
" virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n"
"\n"
msgstr ""
" virt-tar-out -d Guest /home - | gzip --best > home.tar.gz\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:335
msgid ""
"Although it sounds tempting, this is usually not a reliable way to get a "
"backup from a running guest.  See the entry in the FAQ: L<http://libguestfs."
"org/FAQ.html#backup>"
msgstr ""
"Although it sounds tempting, this is usually not a reliable way to get a "
"backup from a running guest.  See the entry in the FAQ: L<http://libguestfs."
"org/FAQ.html#backup>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:339
msgid "Export external kernel and initramfs (initrd)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:341
msgid ""
"If a Linux guest doesn't have a boot loader or it is broken, then you can "
"usually boot it using an external kernel and initramfs.  In this "
"configuration, the hypervisor acts like a bootloader, loading the kernel "
"from the host disk into guest memory and jumping straight into the kernel."
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:347
msgid ""
"However you may wonder how to get the right kernel corresponding to the disk "
"image you have.  Since libguestfs E<ge> 1.24 L<virt-builder(1)> can get the "
"latest kernel and corresponding initramfs for you:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:352
#, no-wrap
msgid ""
" mkdir outputdir\n"
" virt-builder --get-kernel disk.img -o outputdir\n"
" ls -lh outputdir\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:356
msgid "Find out which user is using the most space"
msgstr "Find out which user is using the most space"

#. type: textblock
#: ../docs/guestfs-recipes.pod:358
msgid ""
"This simple script examines a Linux guest to find out which user is using "
"the most space in their home directory:"
msgstr ""
"This simple script examines a Linux guest to find out which user is using "
"the most space in their home directory:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:361
#, no-wrap
msgid ""
" #!/bin/sh -\n"
" \n"
msgstr ""
" #!/bin/sh -\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:363 ../fish/guestfish.pod:1021
#, no-wrap
msgid ""
" set -e\n"
" \n"
msgstr ""
" set -e\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:365
#, no-wrap
msgid ""
" vm=\"$1\"\n"
" dir=/home\n"
" \n"
msgstr ""
" vm=\"$1\"\n"
" dir=/home\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:368
#, no-wrap
msgid ""
" eval $(guestfish --ro -d \"$vm\" -i --listen)\n"
" \n"
msgstr ""
" eval $(guestfish --ro -d \"$vm\" -i --listen)\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:370
#, no-wrap
msgid ""
" for d in $(guestfish --remote ls \"$dir\"); do\n"
"     echo -n \"$dir/$d\"\n"
"     echo -ne '\\t'\n"
"     guestfish --remote du \"$dir/$d\";\n"
" done | sort -nr -k 2\n"
" \n"
msgstr ""
" for d in $(guestfish --remote ls \"$dir\"); do\n"
"     echo -n \"$dir/$d\"\n"
"     echo -ne '\\t'\n"
"     guestfish --remote du \"$dir/$d\";\n"
" done | sort -nr -k 2\n"
" \n"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:376 ../fish/guestfish.pod:975
#, no-wrap
msgid ""
" guestfish --remote exit\n"
"\n"
msgstr ""
" guestfish --remote exit\n"
"\n"

#. type: =head1
#: ../docs/guestfs-recipes.pod:378
msgid "Get DHCP address from a VM"
msgstr "Get DHCP address from a VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:380
msgid ""
"The link below explains the many different possible techniques for getting "
"the last assigned DHCP address of a virtual machine."
msgstr ""
"The link below explains the many different possible techniques for getting "
"the last assigned DHCP address of a virtual machine."

#. type: textblock
#: ../docs/guestfs-recipes.pod:383
msgid ""
"L<https://rwmj.wordpress.com/2011/03/31/tip-code-for-getting-dhcp-address-"
"from-a-virtual-machine-disk-image/#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2011/03/31/tip-code-for-getting-dhcp-address-"
"from-a-virtual-machine-disk-image/#content>"

#. type: textblock
#: ../docs/guestfs-recipes.pod:385
msgid ""
"In the libguestfs source examples directory you will find the latest version "
"of the F<virt-dhcp-address.c> program."
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:388
msgid "Get the operating system product name string"
msgstr "Get the operating system product name string"

#. type: textblock
#: ../docs/guestfs-recipes.pod:390
msgid "Save the following script into a file called F<product-name.sh>:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:392
#, no-wrap
msgid ""
" #!/bin/sh -\n"
" set -e\n"
" eval \"$(guestfish --ro -d \"$1\" --i --listen)\"\n"
" root=\"$(guestfish --remote inspect-get-roots)\"\n"
" guestfish --remote inspect-get-product-name \"$root\"\n"
" guestfish --remote exit\n"
"\n"
msgstr ""
" #!/bin/sh -\n"
" set -e\n"
" eval \"$(guestfish --ro -d \"$1\" --i --listen)\"\n"
" root=\"$(guestfish --remote inspect-get-roots)\"\n"
" guestfish --remote inspect-get-product-name \"$root\"\n"
" guestfish --remote exit\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:399
msgid "Make the script executable and run it on a named guest:"
msgstr "Make the script executable and run it on a named guest:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:401
#, no-wrap
msgid ""
" # product-name.sh RHEL60x64\n"
" Red Hat Enterprise Linux Server release 6.0 (Santiago)\n"
"\n"
msgstr ""
" # product-name.sh RHEL60x64\n"
" Red Hat Enterprise Linux Server release 6.0 (Santiago)\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:404
msgid ""
"You can also use an XPath query on the L<virt-inspector(1)> XML using the "
"C<xpath> command line tool or from your favourite programming language:"
msgstr ""
"You can also use an XPath query on the L<virt-inspector(1)> XML using the "
"C<xpath> command line tool or from your favourite programming language:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:408
#, no-wrap
msgid ""
" # virt-inspector RHEL60x64 > xml\n"
" # xpath '//product_name' < xml\n"
" Found 1 nodes:\n"
" -- NODE --\n"
" <product_name>Red Hat Enterprise Linux Server release 6.0 (Santiago)</product_name>\n"
"\n"
msgstr ""
" # virt-inspector RHEL60x64 > xml\n"
" # xpath '//product_name' < xml\n"
" Found 1 nodes:\n"
" -- NODE --\n"
" <product_name>Red Hat Enterprise Linux Server release 6.0 (Santiago)</product_name>\n"
"\n"

#. type: =head1
#: ../docs/guestfs-recipes.pod:414
msgid "Get the default boot kernel for a Linux VM"
msgstr "Get the default boot kernel for a Linux VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:416
msgid ""
"The link below contains a program to print the default boot kernel for a "
"Linux VM."
msgstr ""
"The link below contains a program to print the default boot kernel for a "
"Linux VM."

#. type: textblock
#: ../docs/guestfs-recipes.pod:419
msgid ""
"L<https://rwmj.wordpress.com/2010/10/30/tip-use-augeas-to-get-the-default-"
"boot-kernel-for-a-vm/#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2010/10/30/tip-use-augeas-to-get-the-default-"
"boot-kernel-for-a-vm/#content>"

#. type: textblock
#: ../docs/guestfs-recipes.pod:421
msgid ""
"It uses Augeas, and the technique is generally applicable for many different "
"tasks, such as:"
msgstr ""
"It uses Augeas, and the technique is generally applicable for many different "
"tasks, such as:"

#. type: textblock
#: ../docs/guestfs-recipes.pod:428
msgid "listing the user accounts in the guest"
msgstr "listing the user accounts in the guest"

#. type: textblock
#: ../docs/guestfs-recipes.pod:432
msgid "what repositories is it configured to use"
msgstr "what repositories is it configured to use"

#. type: textblock
#: ../docs/guestfs-recipes.pod:436
msgid "what NTP servers does it connect to"
msgstr "what NTP servers does it connect to"

#. type: textblock
#: ../docs/guestfs-recipes.pod:440
msgid "what were the boot messages last time it booted"
msgstr "what were the boot messages last time it booted"

#. type: textblock
#: ../docs/guestfs-recipes.pod:444
msgid "listing who was logged in recently"
msgstr "listing who was logged in recently"

#. type: textblock
#: ../docs/guestfs-recipes.pod:448
msgid "L<http://augeas.net/>"
msgstr "L<http://augeas.net/>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:450
msgid "Hanging guests"
msgstr "Hanging guests"

#. type: textblock
#: ../docs/guestfs-recipes.pod:452
msgid ""
"There are various ways to use libguestfs to find out why a guest is hanging "
"or unresponsive:"
msgstr ""
"There are various ways to use libguestfs to find out why a guest is hanging "
"or unresponsive:"

#. type: textblock
#: ../docs/guestfs-recipes.pod:459
msgid "Read the log files using virt-cat:"
msgstr "Read the log files using virt-cat:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:461
#, no-wrap
msgid ""
" virt-cat Guest /var/log/messages | less\n"
"\n"
msgstr ""
" virt-cat Guest /var/log/messages | less\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:465
msgid "Read the Windows Event Log (Windows Vista or later only):"
msgstr "Read the Windows Event Log (Windows Vista or later only):"

#. type: textblock
#: ../docs/guestfs-recipes.pod:467 ../docs/guestfs-recipes.pod:644
msgid ""
"L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-"
"guestfish/#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2011/04/17/decoding-the-windows-event-log-using-"
"guestfish/#content>"

#. type: textblock
#: ../docs/guestfs-recipes.pod:471
msgid "Find out which files were last updated in a guest:"
msgstr "Find out which files were last updated in a guest:"

#. type: textblock
#: ../docs/guestfs-recipes.pod:473
msgid ""
"L<https://rwmj.wordpress.com/2012/02/27/using-libguestfs-to-find-out-why-a-"
"windows-guest-was-hanging/#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2012/02/27/using-libguestfs-to-find-out-why-a-"
"windows-guest-was-hanging/#content>"

#. type: textblock
#: ../docs/guestfs-recipes.pod:475
msgid "This might give you a clue as to what program is running."
msgstr "This might give you a clue as to what program is running."

#. type: =head1
#: ../docs/guestfs-recipes.pod:479
msgid "Hex-dumping sectors from the guest"
msgstr "Hex-dumping sectors from the guest"

#. type: textblock
#: ../docs/guestfs-recipes.pod:481
msgid "Hex-dump the boot partition (Master Boot Record / first sector):"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:483
#, no-wrap
msgid ""
" guestfish --ro -a disk.img run : pread-device /dev/sda 0x200 0 |\n"
"   hexdump -C\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img run : pread-device /dev/sda 0x200 0 |\n"
"   hexdump -C\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:486
msgid "(C<0x200> = 512 bytes which is the size of traditional PC sectors)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:488
msgid ""
"To hexdump the N'th partition, substitute a number for C<N> in the following "
"command:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:491
#, no-wrap
msgid ""
" guestfish --ro -a disk.img \\\n"
"     run : pread-device /dev/sda 0x200 $((N*0x200)) |\n"
"   hexdump -C\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:495
msgid "Hex-editing sectors in the guest"
msgstr "Hex-editing sectors in the guest"

#. type: textblock
#: ../docs/guestfs-recipes.pod:497
msgid "Hex-edit the boot partition (Master Boot Record / first sector):"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:499
#, no-wrap
msgid ""
" guestfish --rw -a disk.img run : hexedit /dev/sda 0x200\n"
"\n"
msgstr ""
" guestfish --rw -a disk.img run : hexedit /dev/sda 0x200\n"
"\n"

#. type: =head1
#: ../docs/guestfs-recipes.pod:501
msgid "Install packages (RPMs, Debian packages) in a guest"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:503
msgid ""
"Since libguestfs 1.26, L<virt-builder(1)>, L<virt-customize(1)> and L<virt-"
"sysprep(1)> have an I<--install> option for installing packages in Linux "
"guests.  (Use virt-customize if you have an existing guest, or virt-builder "
"if you want to create a guest from scratch)."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:510
#, no-wrap
msgid ""
" virt-builder fedora-20 --install emacs\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:512
msgid "Install packages from an alternate repository"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:514
msgid ""
"Since libguestfs 1.26, you can use L<virt-builder(1)>, L<virt-customize(1)> "
"or L<virt-sysprep(1)> I<--edit> option to edit repository metadata before "
"installing packages"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:518
msgid ""
"For example this would install packages from the updates-testing repository "
"in Fedora:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:521
#, no-wrap
msgid ""
" virt-builder fedora-20 \\\n"
"   --edit '/etc/yum.repos.d/fedora-updates-testing.repo:\n"
"             s/enabled=0/enabled=1/' \\\n"
"   --install emacs\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:526
msgid "Install SYSLINUX bootloader in a guest"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:528
msgid ""
"SYSLINUX is a small, easy to configure bootloader for Linux and Windows "
"guests.  If your guest is not bootable, you can install the SYSLINUX "
"bootloader using either the guestfish commands C<syslinux> (for FAT-based "
"guests) or C<extlinux> (for ext2/3/4 and btrfs-based guests)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:534
msgid ""
"This guide assumes a Linux guest where F</dev/sda1> is F</boot>, F</boot/"
"vmlinuz> is the guest kernel, and F</dev/sda3> is the root partition.  For a "
"Windows guest you would need a FAT-formatted boot partition and you would "
"need to use the C<syslinux> command instead."
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:539
msgid ""
"Create a F<syslinux.cfg> configuration file.  You should check the SYSLINUX "
"documentation at L<http://www.syslinux.org> but it may look something like "
"this:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:543
#, no-wrap
msgid ""
" DEFAULT linux\n"
" LABEL linux\n"
"   SAY Booting the kernel\n"
"   KERNEL vmlinuz\n"
"   INITRD initrd\n"
"   APPEND ro root=/dev/sda3\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:550
msgid ""
"Locate the syslinux master boot record (a file called something like F</usr/"
"share/syslinux/mbr.bin>)."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:553
#, no-wrap
msgid ""
" guestfish -a disk.img -i\n"
" # Upload the master boot record and configuration file:\n"
" ><fs> upload ..../mbr.bin /boot/mbr.bin\n"
" ><fs> upload ..../syslinux.cfg /boot/syslinux.cfg\n"
" # Put the MBR into the boot sector:\n"
" ><fs> copy-file-to-device /boot/mbr.bin /dev/sda size:440\n"
" # Install syslinux on the first partition:\n"
" ><fs> extlinux /boot\n"
" # Set the first partition as bootable:\n"
" ><fs> part-set-bootable /dev/sda 1 true\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-recipes.pod:564
msgid ""
"See also: L<http://rwmj.wordpress.com/2013/04/04/new-in-libguestfs-use-"
"syslinux-or-extlinux-to-make-bootable-guests/#content>"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:567
msgid "List applications installed in a VM"
msgstr "List applications installed in a VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:569
msgid "Save the following to a file F<list-apps.sh>:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:571
#, no-wrap
msgid ""
" #!/bin/sh -\n"
" set -e\n"
" eval \"$(guestfish --ro -d \"$1\" --i --listen)\"\n"
" root=\"$(guestfish --remote inspect-get-roots)\"\n"
" guestfish --remote inspect-list-applications \"$root\"\n"
" guestfish --remote exit\n"
"\n"
msgstr ""
" #!/bin/sh -\n"
" set -e\n"
" eval \"$(guestfish --ro -d \"$1\" --i --listen)\"\n"
" root=\"$(guestfish --remote inspect-get-roots)\"\n"
" guestfish --remote inspect-list-applications \"$root\"\n"
" guestfish --remote exit\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:578
msgid ""
"Make the file executable and then you can run it on any named virtual "
"machine:"
msgstr ""
"Make the file executable and then you can run it on any named virtual "
"machine:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:581
#, no-wrap
msgid ""
" # list-apps.sh WinGuest\n"
" [0] = {\n"
"   app_name: Mozilla Firefox (3.6.12)\n"
"   app_display_name: Mozilla Firefox (3.6.12)\n"
"   app_epoch: 0\n"
"   app_version: 3.6.12 (en-GB)\n"
"   app_release:\n"
"   app_install_path: C:\\Program Files\\Mozilla Firefox\n"
"   app_trans_path:\n"
"   app_publisher: Mozilla\n"
"   app_url: http://www.mozilla.com/en-GB/\n"
"   app_source_package:\n"
"   app_summary:\n"
"   app_description: Mozilla Firefox\n"
" }\n"
" [1] = {\n"
"   app_name: VLC media player\n"
"   app_display_name: VLC media player 1.1.5\n"
"   app_epoch: 0\n"
"   app_version: 1.1.5\n"
"   app_release:\n"
"   app_install_path: C:\\Program Files\\VideoLAN\\VLC\n"
"   app_trans_path:\n"
"   app_publisher: VideoLAN\n"
"   app_url: http://www.videolan.org/\n"
"   app_source_package:\n"
"   app_summary:\n"
"   app_description:\n"
" }\n"
"\n"
msgstr ""
" # list-apps.sh WinGuest\n"
" [0] = {\n"
"   app_name: Mozilla Firefox (3.6.12)\n"
"   app_display_name: Mozilla Firefox (3.6.12)\n"
"   app_epoch: 0\n"
"   app_version: 3.6.12 (en-GB)\n"
"   app_release:\n"
"   app_install_path: C:\\Program Files\\Mozilla Firefox\n"
"   app_trans_path:\n"
"   app_publisher: Mozilla\n"
"   app_url: http://www.mozilla.com/en-GB/\n"
"   app_source_package:\n"
"   app_summary:\n"
"   app_description: Mozilla Firefox\n"
" }\n"
" [1] = {\n"
"   app_name: VLC media player\n"
"   app_display_name: VLC media player 1.1.5\n"
"   app_epoch: 0\n"
"   app_version: 1.1.5\n"
"   app_release:\n"
"   app_install_path: C:\\Program Files\\VideoLAN\\VLC\n"
"   app_trans_path:\n"
"   app_publisher: VideoLAN\n"
"   app_url: http://www.videolan.org/\n"
"   app_source_package:\n"
"   app_summary:\n"
"   app_description:\n"
" }\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:611
msgid ""
"If you want to run the script on disk images (instead of libvirt virtual "
"machines), change C<-d \"$1\"> to C<-a \"$1\">.  See also L<virt-"
"inspector(1)>."
msgstr ""
"If you want to run the script on disk images (instead of libvirt virtual "
"machines), change C<-d \"$1\"> to C<-a \"$1\">.  See also L<virt-"
"inspector(1)>."

#. type: =head1
#: ../docs/guestfs-recipes.pod:615
msgid "List files and directories in a VM"
msgstr "List files and directories in a VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:617
msgid "Use L<virt-ls(1)>."
msgstr "Use L<virt-ls(1)>."

#. type: =head1
#: ../docs/guestfs-recipes.pod:619
msgid "List services in a Windows VM"
msgstr "List services in a Windows VM"

#. type: textblock
#: ../docs/guestfs-recipes.pod:621
msgid ""
"The link below contains a script that can be used to list out the services "
"from a Windows VM, and whether those services run at boot time or are loaded "
"on demand."
msgstr ""
"The link below contains a script that can be used to list out the services "
"from a Windows VM, and whether those services run at boot time or are loaded "
"on demand."

#. type: textblock
#: ../docs/guestfs-recipes.pod:625
msgid ""
"L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/"
"#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2010/12/10/tip-list-services-in-a-windows-guest/"
"#content>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:627
msgid "Make a disk image sparse"
msgstr "Make a disk image sparse"

#. type: textblock
#: ../docs/guestfs-recipes.pod:629
msgid "Use L<virt-sparsify(1)>."
msgstr "Use L<virt-sparsify(1)>."

#. type: =head1
#: ../docs/guestfs-recipes.pod:631
msgid "Monitor disk usage over time"
msgstr "Monitor disk usage over time"

#. type: textblock
#: ../docs/guestfs-recipes.pod:633
msgid ""
"You can use L<virt-df(1)> to monitor disk usage of your guests over time.  "
"The link below contains a guide."
msgstr ""
"You can use L<virt-df(1)> to monitor disk usage of your guests over time.  "
"The link below contains a guide."

#. type: textblock
#: ../docs/guestfs-recipes.pod:636
msgid ""
"L<http://web.archive.org/web/20130214073726/http://virt-tools.org/learning/"
"advanced-virt-df/>"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:638
msgid "Reading the Windows Event Log from Windows Vista (or later)"
msgstr "Reading the Windows Event Log from Windows Vista (or later)"

#. type: textblock
#: ../docs/guestfs-recipes.pod:640
msgid ""
"L<guestfish(1)> plus the tools described in the link below can be used to "
"read out the Windows Event Log from any virtual machine running Windows "
"Vista or a later version."
msgstr ""
"L<guestfish(1)> plus the tools described in the link below can be used to "
"read out the Windows Event Log from any virtual machine running Windows "
"Vista or a later version."

#. type: =head1
#: ../docs/guestfs-recipes.pod:646
msgid "Remove root password (Linux)"
msgstr "Remove root password (Linux)"

#. type: textblock
#: ../docs/guestfs-recipes.pod:648
msgid ""
"Using the L<virt-edit(1)> I<-e> option you can do simple replacements on "
"files.  One use is to remove the root password from a Linux guest:"
msgstr ""
"Using the L<virt-edit(1)> I<-e> option you can do simple replacements on "
"files.  One use is to remove the root password from a Linux guest:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:651 ../edit/virt-edit.pod:259
#, no-wrap
msgid ""
" virt-edit -d domname /etc/passwd -e 's/^root:.*?:/root::/'\n"
"\n"
msgstr ""
" virt-edit -d domname /etc/passwd -e 's/^root:.*?:/root::/'\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:653
#, no-wrap
msgid ""
" virt-edit -a disk.img /etc/passwd -e 's/^root:.*?:/root::/'\n"
"\n"
msgstr ""

#. type: =head1
#: ../docs/guestfs-recipes.pod:655
msgid "Remove Administrator password (Windows)"
msgstr "Remove Administrator password (Windows)"

#. type: textblock
#: ../docs/guestfs-recipes.pod:657
msgid ""
"The link below contains one technique for removing the Administrator "
"password from a Windows VM, or to be more precise, it gives you a command "
"prompt the next time you log in which you can use to bypass any security:"
msgstr ""
"The link below contains one technique for removing the Administrator "
"password from a Windows VM, or to be more precise, it gives you a command "
"prompt the next time you log in which you can use to bypass any security:"

#. type: textblock
#: ../docs/guestfs-recipes.pod:662
msgid ""
"L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-"
"administrator-password-with-guestfish/>"
msgstr ""
"L<https://mdbooth.wordpress.com/2010/10/18/resetting-a-windows-guests-"
"administrator-password-with-guestfish/>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:664
msgid "Sysprepping a virtual machine (Windows)"
msgstr "Sysprepping a virtual machine (Windows)"

#. type: textblock
#: ../docs/guestfs-recipes.pod:666
msgid ""
"It is possible to do a \"sysprep\" using libguestfs alone, although not "
"straightforward.  Currently there is code in the Aeolus Oz project which "
"does this (using libguestfs).  It is likely we will add this to L<virt-"
"sysprep(1)> in future."
msgstr ""
"It is possible to do a \"sysprep\" using libguestfs alone, although not "
"straightforward.  Currently there is code in the Aeolus Oz project which "
"does this (using libguestfs).  It is likely we will add this to L<virt-"
"sysprep(1)> in future."

#. type: textblock
#: ../docs/guestfs-recipes.pod:671
msgid ""
"L<https://github.com/clalancette/oz> L<https://www.redhat.com/archives/virt-"
"tools-list/2011-May/msg00019.html>"
msgstr ""
"L<https://github.com/clalancette/oz> L<https://www.redhat.com/archives/virt-"
"tools-list/2011-May/msg00019.html>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:674
msgid "Unpack a live CD"
msgstr "Unpack a live CD"

#. type: textblock
#: ../docs/guestfs-recipes.pod:676
msgid ""
"Linux live CDs often contain multiple layers of disk images wrapped like a "
"Russian doll.  You can use L<guestfish(1)> to look inside these multiple "
"layers, as outlined in the guide below."
msgstr ""
"Linux live CDs often contain multiple layers of disk images wrapped like a "
"Russian doll.  You can use L<guestfish(1)> to look inside these multiple "
"layers, as outlined in the guide below."

#. type: textblock
#: ../docs/guestfs-recipes.pod:680
msgid ""
"L<https://rwmj.wordpress.com/2009/07/15/unpack-the-russian-doll-of-a-f11-"
"live-cd/#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2009/07/15/unpack-the-russian-doll-of-a-f11-"
"live-cd/#content>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:682
msgid "Uploading and downloading files"
msgstr "Uploading and downloading files"

#. type: textblock
#: ../docs/guestfs-recipes.pod:684
msgid ""
"The link below contains general tips on uploading (copying in)  and "
"downloading (copying out) files from VMs."
msgstr ""
"The link below contains general tips on uploading (copying in)  and "
"downloading (copying out) files from VMs."

#. type: textblock
#: ../docs/guestfs-recipes.pod:687
msgid ""
"L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/"
"#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2010/12/02/tip-uploading-and-downloading/"
"#content>"

#. type: =head1
#: ../docs/guestfs-recipes.pod:689
msgid "Uploading raw filesystem content"
msgstr "Uploading raw filesystem content"

#. type: textblock
#: ../docs/guestfs-recipes.pod:691
msgid ""
"You can use L<guestfish(1)> to upload whole filesystems into a VM, even into "
"a filesystem which is encrypted or buried inside an LV or RAID device:"
msgstr ""
"You can use L<guestfish(1)> to upload whole filesystems into a VM, even into "
"a filesystem which is encrypted or buried inside an LV or RAID device:"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:695
#, no-wrap
msgid ""
" guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n"
"\n"
msgstr ""
" guestfish --rw -a disk.img run : upload sda1.img /dev/sda1\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-recipes.pod:697
#, no-wrap
msgid ""
" guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n"
"\n"
msgstr ""
" guestfish --rw -d Guest run : upload lv.img /dev/vg_guest/lv_root\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:699
msgid ""
"One common problem is that the filesystem isn't the right size for the "
"target.  If it is too large, there’s not much you can do with libguestfs - "
"you have to prepare the filesystem differently.  But if the filesystem needs "
"to expand into the target, you can use guestfish to resize it to the right "
"size:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-recipes.pod:705
#, no-wrap
msgid ""
" guestfish --rw -d Guest run : \\\n"
"   upload lv.img /dev/vg_guest/lv_root : \\\n"
"   resize2fs /dev/vg_guest/lv_root\n"
"\n"
msgstr ""
" guestfish --rw -d Guest run : \\\n"
"   upload lv.img /dev/vg_guest/lv_root : \\\n"
"   resize2fs /dev/vg_guest/lv_root\n"
"\n"

#. type: textblock
#: ../docs/guestfs-recipes.pod:709
msgid "(or use C<ntfsresize> if the filesystem is NTFS)."
msgstr "(or use C<ntfsresize> if the filesystem is NTFS)."

#. type: =head1
#: ../docs/guestfs-recipes.pod:711
msgid "Use libguestfs tools on VMware ESX guests"
msgstr "Use libguestfs tools on VMware ESX guests"

#. type: textblock
#: ../docs/guestfs-recipes.pod:713
msgid ""
"The link below explains how to use libguestfs, L<guestfish(1)> and the virt "
"tools on any VMware ESX guests, by first sharing the VMware VMFS over sshfs."
msgstr ""
"The link below explains how to use libguestfs, L<guestfish(1)> and the virt "
"tools on any VMware ESX guests, by first sharing the VMware VMFS over sshfs."

#. type: textblock
#: ../docs/guestfs-recipes.pod:717
msgid ""
"L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-"
"guests/#content>"
msgstr ""
"L<https://rwmj.wordpress.com/2011/05/10/tip-use-libguestfs-on-vmware-esx-"
"guests/#content>"

#. type: textblock
#: ../docs/guestfs-recipes.pod:721
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<guestfs-"
"erlang(3)>, L<guestfs-gobject(3)>, L<guestfs-golang(3)>, L<guestfs-java(3)>, "
"L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-"
"python(3)>, L<guestfs-ruby(3)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.10.pod:3
#: ../docs/guestfs-release-notes-1.12.pod:3
#: ../docs/guestfs-release-notes-1.14.pod:3
#: ../docs/guestfs-release-notes-1.16.pod:3
#: ../docs/guestfs-release-notes-1.18.pod:3
#: ../docs/guestfs-release-notes-1.20.pod:3
#: ../docs/guestfs-release-notes-1.22.pod:3
#: ../docs/guestfs-release-notes-1.24.pod:3
#: ../docs/guestfs-release-notes-1.26.pod:3
#: ../docs/guestfs-release-notes-1.28.pod:3
#: ../docs/guestfs-release-notes-1.30.pod:3
#: ../docs/guestfs-release-notes-1.32.pod:3
#: ../docs/guestfs-release-notes-1.34.pod:3
#: ../docs/guestfs-release-notes-1.36.pod:3
#: ../docs/guestfs-release-notes-1.38.pod:3
#: ../docs/guestfs-release-notes-1.4.pod:3
#: ../docs/guestfs-release-notes-1.40.pod:3
#: ../docs/guestfs-release-notes-1.42.pod:3
#: ../docs/guestfs-release-notes-1.6.pod:3
#: ../docs/guestfs-release-notes-1.8.pod:3
#: ../docs/guestfs-release-notes-historical.pod:3
msgid "guestfs-release-notes - libguestfs Release Notes"
msgstr "guestfs-release-notes - libguestfs Release Notes"

#. type: =head1
#: ../docs/guestfs-release-notes-1.10.pod:5
#, fuzzy
#| msgid "RELEASE NOTES FOR LIBGUESTFS 1.18"
msgid "RELEASE NOTES FOR LIBGUESTFS 1.10"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.18"

#. type: textblock
#: ../docs/guestfs-release-notes-1.10.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.8.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.8.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: =head2
#: ../docs/guestfs-release-notes-1.10.pod:11
#: ../docs/guestfs-release-notes-1.12.pod:11
#: ../docs/guestfs-release-notes-1.14.pod:11
#: ../docs/guestfs-release-notes-1.16.pod:11
#: ../docs/guestfs-release-notes-1.18.pod:11
#: ../docs/guestfs-release-notes-1.20.pod:11
#: ../docs/guestfs-release-notes-1.22.pod:11
#: ../docs/guestfs-release-notes-1.24.pod:11
#: ../docs/guestfs-release-notes-1.26.pod:11
#: ../docs/guestfs-release-notes-1.28.pod:11
#: ../docs/guestfs-release-notes-1.30.pod:11
#: ../docs/guestfs-release-notes-1.32.pod:11
#: ../docs/guestfs-release-notes-1.34.pod:11
#: ../docs/guestfs-release-notes-1.36.pod:11
#: ../docs/guestfs-release-notes-1.38.pod:11
#: ../docs/guestfs-release-notes-1.4.pod:11
#: ../docs/guestfs-release-notes-1.40.pod:11
#: ../docs/guestfs-release-notes-1.42.pod:30
#: ../docs/guestfs-release-notes-1.6.pod:11
#: ../docs/guestfs-release-notes-1.8.pod:11
msgid "New features"
msgstr "New features"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:13
#, no-wrap
msgid ""
" - libguestfs and tools can be used against live virtual machines.\n"
"   See the 'guestfish --live' and 'guestmount --live' options, and (for\n"
"   the low-level interface) the new APIs set-attach-method and\n"
"   get-attach-method.\n"
"\n"
msgstr ""
" - libguestfs and tools can be used against live virtual machines.\n"
"   See the 'guestfish --live' and 'guestmount --live' options, and (for\n"
"   the low-level interface) the new APIs set-attach-method and\n"
"   get-attach-method.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:18
#, no-wrap
msgid ""
" - New virt tools:\n"
"   virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.\n"
"\n"
msgstr ""
" - New virt tools:\n"
"   virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:21
#, no-wrap
msgid ""
" - libguestfs can get the drive letter mappings for Windows guests.\n"
"\n"
msgstr ""
" - libguestfs can get the drive letter mappings for Windows guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:23
#, no-wrap
msgid ""
" - virt-inspector displays drive letter mappings for Windows guests.\n"
"\n"
msgstr ""
" - virt-inspector displays drive letter mappings for Windows guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:25
#, no-wrap
msgid ""
" - Drive letters can now be used in virt-edit and guestfish programs\n"
"   when operating on Windows guests.\n"
"\n"
msgstr ""
" - Drive letters can now be used in virt-edit and guestfish programs\n"
"   when operating on Windows guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:28
#, no-wrap
msgid ""
" - virt-resize now works on 32 bit hosts.\n"
"\n"
msgstr ""
" - virt-resize now works on 32 bit hosts.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:30
#, no-wrap
msgid ""
" - You can now inspect the install disks and live CDs of many different\n"
"   operating systems.\n"
"\n"
msgstr ""
" - You can now inspect the install disks and live CDs of many different\n"
"   operating systems.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:33
#, no-wrap
msgid ""
" - guestfish <! cmd which executes a shell cmd and inlines the result.\n"
"\n"
msgstr ""
" - guestfish <! cmd which executes a shell cmd and inlines the result.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:35
#, no-wrap
msgid ""
" - guestfish, guestmount, virt-rescue now all support --ro and --rw\n"
"   options, and the default for this can be chosen via a configuration\n"
"   file (/etc/libguestfs-tools.conf).\n"
"\n"
msgstr ""
" - guestfish, guestmount, virt-rescue now all support --ro and --rw\n"
"   options, and the default for this can be chosen via a configuration\n"
"   file (/etc/libguestfs-tools.conf).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:39
#, no-wrap
msgid ""
" - New event API allows more than one callback to be registered for\n"
"   each event, makes it possible to call the API from other languages,\n"
"   and allows nearly all log, debug and trace messages to be rerouted\n"
"   from stderr.\n"
"\n"
msgstr ""
" - New event API allows more than one callback to be registered for\n"
"   each event, makes it possible to call the API from other languages,\n"
"   and allows nearly all log, debug and trace messages to be rerouted\n"
"   from stderr.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:44
#, no-wrap
msgid ""
" - Greater FHS compliance for temporary files, including using /var/tmp\n"
"   for large cached files that should survive reboot (instead of /tmp).\n"
"\n"
msgstr ""
" - Greater FHS compliance for temporary files, including using /var/tmp\n"
"   for large cached files that should survive reboot (instead of /tmp).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:47
#, no-wrap
msgid ""
" - guestfish, guestmount -m option allows mount options to be passed\n"
"   through to the underlying filesystem.\n"
"\n"
msgstr ""
" - guestfish, guestmount -m option allows mount options to be passed\n"
"   through to the underlying filesystem.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:50
#, no-wrap
msgid ""
" - mkfs-opts allows filesystem features to be specified.\n"
"\n"
msgstr ""
" - mkfs-opts allows filesystem features to be specified.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:52
#, no-wrap
msgid ""
" - More intelligent handling of mountpoints, allowing mkmountpoint, mount\n"
"   and umount-all commands to work together properly.\n"
"\n"
msgstr ""
" - More intelligent handling of mountpoints, allowing mkmountpoint, mount\n"
"   and umount-all commands to work together properly.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:55
#, no-wrap
msgid ""
" - Trace messages are prefixed with a distinct string, allowing them to\n"
"   be easily 'grepped' out from debug output.\n"
"\n"
msgstr ""
" - Trace messages are prefixed with a distinct string, allowing them to\n"
"   be easily 'grepped' out from debug output.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:58
#, no-wrap
msgid ""
" - guestfs_launch (guestfish 'run' command) now produces progress\n"
"   messages (a guestfish progress bar) if it takes longer than 5\n"
"   seconds to run.\n"
"\n"
msgstr ""
" - guestfs_launch (guestfish 'run' command) now produces progress\n"
"   messages (a guestfish progress bar) if it takes longer than 5\n"
"   seconds to run.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:62
#, no-wrap
msgid ""
" - Several long-running commands where we are unable to estimate time\n"
"   to completion generate \"pulse mode\" progress events.  Progress bar\n"
"   in guestfish has been updated to display these.\n"
"\n"
msgstr ""
" - Several long-running commands where we are unable to estimate time\n"
"   to completion generate \"pulse mode\" progress events.  Progress bar\n"
"   in guestfish has been updated to display these.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:66
#, no-wrap
msgid ""
" - Publish new example code in: C, Perl, Python, OCaml, Ruby.\n"
"\n"
msgstr ""
" - Publish new example code in: C, Perl, Python, OCaml, Ruby.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:68
#, no-wrap
msgid ""
" - New virt-dhcp-address example program.\n"
"\n"
msgstr ""
" - New virt-dhcp-address example program.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:70
#, no-wrap
msgid ""
" - The Java and Ruby bindings have been improved greatly.\n"
"\n"
msgstr ""
" - The Java and Ruby bindings have been improved greatly.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:72
#, no-wrap
msgid ""
" - Perl includes a way to get the errno of the last error.\n"
"\n"
msgstr ""
" - Perl includes a way to get the errno of the last error.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:74
#, no-wrap
msgid ""
" - Python bindings now compatible with rpyc (thanks Erez Shinan).\n"
"\n"
msgstr ""
" - Python bindings now compatible with rpyc (thanks Erez Shinan).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:76
#, no-wrap
msgid ""
" - Transifex is now being used to manage translations.\n"
"   http://www.transifex.net/projects/p/libguestfs/\n"
"\n"
msgstr ""
" - Transifex is now being used to manage translations.\n"
"   http://www.transifex.net/projects/p/libguestfs/\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:79
#, no-wrap
msgid ""
" - Inspection now supports Red Hat Desktop, Slackware distributions.\n"
"\n"
msgstr ""
" - Inspection now supports Red Hat Desktop, Slackware distributions.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:81
#, no-wrap
msgid ""
" - Inspection no longer fails for Windows guests that have two or\n"
"   more disks.\n"
"\n"
msgstr ""
" - Inspection no longer fails for Windows guests that have two or\n"
"   more disks.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:84
#, no-wrap
msgid ""
" - Inspection can now tell the difference between Windows 2008 Server\n"
"   and Windows 7.\n"
"\n"
msgstr ""
" - Inspection can now tell the difference between Windows 2008 Server\n"
"   and Windows 7.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:87
#, no-wrap
msgid ""
" - Inspection can detect 32 bit applications installed in 64 bit\n"
"   Windows, running on the WOW64 emulator.\n"
"\n"
msgstr ""
" - Inspection can detect 32 bit applications installed in 64 bit\n"
"   Windows, running on the WOW64 emulator.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:90
#, no-wrap
msgid ""
" - A series of protocol fixes has fixed the old bug RHBZ#576879\n"
"   which used to cause errors during the upload command to lose\n"
"   protocol synchronization.\n"
"\n"
msgstr ""
" - A series of protocol fixes has fixed the old bug RHBZ#576879\n"
"   which used to cause errors during the upload command to lose\n"
"   protocol synchronisation.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:94
#, no-wrap
msgid ""
" - New logo!\n"
"\n"
msgstr ""
" - New logo!\n"
"\n"

#. type: =head2
#: ../docs/guestfs-release-notes-1.10.pod:96
#: ../docs/guestfs-release-notes-1.12.pod:92
#: ../docs/guestfs-release-notes-1.14.pod:112
#: ../docs/guestfs-release-notes-1.16.pod:85
#: ../docs/guestfs-release-notes-1.18.pod:96
#: ../docs/guestfs-release-notes-1.20.pod:192
#: ../docs/guestfs-release-notes-1.22.pod:136
#: ../docs/guestfs-release-notes-1.24.pod:76
#: ../docs/guestfs-release-notes-1.26.pod:83
#: ../docs/guestfs-release-notes-1.28.pod:84
#: ../docs/guestfs-release-notes-1.30.pod:184
#: ../docs/guestfs-release-notes-1.32.pod:112
#: ../docs/guestfs-release-notes-1.34.pod:210
#: ../docs/guestfs-release-notes-1.36.pod:164
#: ../docs/guestfs-release-notes-1.38.pod:142
#: ../docs/guestfs-release-notes-1.4.pod:84
#: ../docs/guestfs-release-notes-1.40.pod:114
#: ../docs/guestfs-release-notes-1.42.pod:128
#: ../docs/guestfs-release-notes-1.6.pod:96
#: ../docs/guestfs-release-notes-1.8.pod:77
msgid "Security"
msgstr "Security"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:98
#, no-wrap
msgid ""
"  [none]\n"
"\n"
msgstr ""
"  [none]\n"
"\n"

#. type: =head2
#: ../docs/guestfs-release-notes-1.10.pod:100
#: ../docs/guestfs-release-notes-1.12.pod:98
#: ../docs/guestfs-release-notes-1.14.pod:116
#: ../docs/guestfs-release-notes-1.16.pod:91
#: ../docs/guestfs-release-notes-1.18.pod:100
#: ../docs/guestfs-release-notes-1.20.pod:213
#: ../docs/guestfs-release-notes-1.22.pod:140
#: ../docs/guestfs-release-notes-1.24.pod:96
#: ../docs/guestfs-release-notes-1.26.pod:118
#: ../docs/guestfs-release-notes-1.28.pod:113
#: ../docs/guestfs-release-notes-1.30.pod:235
#: ../docs/guestfs-release-notes-1.32.pod:158
#: ../docs/guestfs-release-notes-1.34.pod:250
#: ../docs/guestfs-release-notes-1.36.pod:180
#: ../docs/guestfs-release-notes-1.38.pod:150
#: ../docs/guestfs-release-notes-1.4.pod:90
#: ../docs/guestfs-release-notes-1.40.pod:125
#: ../docs/guestfs-release-notes-1.42.pod:134
#: ../docs/guestfs-release-notes-1.6.pod:106
#: ../docs/guestfs-release-notes-1.8.pod:88
msgid "New APIs"
msgstr "New APIs"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:102
#, no-wrap
msgid ""
"  first-private, get-attach-method, inspect-get-drive-mappings,\n"
"  inspect-get-product-variant,\n"
"  inspect-get-windows-current-control-set, next-private, resize2fs-M,\n"
"  set-attach-method.\n"
"\n"
msgstr ""
"  first-private, get-attach-method, inspect-get-drive-mappings,\n"
"  inspect-get-product-variant,\n"
"  inspect-get-windows-current-control-set, next-private, resize2fs-M,\n"
"  set-attach-method.\n"
"\n"

#. type: =head2
#: ../docs/guestfs-release-notes-1.10.pod:107
#: ../docs/guestfs-release-notes-1.12.pod:104
#: ../docs/guestfs-release-notes-1.14.pod:127
#: ../docs/guestfs-release-notes-1.16.pod:101
#: ../docs/guestfs-release-notes-1.18.pod:130
#: ../docs/guestfs-release-notes-1.20.pod:297
#: ../docs/guestfs-release-notes-1.22.pod:157
#: ../docs/guestfs-release-notes-1.24.pod:153
#: ../docs/guestfs-release-notes-1.26.pod:200
#: ../docs/guestfs-release-notes-1.28.pod:155
#: ../docs/guestfs-release-notes-1.30.pod:446
#: ../docs/guestfs-release-notes-1.32.pod:248
#: ../docs/guestfs-release-notes-1.34.pod:364
#: ../docs/guestfs-release-notes-1.36.pod:295
#: ../docs/guestfs-release-notes-1.38.pod:255
#: ../docs/guestfs-release-notes-1.4.pod:120
#: ../docs/guestfs-release-notes-1.40.pod:166
#: ../docs/guestfs-release-notes-1.42.pod:170
#: ../docs/guestfs-release-notes-1.6.pod:119
#: ../docs/guestfs-release-notes-1.8.pod:101
msgid "Internals"
msgstr "Internals"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:109
#, no-wrap
msgid ""
" - The 'HACKING' file is obsolete.  The contents have been moved into\n"
"   a section of the guestfs(3) manual page.\n"
"\n"
msgstr ""
" - The 'HACKING' file is obsolete.  The contents have been moved into\n"
"   a section of the guestfs(3) manual page.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:112
#, no-wrap
msgid ""
" - libguestfs-test-tool simplified.  It no longer needs the static\n"
"   binary or tries to construct an ISO.\n"
"\n"
msgstr ""
" - libguestfs-test-tool simplified.  It no longer needs the static\n"
"   binary or tries to construct an ISO.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:115
#, no-wrap
msgid ""
" - rpcgen-generated files are compiled with -fno-strict-aliasing\n"
"   which should be safer (thanks Matt Booth).\n"
"\n"
msgstr ""
" - rpcgen-generated files are compiled with -fno-strict-aliasing\n"
"   which should be safer (thanks Matt Booth).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:118
#, no-wrap
msgid ""
" - virt-resize was rewritten in OCaml.\n"
"\n"
msgstr ""
" - virt-resize was rewritten in OCaml.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:120
#, no-wrap
msgid ""
" - guestfish and other tools tested with valgrind; some memory leaks\n"
"   were fixed.\n"
"\n"
msgstr ""
" - guestfish and other tools tested with valgrind; some memory leaks\n"
"   were fixed.\n"
"\n"

#. type: =head2
#: ../docs/guestfs-release-notes-1.10.pod:123
#: ../docs/guestfs-release-notes-1.12.pod:126
#: ../docs/guestfs-release-notes-1.14.pod:151
#: ../docs/guestfs-release-notes-1.16.pod:131
#: ../docs/guestfs-release-notes-1.18.pod:203
#: ../docs/guestfs-release-notes-1.20.pod:423
#: ../docs/guestfs-release-notes-1.22.pod:224
#: ../docs/guestfs-release-notes-1.24.pod:187
#: ../docs/guestfs-release-notes-1.26.pod:255
#: ../docs/guestfs-release-notes-1.28.pod:206
#: ../docs/guestfs-release-notes-1.30.pod:470
#: ../docs/guestfs-release-notes-1.32.pod:294
#: ../docs/guestfs-release-notes-1.34.pod:463
#: ../docs/guestfs-release-notes-1.36.pod:364
#: ../docs/guestfs-release-notes-1.38.pod:350
#: ../docs/guestfs-release-notes-1.4.pod:132
#: ../docs/guestfs-release-notes-1.40.pod:204
#: ../docs/guestfs-release-notes-1.42.pod:192
#: ../docs/guestfs-release-notes-1.6.pod:135
#: ../docs/guestfs-release-notes-1.8.pod:136
msgid "Bugs fixed"
msgstr "Bugs fixed"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.10.pod:125
#, no-wrap
msgid ""
" - 502533 Updated Polish translation of libguestfs\n"
" - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks\n"
" - 599503 document that mkmountpoint and umount-all cannot be mixed\n"
" - 617440 guestfish: fails to tilde expand '~' when the $HOME env is unset\n"
" - 664558 RFE: Allow to set log callback in Ruby bindings\n"
" - 665358 Punjabi Translation Completed (pa_IN)\n"
" - 666577 libguestfs: unknown filesystem /dev/fd0\n"
" - 667610 Multiple bugs, memory leaks in libguestfs ruby bindings\n"
" - 668112 virt-filesystems command fails on guest with corrupt filesystem label\n"
" - 668574 guestfish -i is trying to mount all mounts from /etc/fstab and fails with an error when device doesn't exists\n"
" - 673479 Add a grep-friendly string to LIBGUESTFS_TRACE output\n"
" - 674130 Inspection code fails for Windows guest with two disks\n"
" - 682756 libguestfs trace segfaults when list-filesystems returns error\n"
" - 682979 libguestfs incorrectly detects Red Hat desktop as 'redhat-based' instead of 'redhat'\n"
" - 690819 mkfs fails creating a filesystem on a disk device when using a disk with 'ide' interface\n"
" - 691389 Extended attributes don't work over guestmount (FUSE)\n"
" - 691724 virt-inspector reports unknown filesystem /dev/vda1\n"
" - 692545 inspect-list-applications fails to detect 32 bit apps installed under WOW64 emulator on 64 bit Windows\n"
" - 693324 sfdisk's python interface only accepts lists of type 'list' for the lines parameter\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.10.pod:147
#: ../docs/guestfs-release-notes-1.12.pod:138
#: ../docs/guestfs-release-notes-1.14.pod:174
#: ../docs/guestfs-release-notes-1.16.pod:145
#: ../docs/guestfs-release-notes-1.18.pod:243
#: ../docs/guestfs-release-notes-1.20.pod:597
#: ../docs/guestfs-release-notes-1.22.pod:362
#: ../docs/guestfs-release-notes-1.24.pod:317
#: ../docs/guestfs-release-notes-1.26.pod:377
#: ../docs/guestfs-release-notes-1.28.pod:500
#: ../docs/guestfs-release-notes-1.30.pod:828
#: ../docs/guestfs-release-notes-1.32.pod:492
#: ../docs/guestfs-release-notes-1.34.pod:717
#: ../docs/guestfs-release-notes-1.36.pod:546
#: ../docs/guestfs-release-notes-1.38.pod:600
#: ../docs/guestfs-release-notes-1.4.pod:201
#: ../docs/guestfs-release-notes-1.40.pod:391
#: ../docs/guestfs-release-notes-1.42.pod:274
#: ../docs/guestfs-release-notes-1.6.pod:172
#: ../docs/guestfs-release-notes-1.8.pod:147
#: ../docs/guestfs-release-notes-historical.pod:37
msgid ""
"L<guestfs-examples(1)>, L<guestfs-faq(1)>, L<guestfs-performance(1)>, "
"L<guestfs-recipes(1)>, L<guestfs-testing(1)>, L<guestfs(3)>, "
"L<guestfish(1)>, L<http://libguestfs.org/>"
msgstr ""
"L<guestfs-examples(1)>, L<guestfs-faq(1)>, L<guestfs-performance(1)>, "
"L<guestfs-recipes(1)>, L<guestfs-testing(1)>, L<guestfs(3)>, "
"L<guestfish(1)>, L<http://libguestfs.org/>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.10.pod:158
#: ../docs/guestfs-release-notes-1.12.pod:149
#: ../docs/guestfs-release-notes-1.14.pod:185
#: ../docs/guestfs-release-notes-1.16.pod:156
#: ../docs/guestfs-release-notes-1.18.pod:254
#: ../docs/guestfs-release-notes-1.20.pod:608
#: ../docs/guestfs-release-notes-1.22.pod:373
#: ../docs/guestfs-release-notes-1.24.pod:328
#: ../docs/guestfs-release-notes-1.26.pod:388
#: ../docs/guestfs-release-notes-1.28.pod:511
#: ../docs/guestfs-release-notes-1.30.pod:839
#: ../docs/guestfs-release-notes-1.32.pod:503
#: ../docs/guestfs-release-notes-1.34.pod:728
#: ../docs/guestfs-release-notes-1.36.pod:557
#: ../docs/guestfs-release-notes-1.38.pod:611
#: ../docs/guestfs-release-notes-1.4.pod:212
#: ../docs/guestfs-release-notes-1.40.pod:402
#: ../docs/guestfs-release-notes-1.42.pod:295
#: ../docs/guestfs-release-notes-1.6.pod:183
#: ../docs/guestfs-release-notes-1.8.pod:158
#: ../docs/guestfs-release-notes-historical.pod:48
msgid "Richard W.M. Jones"
msgstr "Richard W.M. Jones"

#. type: =head1
#: ../docs/guestfs-release-notes-1.12.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.12"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.12"

#. type: textblock
#: ../docs/guestfs-release-notes-1.12.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.10.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.10.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: =head3
#: ../docs/guestfs-release-notes-1.12.pod:13
#: ../docs/guestfs-release-notes-1.14.pod:24
#: ../docs/guestfs-release-notes-1.16.pod:55
msgid "guestfish"
msgstr "guestfish"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:15
#, no-wrap
msgid ""
"   - guestfish strings can use escapes,\n"
"     eg. ><fs> write /foo \"line 1\\nline 2\\n\"\n"
"\n"
msgstr ""
"   - guestfish strings can use escapes,\n"
"     eg. ><fs> write /foo \"line 1\\nline 2\\n\"\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:18
#, no-wrap
msgid ""
"   - guestfish write-append command can be used to append to files.\n"
"\n"
msgstr ""
"   - guestfish write-append command can be used to append to files.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:20
#, no-wrap
msgid ""
"   - Long-running file uploads and downloads can be cancelled through the\n"
"     API or by hitting ^C in guestfish.\n"
"\n"
msgstr ""
"   - Long-running file uploads and downloads can be cancelled through the\n"
"     API or by hitting ^C in guestfish.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:23
#, no-wrap
msgid ""
"   - New guestfish \"display\" command for displaying graphical files\n"
"     inside guests.\n"
"\n"
msgstr ""
"   - New guestfish \"display\" command for displaying graphical files\n"
"     inside guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:26
#, no-wrap
msgid ""
"   - In guestfish, tab completion now works on /dev/mapper devices.\n"
"\n"
msgstr ""
"   - In guestfish, tab completion now works on /dev/mapper devices.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.12.pod:28
msgid "virt-inspector"
msgstr "virt-inspector"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:30
#, no-wrap
msgid ""
"   - Inspection API can get an icon or logo for certain guests.\n"
"\n"
msgstr ""
"   - Inspection API can get an icon or logo for certain guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:32
#, no-wrap
msgid ""
"   - virt-inspector includes the logo and hostname for certain guests.\n"
"\n"
msgstr ""
"   - virt-inspector includes the logo and hostname for certain guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:34
#, no-wrap
msgid ""
"   - virt-inspector can now get the version and release numbers for RPM\n"
"     packages.\n"
"\n"
msgstr ""
"   - virt-inspector can now get the version and release numbers for RPM\n"
"     packages.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:37
#, no-wrap
msgid ""
"   - CentOS and Scientific Linux are now treated as separate distros by\n"
"     the inspection API.\n"
"\n"
msgstr ""
"   - CentOS and Scientific Linux are now treated as separate distros by\n"
"     the inspection API.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.12.pod:40
#: ../docs/guestfs-release-notes-1.14.pod:50
msgid "virt-resize"
msgstr "virt-resize"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:42
#, no-wrap
msgid ""
"   - virt-resize can now handle btrfs.\n"
"\n"
msgstr ""
"   - virt-resize can now handle btrfs.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:44
#, no-wrap
msgid ""
"   - New virt-resize --ntfsresize-force option allows Windows VMs to be\n"
"     resized multiple times.\n"
"\n"
msgstr ""
"   - New virt-resize --ntfsresize-force option allows Windows VMs to be\n"
"     resized multiple times.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.12.pod:47
msgid "other virt tools"
msgstr "other virt tools"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:49
#, no-wrap
msgid ""
"   - guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems,\n"
"     virt-inspector, virt-ls and virt-rescue now allow you to use\n"
"     \"-d UUID\" option to specify a guest by UUID.  This makes them more\n"
"     robust to use from other programs.\n"
"\n"
msgstr ""
"   - guestfish, guestmount, virt-cat, virt-df, virt-edit, virt-filesystems,\n"
"     virt-inspector, virt-ls and virt-rescue now allow you to use\n"
"     \"-d UUID\" option to specify a guest by UUID.  This makes them more\n"
"     robust to use from other programs.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:54
#, no-wrap
msgid ""
"   - virt-ls -lR option allows complex file iteration and guest analysis.\n"
"\n"
msgstr ""
"   - virt-ls -lR option allows complex file iteration and guest analysis.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:56
#, no-wrap
msgid ""
"   - virt-win-reg supports HKEY_USERS\\<SID> and HKEY_USERS\\<username>.\n"
"\n"
msgstr ""
"   - virt-win-reg supports HKEY_USERS\\<SID> and HKEY_USERS\\<username>.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:58
#, no-wrap
msgid ""
"   - virt-win-reg new option --unsafe-printable-strings allows printable\n"
"     strings to be displayed in the output (unsafely: read the documentation\n"
"     before using).\n"
"\n"
msgstr ""
"   - virt-win-reg new option --unsafe-printable-strings allows printable\n"
"     strings to be displayed in the output (unsafely: read the documentation\n"
"     before using).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:62
#, no-wrap
msgid ""
"   - virt-edit has been rewritten in C.\n"
"\n"
msgstr ""
"   - virt-edit has been rewritten in C.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.12.pod:64
msgid "API and language bindings"
msgstr "API and language bindings"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:66
#, no-wrap
msgid ""
"   - Java is now completely supported.\n"
"     See http://libguestfs.org/guestfs-java.3.html\n"
"\n"
msgstr ""
"   - Java is now completely supported.\n"
"     See http://libguestfs.org/guestfs-java.3.html\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:69
#, no-wrap
msgid ""
"   - JRuby is supported via the Java bindings.\n"
"\n"
msgstr ""
"   - JRuby is supported via the Java bindings.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:71
#, no-wrap
msgid ""
"   - guestfs_close now appears in trace messages.\n"
"\n"
msgstr ""
"   - guestfs_close now appears in trace messages.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:73
#, no-wrap
msgid ""
"   - Python binding adds explicit g.close() method.\n"
"\n"
msgstr ""
"   - Python binding adds explicit g.close() method.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:75
#, no-wrap
msgid ""
"   - Python programs can now use the new event API.\n"
"\n"
msgstr ""
"   - Python programs can now use the new event API.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:77
#, no-wrap
msgid ""
"   - Python GIL is released during libguestfs calls, allowing multithreaded\n"
"     Python programs to work properly.\n"
"\n"
msgstr ""
"   - Python GIL is released during libguestfs calls, allowing multithreaded\n"
"     Python programs to work properly.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:80
#, no-wrap
msgid ""
"   - 9pfs (Plan 9 filesystems exported from the host) are now supported.\n"
"\n"
msgstr ""
"   - 9pfs (Plan 9 filesystems exported from the host) are now supported.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:82
#, no-wrap
msgid ""
"   - Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API\n"
"     functions in C programs.\n"
"\n"
msgstr ""
"   - Add -DGUESTFS_WARN_DEPRECATED=1 to warn about use of deprecated API\n"
"     functions in C programs.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:85
#, no-wrap
msgid ""
"   - New manual page guestfs-recipes(1) with recipes.\n"
"\n"
msgstr ""
"   - New manual page guestfs-recipes(1) with recipes.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:87
#, no-wrap
msgid ""
"   - mkfs-opts can now set inode size and sector size on created filesystems\n"
"     (thanks Nikita Menkovich).\n"
"\n"
msgstr ""
"   - mkfs-opts can now set inode size and sector size on created filesystems\n"
"     (thanks Nikita Menkovich).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:90
#, no-wrap
msgid ""
"   - guestfs_last_errno is now accessible from OCaml (as g#last_errno ()).\n"
"\n"
msgstr ""
"   - guestfs_last_errno is now accessible from OCaml (as g#last_errno ()).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:94
#, no-wrap
msgid ""
" - optargs_bitmask is checked even for calls that have no optional\n"
"   arguments.  This closes a possible exploit in the daemon from\n"
"   untrusted callers.\n"
"\n"
msgstr ""
" - optargs_bitmask is checked even for calls that have no optional\n"
"   arguments.  This closes a possible exploit in the daemon from\n"
"   untrusted callers.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:100
#, no-wrap
msgid ""
"  btrfs-filesystem-resize, get-pgroup, inspect-get-icon, is-zero,\n"
"  is-zero-device, list-9p, list-dm-devices, mount-9p, ntfsresize-opts,\n"
"  set-pgroup, write-append\n"
"\n"
msgstr ""
"  btrfs-filesystem-resize, get-pgroup, inspect-get-icon, is-zero,\n"
"  is-zero-device, list-9p, list-dm-devices, mount-9p, ntfsresize-opts,\n"
"  set-pgroup, write-append\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:106
#, no-wrap
msgid ""
" - Coverity (a static analysis tool) was run across the codebase and\n"
"   many fixes were made.\n"
"\n"
msgstr ""
" - Coverity (a static analysis tool) was run across the codebase and\n"
"   many fixes were made.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:109
#, no-wrap
msgid ""
" - Generator can handle functions that return RBufferOut and have\n"
"   optional arguments.\n"
"\n"
msgstr ""
" - Generator can handle functions that return RBufferOut and have\n"
"   optional arguments.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:112
#, no-wrap
msgid ""
" - Compatible with Perl 5.14.\n"
"\n"
msgstr ""
" - Compatible with Perl 5.14.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:114
#, no-wrap
msgid ""
" - Compatible with gcc 4.6.\n"
"\n"
msgstr ""
" - Compatible with gcc 4.6.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:116
#, no-wrap
msgid ""
" - Perform safety checks on QEMU.\n"
"\n"
msgstr ""
" - Perform safety checks on QEMU.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:118
#, no-wrap
msgid ""
" - C API tests can now fully test calls that have optional arguments.\n"
"\n"
msgstr ""
" - C API tests can now fully test calls that have optional arguments.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:120
#, no-wrap
msgid ""
" - Use ./configure --enable-install-daemon to install /usr/sbin/guestfsd.\n"
"\n"
msgstr ""
" - Use ./configure --enable-install-daemon to install /usr/sbin/guestfsd.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:122
#, no-wrap
msgid ""
" - po-docs directory now covers all man pages.\n"
"\n"
msgstr ""
" - po-docs directory now covers all man pages.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:124
#, no-wrap
msgid ""
" - stderr from qemu process is now captured by the event subsystem.\n"
"\n"
msgstr ""
" - stderr from qemu process is now captured by the event subsystem.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.12.pod:128
#, no-wrap
msgid ""
" - 602997 part-get-bootable gives wrong result with an unordered part layout\n"
" - 661280 virt-rescue: panic when shutting down: \"/sbin/reboot: No such file or directory\"\n"
" - 700369 qemu-system-x86_64 says 'KVM not supported for this target'\n"
" - 705200 guestmount attempt results in access denied\n"
" - 714981 'list-filesystems' does not know about virtio 9p filesystems or detect existing mounts\n"
" - 717786 libguestfs python bindings should have an explicit close call\n"
" - 721275 virt-resize in F16 should support btrfs\n"
"\n"
msgstr ""
" - 602997 part-get-bootable gives wrong result with an unordered part layout\n"
" - 661280 virt-rescue: panic when shutting down: \"/sbin/reboot: No such file or directory\"\n"
" - 700369 qemu-system-x86_64 says 'KVM not supported for this target'\n"
" - 705200 guestmount attempt results in access denied\n"
" - 714981 'list-filesystems' does not know about virtio 9p filesystems or detect existing mounts\n"
" - 717786 libguestfs python bindings should have an explicit close call\n"
" - 721275 virt-resize in F16 should support btrfs\n"
"\n"

#. type: =head1
#: ../docs/guestfs-release-notes-1.14.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.14"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.14"

#. type: textblock
#: ../docs/guestfs-release-notes-1.14.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.12.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.12.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:13
#, no-wrap
msgid ""
"  Erlang bindings.\n"
"\n"
msgstr ""
"  Erlang bindings.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:15
#, no-wrap
msgid ""
"  virt-alignment-scan is a new tool to check the alignment of\n"
"  partitions within virtual machines or disk images.\n"
"\n"
msgstr ""
"  virt-alignment-scan is a new tool to check the alignment of\n"
"  partitions within virtual machines or disk images.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:18
#, no-wrap
msgid ""
"  virt-sparsify is a new tool to make virtual machine disk images\n"
"  sparse.\n"
"\n"
msgstr ""
"  virt-sparsify is a new tool to make virtual machine disk images\n"
"  sparse.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:21
#, no-wrap
msgid ""
"  virt-sysprep is a new tool to make cloning guests from a template\n"
"  simpler.\n"
"\n"
msgstr ""
"  virt-sysprep is a new tool to make cloning guests from a template\n"
"  simpler.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:26
#, no-wrap
msgid ""
"   - New commands setenv, unsetenv, to set environment variables.\n"
"\n"
msgstr ""
"   - New commands setenv, unsetenv, to set environment variables.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:28
#, no-wrap
msgid ""
"   - The input file and line number is printed in error messages.\n"
"\n"
msgstr ""
"   - The input file and line number is printed in error messages.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:30
#, no-wrap
msgid ""
"   - guestfish progress bars are now a \"mini-library\" used by other\n"
"     tools too.\n"
"\n"
msgstr ""
"   - guestfish progress bars are now a \"mini-library\" used by other\n"
"     tools too.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:33
msgid "guestmount"
msgstr "guestmount"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:35
#, no-wrap
msgid ""
"   - the --live option (for access to live VMs) now works.\n"
"\n"
msgstr ""
"   - the --live option (for access to live VMs) now works.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:37
msgid "virt-cat"
msgstr "virt-cat"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:39
#, no-wrap
msgid ""
"   - virt-cat can now handle Windows paths and drive letters (RHBZ#693359).\n"
"\n"
msgstr ""
"   - virt-cat can now handle Windows paths and drive letters (RHBZ#693359).\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:41
msgid "virt-filesystems"
msgstr "virt-filesystems"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:43
#, no-wrap
msgid ""
"   - the MBR partition type byte is displayed in --long output.\n"
"\n"
msgstr ""
"   - the MBR partition type byte is displayed in --long output.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:45
msgid "virt-make-fs"
msgstr "virt-make-fs"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:47
#, no-wrap
msgid ""
"   - virt-make-fs now sets the MBR partition type byte correctly,\n"
"     improving compatibility with Windows (RHBZ#746295).\n"
"\n"
msgstr ""
"   - virt-make-fs now sets the MBR partition type byte correctly,\n"
"     improving compatibility with Windows (RHBZ#746295).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:52
#, no-wrap
msgid ""
"   - virt-resize can now work with guests using extended and logical\n"
"     partitions, in particular Ubuntu guests.\n"
"\n"
msgstr ""
"   - virt-resize can now work with guests using extended and logical\n"
"     partitions, in particular Ubuntu guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:55
#, no-wrap
msgid ""
"   - virt-resize can now align the first partition of Windows guests,\n"
"     improving performance.  The new virt-resize --align-first option\n"
"     controls this behaviour.\n"
"\n"
msgstr ""
"   - virt-resize can now align the first partition of Windows guests,\n"
"     improving performance.  The new virt-resize --align-first option\n"
"     controls this behaviour.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:59
#, no-wrap
msgid ""
"   - The virt-resize --machine-readable flag makes it possible to use\n"
"     virt-resize from other programs.\n"
"\n"
msgstr ""
"   - The virt-resize --machine-readable flag makes it possible to use\n"
"     virt-resize from other programs.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:62
#, no-wrap
msgid ""
"   - Partitions are now aligned to 128 sectors (usually 64K) by\n"
"     default.  This improves efficiency on high-end storage.  The new\n"
"     virt-resize --alignment option allows the alignment to be\n"
"     adjusted.\n"
"\n"
msgstr ""
"   - Partitions are now aligned to 128 sectors (usually 64K) by\n"
"     default.  This improves efficiency on high-end storage.  The new\n"
"     virt-resize --alignment option allows the alignment to be\n"
"     adjusted.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:67
msgid "virt-win-reg"
msgstr "virt-win-reg"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:69
#, no-wrap
msgid ""
"   - The syntax for deleting registry keys and values is documented\n"
"     in the man page (RHBZ#737944).\n"
"\n"
msgstr ""
"   - The syntax for deleting registry keys and values is documented\n"
"     in the man page (RHBZ#737944).\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:72
msgid "library"
msgstr "library"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:74
#, no-wrap
msgid ""
"   - non-printing characters are escaped correctly in debug output.\n"
"\n"
msgstr ""
"   - non-printing characters are escaped correctly in debug output.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:76
#, no-wrap
msgid ""
"   - GUESTFS_EVENT_ENTER is a new event type generated whenever a\n"
"     libguestfs function is called.\n"
"\n"
msgstr ""
"   - GUESTFS_EVENT_ENTER is a new event type generated whenever a\n"
"     libguestfs function is called.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:79
#, no-wrap
msgid ""
"   - the library contains systemtap/DTrace probes.\n"
"\n"
msgstr ""
"   - the library contains systemtap/DTrace probes.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:81
#, no-wrap
msgid ""
"   - the library can now be compiled without hivex (RHBZ#723474).\n"
"\n"
msgstr ""
"   - the library can now be compiled without hivex (RHBZ#723474).\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:83
#: ../docs/guestfs-release-notes-1.16.pod:49
#: ../docs/guestfs-release-notes-1.18.pod:58
#: ../docs/guestfs-release-notes-1.20.pod:160
msgid "inspection"
msgstr "inspection"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:85
#, no-wrap
msgid ""
"   - Improve detection of Windows disks.\n"
"\n"
msgstr ""
"   - Improve detection of Windows disks.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:87
#, no-wrap
msgid ""
"   - Adds support for:\n"
"         ttylinux - a minimal Linux\n"
"         Mageia (thanks Michael Scherer)\n"
"         OpenSUSE and zypper (thanks Michael Scherer, Vincent Untz)\n"
"         Ubuntu logos (thanks Michael Scherer)\n"
"         NetBSD and pkgsrc (thanks Michael Scherer)\n"
"\n"
msgstr ""
"   - Adds support for:\n"
"         ttylinux - a minimal Linux\n"
"         Mageia (thanks Michael Scherer)\n"
"         OpenSUSE and zypper (thanks Michael Scherer, Vincent Untz)\n"
"         Ubuntu logos (thanks Michael Scherer)\n"
"         NetBSD and pkgsrc (thanks Michael Scherer)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:94
#, no-wrap
msgid ""
"   - Handle some guest types that use /dev/root in /etc/fstab.\n"
"\n"
msgstr ""
"   - Handle some guest types that use /dev/root in /etc/fstab.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:96
#, no-wrap
msgid ""
"   - Fix handling of guests with > 26 disks (thanks Matthew Booth)\n"
"\n"
msgstr ""
"   - Fix handling of guests with > 26 disks (thanks Matthew Booth)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:98
#, no-wrap
msgid ""
"   - Add support for guests with HP Smart Array disks (thanks Matthew Booth)\n"
"\n"
msgstr ""
"   - Add support for guests with HP Smart Array disks (thanks Matthew Booth)\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:100
msgid "febootstrap"
msgstr "febootstrap"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:102
#, no-wrap
msgid ""
"   - FEBOOTSTRAP_KERNEL, FEBOOTSTRAP_MODULES environment variables can\n"
"     be set in order to choose which kernel to use for the appliance.\n"
"\n"
msgstr ""
"   - FEBOOTSTRAP_KERNEL, FEBOOTSTRAP_MODULES environment variables can\n"
"     be set in order to choose which kernel to use for the appliance.\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.14.pod:105
msgid "misc"
msgstr "misc"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:107
#, no-wrap
msgid ""
"   - ArchLinux support now working with Linux 3.0 (thanks Erik Nolte)\n"
"\n"
msgstr ""
"   - ArchLinux support now working with Linux 3.0 (thanks Erik Nolte)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:109
#, no-wrap
msgid ""
"   - libvirt disks marked <readonly/> are now added readonly when\n"
"     using the virt-tools '-d' option.\n"
"\n"
msgstr ""
"   - libvirt disks marked <readonly/> are now added readonly when\n"
"     using the virt-tools '-d' option.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:114
#: ../docs/guestfs-release-notes-1.18.pod:98
#, no-wrap
msgid ""
"  (no security problems were found or fixed in this release)\n"
"\n"
msgstr ""
"  (no security problems were found or fixed in this release)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:118
#, no-wrap
msgid ""
"  compress-out, compress-device-out, copy-device-to-device,\n"
"  copy-device-to-file, copy-file-to-device, copy-file-to-file,\n"
"  get-smp, part-to-partnum, set-smp.\n"
"\n"
msgstr ""
"  compress-out, compress-device-out, copy-device-to-device,\n"
"  copy-device-to-file, copy-file-to-device, copy-file-to-file,\n"
"  get-smp, part-to-partnum, set-smp.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:122
#, no-wrap
msgid ""
"  The mount API no longer implicitly adds -o sync,noatime options.\n"
"\n"
msgstr ""
"  The mount API no longer implicitly adds -o sync,noatime options.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:124
#, no-wrap
msgid ""
"  add-domain has a new 'readonlydisk' optional parameter to control\n"
"  how <readonly/> disks are handled.\n"
"\n"
msgstr ""
"  add-domain has a new 'readonlydisk' optional parameter to control\n"
"  how <readonly/> disks are handled.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:129
#, no-wrap
msgid ""
" - Coverity was run on the source and more bugs were identified and\n"
"   fixed.\n"
"\n"
msgstr ""
" - Coverity was run on the source and more bugs were identified and\n"
"   fixed.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:132
#, no-wrap
msgid ""
" - PCRE library is now required to build libguestfs.\n"
"\n"
msgstr ""
" - PCRE library is now required to build libguestfs.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:134
#, no-wrap
msgid ""
" - APIC is now the default for the appliance.  You can also enable\n"
"   SMP support in the appliance.\n"
"\n"
msgstr ""
" - APIC is now the default for the appliance.  You can also enable\n"
"   SMP support in the appliance.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:137
#, no-wrap
msgid ""
" - OCaml bindings now correctly acquire GC lock during callbacks.\n"
"\n"
msgstr ""
" - OCaml bindings now correctly acquire GC lock during callbacks.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:139
#, no-wrap
msgid ""
" - Out of tree builds should now work correctly (thanks Hilko Bengen).\n"
"\n"
msgstr ""
" - Out of tree builds should now work correctly (thanks Hilko Bengen).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:141
#, no-wrap
msgid ""
" - ./configure --with-extra=\"...\" can be used by packagers to set\n"
"   the extra version string.\n"
"\n"
msgstr ""
" - ./configure --with-extra=\"...\" can be used by packagers to set\n"
"   the extra version string.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:144
#, no-wrap
msgid ""
" - zero, zero-device APIs: if the blocks already contain zeroes,\n"
"   don't write zeroes, so that we don't unnecessarily make the\n"
"   underlying storage non-sparse.\n"
"\n"
msgstr ""
" - zero, zero-device APIs: if the blocks already contain zeroes,\n"
"   don't write zeroes, so that we don't unnecessarily make the\n"
"   underlying storage non-sparse.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:148
#, no-wrap
msgid ""
" - is-zero, is-zero-device APIs: optimize these so zero detection is\n"
"   faster.\n"
"\n"
msgstr ""
" - is-zero, is-zero-device APIs: optimise these so zero detection is\n"
"   faster.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.14.pod:153
#, no-wrap
msgid ""
" - 748266 libguestfs should detect versions of qemu which require -machine pc option\n"
" - 747290 libguestfs ignores <readonly/> in libvirt XML\n"
" - 747287 Misleading error message when permission denied opening a disk image\n"
" - 746295 virt-make-fs doesn't set partition ID\n"
" - 744795 guestmount --live is not usable\n"
" - 737944 virt-win-reg hyphen (delete key) syntax may be wrong, and is not documented\n"
" - 733297 ruby event handlers fail with \"exception in callback: wrong argument type Proc (expected Data)\"\n"
" - 731744 libguestfs should escape special/non-printing characters in debug output\n"
" - 729887 appliance crashes running aug_init with flags=4\n"
" - 729075 libguestfs confuses Hp_recovery partition with Windows root filesystem\n"
" - 727178 error: luks_open: cryptsetup: error while loading shared libraries: libfipscheck.so.1: cannot open shared object file: No such file or directory\n"
" - 726739 libguestfs: error: aug_get: no matching node, trying to find hostname\n"
" - 723474 If hivex and/or pcre not installed, libguestfs fails to compile\n"
" - 693359 virt-cat and virt-edit don't handle case sensitive NTFS paths properly\n"
" - 678231 virt-inspector reports unknown filesystem UUID\n"
" - 671082 libguestfs does not work with kernel-rt\n"
" - 666578 libguestfs: unknown filesystem label SWAP-sda2\n"
" - 642821 virt-resize falls over on a disk image with a logical swap partition\n"
"\n"
msgstr ""
" - 748266 libguestfs should detect versions of qemu which require -machine pc option\n"
" - 747290 libguestfs ignores <readonly/> in libvirt XML\n"
" - 747287 Misleading error message when permission denied opening a disk image\n"
" - 746295 virt-make-fs doesn't set partition ID\n"
" - 744795 guestmount --live is not usable\n"
" - 737944 virt-win-reg hyphen (delete key) syntax may be wrong, and is not documented\n"
" - 733297 ruby event handlers fail with \"exception in callback: wrong argument type Proc (expected Data)\"\n"
" - 731744 libguestfs should escape special/non-printing characters in debug output\n"
" - 729887 appliance crashes running aug_init with flags=4\n"
" - 729075 libguestfs confuses Hp_recovery partition with Windows root filesystem\n"
" - 727178 error: luks_open: cryptsetup: error while loading shared libraries: libfipscheck.so.1: cannot open shared object file: No such file or directory\n"
" - 726739 libguestfs: error: aug_get: no matching node, trying to find hostname\n"
" - 723474 If hivex and/or pcre not installed, libguestfs fails to compile\n"
" - 693359 virt-cat and virt-edit don't handle case sensitive NTFS paths properly\n"
" - 678231 virt-inspector reports unknown filesystem UUID\n"
" - 671082 libguestfs does not work with kernel-rt\n"
" - 666578 libguestfs: unknown filesystem label SWAP-sda2\n"
" - 642821 virt-resize falls over on a disk image with a logical swap partition\n"
"\n"

#. type: =head1
#: ../docs/guestfs-release-notes-1.16.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.16"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.16"

#. type: textblock
#: ../docs/guestfs-release-notes-1.16.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.14.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.14.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: =head3
#: ../docs/guestfs-release-notes-1.16.pod:13
msgid "libguestfs"
msgstr "libguestfs"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:15
#, no-wrap
msgid ""
"   - allow XFS filesystems to be created over an existing filesystem\n"
"     (Wanlong Gao)\n"
"\n"
msgstr ""
"   - allow XFS filesystems to be created over an existing filesystem\n"
"     (Wanlong Gao)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:18
#, no-wrap
msgid ""
"   - the (unspecified) default alignment for part-disk has been\n"
"     changed to 64K for better support of high-end network-attached\n"
"     storage\n"
"\n"
msgstr ""
"   - the (unspecified) default alignment for part-disk has been\n"
"     changed to 64K for better support of high-end network-attached\n"
"     storage\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:22
#, no-wrap
msgid ""
"   - new guestfs-testing(1) man page\n"
"\n"
msgstr ""
"   - new guestfs-testing(1) man page\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:24
#, no-wrap
msgid ""
"   - list-filesystems returns MD devices containing filesystems\n"
"     (Matthew Booth)\n"
"\n"
msgstr ""
"   - list-filesystems returns MD devices containing filesystems\n"
"     (Matthew Booth)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:27
#, no-wrap
msgid ""
"   - support for GCC >= 4.7 (Jim Meyering)\n"
"\n"
msgstr ""
"   - support for GCC >= 4.7 (Jim Meyering)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:29
#, no-wrap
msgid ""
"   - check user does not add the same drive twice (Wanlong Gao).\n"
"\n"
msgstr ""
"   - check user does not add the same drive twice (Wanlong Gao).\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.16.pod:31
#: ../docs/guestfs-release-notes-1.20.pod:139
msgid "language bindings"
msgstr "language bindings"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:33
#, no-wrap
msgid ""
"   - Experimental GObject bindings, with support for GObject\n"
"     Introspection.  You can now use libguestfs from Javascript.\n"
"     Please note these are not stable and final in this release.\n"
"     (Matthew Booth).\n"
"\n"
msgstr ""
"   - Experimental GObject bindings, with support for GObject\n"
"     Introspection.  You can now use libguestfs from Javascript.\n"
"     Please note these are not stable and final in this release.\n"
"     (Matthew Booth).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:38
#, no-wrap
msgid ""
"   - support for Ruby >= 1.9\n"
"\n"
msgstr ""
"   - support for Ruby >= 1.9\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:40
#, no-wrap
msgid ""
"   - Ruby bindings can be disabled individually (Hilko Bengen)\n"
"\n"
msgstr ""
"   - Ruby bindings can be disabled individually (Hilko Bengen)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:42
#, no-wrap
msgid ""
"   - support for Python 2.6, 3.x (Richard Jones, Hilko Bengen)\n"
"\n"
msgstr ""
"   - support for Python 2.6, 3.x (Richard Jones, Hilko Bengen)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:44
#, no-wrap
msgid ""
"   - support for PHP >= 5.4\n"
"\n"
msgstr ""
"   - support for PHP >= 5.4\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:46
#, no-wrap
msgid ""
"   - new %guestfs_introspection hash is available in Perl bindings so\n"
"     you can query which optional arguments are available\n"
"\n"
msgstr ""
"   - new %guestfs_introspection hash is available in Perl bindings so\n"
"     you can query which optional arguments are available\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:51
#, no-wrap
msgid ""
"   - guests with MD devices can be inspected (Matthew Booth)\n"
"\n"
msgstr ""
"   - guests with MD devices can be inspected (Matthew Booth)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:53
#, no-wrap
msgid ""
"   - support for GNU/Hurd guests\n"
"\n"
msgstr ""
"   - support for GNU/Hurd guests\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:57
#, no-wrap
msgid ""
"   - libguestfs events (such as progress bar events and log messages) can\n"
"     be trapped and processed by user-defined shell scripts.\n"
"\n"
msgstr ""
"   - libguestfs events (such as progress bar events and log messages) can\n"
"     be trapped and processed by user-defined shell scripts.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:60
#, no-wrap
msgid ""
"   - MD devices are tab-completed (Matthew Booth)\n"
"\n"
msgstr ""
"   - MD devices are tab-completed (Matthew Booth)\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.16.pod:62
#: ../docs/guestfs-release-notes-1.18.pod:13
#: ../docs/guestfs-release-notes-1.20.pod:71
msgid "virt tools"
msgstr "virt tools"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:64
#, no-wrap
msgid ""
"   - New tool virt-format for erasing and making blank disks\n"
"\n"
msgstr ""
"   - New tool virt-format for erasing and making blank disks\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:66
#, no-wrap
msgid ""
"   - virt-sparsify new --compress and -o options to allow for compressed\n"
"     and different format output\n"
"\n"
msgstr ""
"   - virt-sparsify new --compress and -o options to allow for compressed\n"
"     and different format output\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:69
#, no-wrap
msgid ""
"   - virt-sparsify can now detect and sparsify .vdi files\n"
"\n"
msgstr ""
"   - virt-sparsify can now detect and sparsify .vdi files\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:71
#, no-wrap
msgid ""
"   - virt-sysprep no longer requires xmlstarlet; a new virt-inspector --xpath\n"
"     option has been added to replace this functionality\n"
"\n"
msgstr ""
"   - virt-sysprep no longer requires xmlstarlet; a new virt-inspector --xpath\n"
"     option has been added to replace this functionality\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:74
#, no-wrap
msgid ""
"   - virt-rescue has a new --suggest option which suggests mount commands\n"
"     for the guest\n"
"\n"
msgstr ""
"   - virt-rescue has a new --suggest option which suggests mount commands\n"
"     for the guest\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:77
#, no-wrap
msgid ""
"   - virt-resize no longer requires OCaml pcre library\n"
"\n"
msgstr ""
"   - virt-resize no longer requires OCaml pcre library\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.16.pod:79
msgid "libguestfs live"
msgstr "libguestfs live"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:81
#, no-wrap
msgid ""
"   - daemon will no longer try to edit your live /etc/lvm configuration\n"
"\n"
msgstr ""
"   - daemon will no longer try to edit your live /etc/lvm configuration\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:83
#, no-wrap
msgid ""
"   - fix a potential security problem with predictable /tmp names (Steve Kemp)\n"
"\n"
msgstr ""
"   - fix a potential security problem with predictable /tmp names (Steve Kemp)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:87
#, no-wrap
msgid ""
"  CVE-2011-4127, RHBZ#757071\n"
"  Mitigate possible privilege escalation via SG_IO ioctl\n"
"  For more information, see: https://github.com/libguestfs/libguestfs/commit/9a5f784d511a8f00a8386f316eab41fe660430db\n"
"\n"
msgstr ""
"  CVE-2011-4127, RHBZ#757071\n"
"  Mitigate possible privilege escalation via SG_IO ioctl\n"
"  For more information, see: https://github.com/libguestfs/libguestfs/commit/9a5f784d511a8f00a8386f316eab41fe660430db\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:93
#, no-wrap
msgid ""
"  blkid: print all attributes of a device known to blkid (Wanlong Gao)\n"
"  e2fsck: access to more features of e2fsck (Wanlong Gao)\n"
"  list-md-devices: list of Linux MD devices (Matthew Booth)\n"
"  md-create: create an MD device\n"
"  md-detail: returns metadata for an MD device (Matthew Booth)\n"
"  md-stop: stop an MD device (Wanlong Gao)\n"
"  tune2fs: allow ext2/3/4 filesystems to be tuned\n"
"\n"
msgstr ""
"  blkid: print all attributes of a device known to blkid (Wanlong Gao)\n"
"  e2fsck: access to more features of e2fsck (Wanlong Gao)\n"
"  list-md-devices: list of Linux MD devices (Matthew Booth)\n"
"  md-create: create an MD device\n"
"  md-detail: returns metadata for an MD device (Matthew Booth)\n"
"  md-stop: stop an MD device (Wanlong Gao)\n"
"  tune2fs: allow ext2/3/4 filesystems to be tuned\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:103
#, no-wrap
msgid ""
"  Git hosting has moved to http://github.com/libguestfs\n"
"\n"
msgstr ""
"  Git hosting has moved to http://github.com/libguestfs\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:105
#, no-wrap
msgid ""
"  The various test directories have been rearranged logically, and now\n"
"  all appear under 'tests/'.\n"
"\n"
msgstr ""
"  The various test directories have been rearranged logically, and now\n"
"  all appear under 'tests/'.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:108
#, no-wrap
msgid ""
"  There is a 'make extra-tests' rule which runs ordinary tests and\n"
"  additional tests, using valgrind to check for memory problems.\n"
"\n"
msgstr ""
"  There is a 'make extra-tests' rule which runs ordinary tests and\n"
"  additional tests, using valgrind to check for memory problems.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:111
#, no-wrap
msgid ""
"  Multiple memory leaks and other problems found by valgrind and fixed.\n"
"\n"
msgstr ""
"  Multiple memory leaks and other problems found by valgrind and fixed.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:113
#, no-wrap
msgid ""
"  Support for optional arguments in the generator has been rewritten\n"
"  to provide more features and safety (Matthew Booth).\n"
"\n"
msgstr ""
"  Support for optional arguments in the generator has been rewritten\n"
"  to provide more features and safety (Matthew Booth).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:116
#, no-wrap
msgid ""
"  With gcc -fvisibility=hidden is used for internal symbols, avoiding\n"
"  call indirection via the PLT.\n"
"\n"
msgstr ""
"  With gcc -fvisibility=hidden is used for internal symbols, avoiding\n"
"  call indirection via the PLT.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:119
#, no-wrap
msgid ""
"  RHashtable functions can be tested in the generator.\n"
"\n"
msgstr ""
"  RHashtable functions can be tested in the generator.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:121
#, no-wrap
msgid ""
"  ADD_ARG macro in daemon allows arg lists to be constructed without\n"
"  risk of stack smashing.\n"
"\n"
msgstr ""
"  ADD_ARG macro in daemon allows arg lists to be constructed without\n"
"  risk of stack smashing.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:124
#, no-wrap
msgid ""
"  Fix generation of OCaml functions that have more than 10 arguments.\n"
"\n"
msgstr ""
"  Fix generation of OCaml functions that have more than 10 arguments.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:126
#, no-wrap
msgid ""
"  psmisc has been added to the appliance, allowing use of 'fuser',\n"
"  'killall' and 'pstree' for debugging.\n"
"\n"
msgstr ""
"  psmisc has been added to the appliance, allowing use of 'fuser',\n"
"  'killall' and 'pstree' for debugging.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:129
#, no-wrap
msgid ""
"  bindtests now cover RBufferOut and optional arguments (Matthew Booth).\n"
"\n"
msgstr ""
"  bindtests now cover RBufferOut and optional arguments (Matthew Booth).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.16.pod:133
#, no-wrap
msgid ""
" - 769680 temporary directories created during appliance builds are not cleaned up on error\n"
" - 761460 guestfs_utimens hangs on named pipes\n"
" - 761451 guestfs_utimens cannot set times on a directory\n"
" - 760775 \"guestfish: multi-boot operating systems are not supported by the -i option\" should be more explanatory\n"
" - 760669 guestfish copy-in and <! (inline execution) don't mix well: pclose: No child processes\n"
" - 760000 libguestfs fails to compile with Ruby >= 1.9\n"
" - 755729 Error message for resize2fs-M needs tweaking\n"
" - 750889 Python code incompatible with Python v3.\n"
" - 596761 Ctrl-\\ causes guestfish to abort\n"
"\n"
msgstr ""
" - 769680 temporary directories created during appliance builds are not cleaned up on error\n"
" - 761460 guestfs_utimens hangs on named pipes\n"
" - 761451 guestfs_utimens cannot set times on a directory\n"
" - 760775 \"guestfish: multi-boot operating systems are not supported by the -i option\" should be more explanatory\n"
" - 760669 guestfish copy-in and <! (inline execution) don't mix well: pclose: No child processes\n"
" - 760000 libguestfs fails to compile with Ruby >= 1.9\n"
" - 755729 Error message for resize2fs-M needs tweaking\n"
" - 750889 Python code incompatible with Python v3.\n"
" - 596761 Ctrl-\\ causes guestfish to abort\n"
"\n"

#. type: =head1
#: ../docs/guestfs-release-notes-1.18.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.18"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.18"

#. type: textblock
#: ../docs/guestfs-release-notes-1.18.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.16.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.16.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:15
#, no-wrap
msgid ""
"   - virt-sysprep has been rewritten and expanded (thanks Wanlong Gao)\n"
"     http://libguestfs.org/virt-sysprep.1.html\n"
"\n"
msgstr ""
"   - virt-sysprep has been rewritten and expanded (thanks Wanlong Gao)\n"
"     http://libguestfs.org/virt-sysprep.1.html\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:18
#, no-wrap
msgid ""
"   - virt-sparsify --zero is a new option that zeroes the named\n"
"     partition or filesystem\n"
"\n"
msgstr ""
"   - virt-sparsify --zero is a new option that zeroes the named\n"
"     partition or filesystem\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:21
#, no-wrap
msgid ""
"   - virt-sparsify can now safely sparsify Linux swap partitions\n"
"\n"
msgstr ""
"   - virt-sparsify can now safely sparsify Linux swap partitions\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:23
#, no-wrap
msgid ""
"   - virt-sparsify fixed so it cleans up after ^C\n"
"     http://libguestfs.org/virt-sparsify.1.html\n"
"\n"
msgstr ""
"   - virt-sparsify fixed so it cleans up after ^C\n"
"     http://libguestfs.org/virt-sparsify.1.html\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:26
#, no-wrap
msgid ""
"   - a new tool 'libguestfs-make-fixed-appliance' is provided to build\n"
"     fixed appliances that can be copied to other machines that don't\n"
"     have febootstrap support\n"
"     http://libguestfs.org/libguestfs-make-fixed-appliance.1.html\n"
"\n"
msgstr ""
"   - a new tool 'libguestfs-make-fixed-appliance' is provided to build\n"
"     fixed appliances that can be copied to other machines that don't\n"
"     have febootstrap support\n"
"     http://libguestfs.org/libguestfs-make-fixed-appliance.1.html\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:31
#, no-wrap
msgid ""
"   - virt-filesystems now displays the parents (containers) of MD\n"
"     devices and volume groups\n"
"\n"
msgstr ""
"   - virt-filesystems now displays the parents (containers) of MD\n"
"     devices and volume groups\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:34
#, no-wrap
msgid ""
"   - virt-alignment-scan, run with no args, displays alignment information\n"
"     for all libvirt domains\n"
"\n"
msgstr ""
"   - virt-alignment-scan, run with no args, displays alignment information\n"
"     for all libvirt domains\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:37
#, no-wrap
msgid ""
"   - virt-df and virt-alignment-scan will display information from all\n"
"     guests even when a disk is inaccessible\n"
"\n"
msgstr ""
"   - virt-df and virt-alignment-scan will display information from all\n"
"     guests even when a disk is inaccessible\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:40
#, no-wrap
msgid ""
"   - virt-rescue new --scratch option to make scratch disks\n"
"     https://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content\n"
"\n"
msgstr ""
"   - virt-rescue new --scratch option to make scratch disks\n"
"     https://rwmj.wordpress.com/2012/04/26/virt-rescue-scratch/#content\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:43
#, no-wrap
msgid ""
"   - virt-make-fs can now be used to create btrfs\n"
"\n"
msgstr ""
"   - virt-make-fs can now be used to create btrfs\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:45
#, no-wrap
msgid ""
"   - virt-edit preserves permissions, UID, GID and SELinux context\n"
"     when editing files\n"
"\n"
msgstr ""
"   - virt-edit preserves permissions, UID, GID and SELinux context\n"
"     when editing files\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:48
#, no-wrap
msgid ""
"   - guestfish passes the close event over stdout and remote correctly\n"
"\n"
msgstr ""
"   - guestfish passes the close event over stdout and remote correctly\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:50
#, no-wrap
msgid ""
"   - guestfish new '--pipe-error' option lets you detect errors in pipe\n"
"     commands\n"
"\n"
msgstr ""
"   - guestfish new '--pipe-error' option lets you detect errors in pipe\n"
"     commands\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:53
#, no-wrap
msgid ""
"   - guestfish globs now expand device names\n"
"\n"
msgstr ""
"   - guestfish globs now expand device names\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:55
#, no-wrap
msgid ""
"   - comma and colon characters in filenames now handled correctly by\n"
"     all virt tools\n"
"\n"
msgstr ""
"   - comma and colon characters in filenames now handled correctly by\n"
"     all virt tools\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:60
#, no-wrap
msgid ""
"   - added support for Fedora 17+\n"
"\n"
msgstr ""
"   - added support for Fedora 17+\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:62
#, no-wrap
msgid ""
"   - added support for FreeDOS\n"
"\n"
msgstr ""
"   - added support for FreeDOS\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:64
#, no-wrap
msgid ""
"   - added support for Buildroot and Cirros\n"
"\n"
msgstr ""
"   - added support for Buildroot and Cirros\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:66
#, no-wrap
msgid ""
"   - inspection is now compatible with Windows guests that have been\n"
"     sysprepped (thanks Grant Williamson).\n"
"\n"
msgstr ""
"   - inspection is now compatible with Windows guests that have been\n"
"     sysprepped (thanks Grant Williamson).\n"
"\n"

#. type: =head2
#: ../docs/guestfs-release-notes-1.18.pod:69
#: ../docs/guestfs-release-notes-1.22.pod:13
#: ../docs/guestfs-release-notes-1.24.pod:56
#: ../docs/guestfs-release-notes-1.26.pod:112
#: ../docs/guestfs-release-notes-1.28.pod:111
#: ../docs/guestfs-release-notes-1.30.pod:233
#: ../docs/guestfs-release-notes-1.32.pod:156
#: ../docs/guestfs-release-notes-1.34.pod:248
#: ../docs/guestfs-release-notes-1.36.pod:178
#: ../docs/guestfs-release-notes-1.38.pod:148
#: ../docs/guestfs-release-notes-1.40.pod:123
#: ../docs/guestfs-release-notes-1.42.pod:132
msgid "API"
msgstr "API"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:71
#, no-wrap
msgid ""
"   - broad support for btrfs added, including adding multiple devices,\n"
"     fsck, snapshots (thanks Wanlong Gao)\n"
"\n"
msgstr ""
"   - broad support for btrfs added, including adding multiple devices,\n"
"     fsck, snapshots (thanks Wanlong Gao)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:74
#, no-wrap
msgid ""
"   - the new 'mount-local' API brings FUSE support directly into the\n"
"     core libguestfs API\n"
"     https://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content\n"
"\n"
msgstr ""
"   - the new 'mount-local' API brings FUSE support directly into the\n"
"     core libguestfs API\n"
"     https://rwmj.wordpress.com/2012/05/14/tip-using-mount-local-api-from-c/#content\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:78
#, no-wrap
msgid ""
"   - new man page: guestfs-performance(1), which contains performance\n"
"     tuning tips\n"
"     http://libguestfs.org/guestfs-performance.1.html\n"
"\n"
msgstr ""
"   - new man page: guestfs-performance(1), which contains performance\n"
"     tuning tips\n"
"     http://libguestfs.org/guestfs-performance.1.html\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:82
#, no-wrap
msgid ""
"   - new man page: guestfs-faq(1), Frequently Asked Questions\n"
"     http://libguestfs.org/guestfs-faq.1.html\n"
"\n"
msgstr ""
"   - new man page: guestfs-faq(1), Frequently Asked Questions\n"
"     http://libguestfs.org/guestfs-faq.1.html\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:85
#, no-wrap
msgid ""
"   - ENOTSUP (from guestfs_last_errno) is now returned for APIs that\n"
"     are not supported\n"
"\n"
msgstr ""
"   - ENOTSUP (from guestfs_last_errno) is now returned for APIs that\n"
"     are not supported\n"
"\n"

#. type: =head3
#: ../docs/guestfs-release-notes-1.18.pod:88
msgid "examples"
msgstr "examples"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:90
#, no-wrap
msgid ""
"   - 'copy_over' example showing how to copy between two handles\n"
"\n"
msgstr ""
"   - 'copy_over' example showing how to copy between two handles\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:92
#, no-wrap
msgid ""
"   - 'display_icon' program displays the icon associated with a guest\n"
"\n"
msgstr ""
"   - 'display_icon' program displays the icon associated with a guest\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:94
#, no-wrap
msgid ""
"   - 'mount_local.c' example shows how to use the mount-local API\n"
"\n"
msgstr ""
"   - 'mount_local.c' example shows how to use the mount-local API\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:102
#, no-wrap
msgid ""
"  btrfs-device-add: Add devices to a btrfs filesystem.\n"
"  btrfs-device-delete: Remove devices from a btrfs filesystem.\n"
"  btrfs-filesystem-sync: Sync a btrfs filesystem.\n"
"  btrfs-filesystem-balance: Balance a btrfs filesystem.\n"
"  btrfs-fsck: Check btrfs filesystem.\n"
"  btrfs-set-seeding: Enable or disable seeding.\n"
"  btrfs-subvolume-create: Create a btrfs snapshot.\n"
"  btrfs-subvolume-delete: Delete a btrfs snapshot.\n"
"  btrfs-subvolume-list: List btrfs snapshots and subvolumes.\n"
"  btrfs-subvolume-set-default: Set default btrfs subvolume.\n"
"  btrfs-subvolume-snapshot: Create a writable btrfs snapshot.\n"
"  get-e2attrs: List ext2 file attributes of a file.\n"
"  get-e2generation: Get ext2 file generation of a file.\n"
"  isoinfo, isoinfo-device: Get information from the header of ISO files.\n"
"  llz: List files with SELinux information.\n"
"  lvcreate-free: Create an LVM logical volume in % remaining free space.\n"
"  md-stat: Return underlying devices from an MD device.\n"
"  mkfs-brtfs: Make btrfs filesystem, with all tunables.\n"
"  mount-local, mount-local-run, umount-local: FUSE support in the API.\n"
"  ntfsclone-in, ntfsclone-out: Save, restore NTFS from backup.\n"
"  ntfsfix: Fix common errors and force Windows to check NTFS.\n"
"  set-e2attrs: Set or clear ext2 file attributes of a file.\n"
"  set-e2generation: Set ext2 file generation of a file.\n"
"  set-label: Unified interface for setting filesystem label.\n"
"  vgmeta: Get volume group metadata.\n"
"  wipefs: Wipe filesystem signatures from a device.\n"
"  zero-free-space: Zero free space in a filesystem.\n"
"\n"
msgstr ""
"  btrfs-device-add: Add devices to a btrfs filesystem.\n"
"  btrfs-device-delete: Remove devices from a btrfs filesystem.\n"
"  btrfs-filesystem-sync: Sync a btrfs filesystem.\n"
"  btrfs-filesystem-balance: Balance a btrfs filesystem.\n"
"  btrfs-fsck: Check btrfs filesystem.\n"
"  btrfs-set-seeding: Enable or disable seeding.\n"
"  btrfs-subvolume-create: Create a btrfs snapshot.\n"
"  btrfs-subvolume-delete: Delete a btrfs snapshot.\n"
"  btrfs-subvolume-list: List btrfs snapshots and subvolumes.\n"
"  btrfs-subvolume-set-default: Set default btrfs subvolume.\n"
"  btrfs-subvolume-snapshot: Create a writable btrfs snapshot.\n"
"  get-e2attrs: List ext2 file attributes of a file.\n"
"  get-e2generation: Get ext2 file generation of a file.\n"
"  isoinfo, isoinfo-device: Get information from the header of ISO files.\n"
"  llz: List files with SELinux information.\n"
"  lvcreate-free: Create an LVM logical volume in % remaining free space.\n"
"  md-stat: Return underlying devices from an MD device.\n"
"  mkfs-brtfs: Make btrfs filesystem, with all tunables.\n"
"  mount-local, mount-local-run, umount-local: FUSE support in the API.\n"
"  ntfsclone-in, ntfsclone-out: Save, restore NTFS from backup.\n"
"  ntfsfix: Fix common errors and force Windows to check NTFS.\n"
"  set-e2attrs: Set or clear ext2 file attributes of a file.\n"
"  set-e2generation: Set ext2 file generation of a file.\n"
"  set-label: Unified interface for setting filesystem label.\n"
"  vgmeta: Get volume group metadata.\n"
"  wipefs: Wipe filesystem signatures from a device.\n"
"  zero-free-space: Zero free space in a filesystem.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:132
#, no-wrap
msgid ""
" - The debian/ subdirectory has been removed.  We recommend you use\n"
"   the official Debian packages made by Hilko Bengen.\n"
"   http://people.debian.org/~bengen/libguestfs/\n"
"   http://packages.debian.org/search?keywords=libguestfs\n"
"\n"
msgstr ""
" - The debian/ subdirectory has been removed.  We recommend you use\n"
"   the official Debian packages made by Hilko Bengen.\n"
"   http://people.debian.org/~bengen/libguestfs/\n"
"   http://packages.debian.org/search?keywords=libguestfs\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:137
#, no-wrap
msgid ""
" - O_CLOEXEC / SOCK_CLOEXEC is now used for almost all file\n"
"   descriptors that the library opens.\n"
"\n"
msgstr ""
" - O_CLOEXEC / SOCK_CLOEXEC is now used for almost all file\n"
"   descriptors that the library opens.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:140
#, no-wrap
msgid ""
" - posix_fadvise is called when sequentially reading or writing large\n"
"   files.\n"
"\n"
msgstr ""
" - posix_fadvise is called when sequentially reading or writing large\n"
"   files.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:143
#, no-wrap
msgid ""
" - close all file descriptors and remove all signal handlers in the\n"
"   recovery process\n"
"\n"
msgstr ""
" - close all file descriptors and remove all signal handlers in the\n"
"   recovery process\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:146
#, no-wrap
msgid ""
" - multiple gcc warnings and Coverity bugs have been fixed;  many\n"
"   strict-overflow bugs have also been fixed\n"
"\n"
msgstr ""
" - multiple gcc warnings and Coverity bugs have been fixed;  many\n"
"   strict-overflow bugs have also been fixed\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:149
#, no-wrap
msgid ""
" - use ./configure --enable-valgrind-daemon to use valgrind on the\n"
"   daemon;  many errors have been fixed\n"
"\n"
msgstr ""
" - use ./configure --enable-valgrind-daemon to use valgrind on the\n"
"   daemon;  many errors have been fixed\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:152
#, no-wrap
msgid ""
" - use ./configure --with-qemu-options to pass extra options to qemu\n"
"\n"
msgstr ""
" - use ./configure --with-qemu-options to pass extra options to qemu\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:154
#, no-wrap
msgid ""
" - the daemon now has a growable strings buffer type (DECLARE_STRINGSBUF)\n"
"\n"
msgstr ""
" - the daemon now has a growable strings buffer type (DECLARE_STRINGSBUF)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:156
#, no-wrap
msgid ""
" - the <guestfs.h> header file works with C++ and we have a regression\n"
"   test for this\n"
"\n"
msgstr ""
" - the <guestfs.h> header file works with C++ and we have a regression\n"
"   test for this\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:159
#, no-wrap
msgid ""
" - multiple APIs which should only be called in the CONFIG state now\n"
"   give an error if they are not\n"
"\n"
msgstr ""
" - multiple APIs which should only be called in the CONFIG state now\n"
"   give an error if they are not\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:162
#, no-wrap
msgid ""
" - .gitignore fixed to use absolute paths\n"
"\n"
msgstr ""
" - .gitignore fixed to use absolute paths\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:164
#, no-wrap
msgid ""
" - gobject bindings have been expanded, including mapping libguestfs\n"
"   events to gobject signals (thanks Matt Booth)\n"
"\n"
msgstr ""
" - gobject bindings have been expanded, including mapping libguestfs\n"
"   events to gobject signals (thanks Matt Booth)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:167
#, no-wrap
msgid ""
" - gobject documentation is generated properly (thanks Matt Booth)\n"
"\n"
msgstr ""
" - gobject documentation is generated properly (thanks Matt Booth)\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:169
#, no-wrap
msgid ""
" - gobject header files now live in a subdirectory\n"
"\n"
msgstr ""
" - gobject header files now live in a subdirectory\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:171
#, no-wrap
msgid ""
" - CompareWithString test in the generator now works\n"
"\n"
msgstr ""
" - CompareWithString test in the generator now works\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:173
#, no-wrap
msgid ""
" - FUInt32, FUInt64 struct field types now use the correct XDR type\n"
"\n"
msgstr ""
" - FUInt32, FUInt64 struct field types now use the correct XDR type\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:175
#, no-wrap
msgid ""
" - OCaml tests are now run on bytecode and native code.\n"
"\n"
msgstr ""
" - OCaml tests are now run on bytecode and native code.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:177
#, no-wrap
msgid ""
" - java -Xlint:all is used, and all warnings have been fixed\n"
"\n"
msgstr ""
" - java -Xlint:all is used, and all warnings have been fixed\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:179
#, no-wrap
msgid ""
" - bmptopng, wrestool (etc) missing or failure no longer prints\n"
"   warning messages\n"
"\n"
msgstr ""
" - bmptopng, wrestool (etc) missing or failure no longer prints\n"
"   warning messages\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:182
#, no-wrap
msgid ""
" - ruby: Use RbConfig instead of Config.\n"
"\n"
msgstr ""
" - ruby: Use RbConfig instead of Config.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:184
#, no-wrap
msgid ""
" - PYTHONPATH is set by the ./run script.\n"
"\n"
msgstr ""
" - PYTHONPATH is set by the ./run script.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:186
#, no-wrap
msgid ""
" - appliance building is now thread-safe.\n"
"\n"
msgstr ""
" - appliance building is now thread-safe.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:188
#, no-wrap
msgid ""
" - appliance now uses 'ip' instead of 'ifconfig' and 'netstat'\n"
"   commands\n"
"\n"
msgstr ""
" - appliance now uses 'ip' instead of 'ifconfig' and 'netstat'\n"
"   commands\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:191
#, no-wrap
msgid ""
" - several fixes to make parallel builds work properly\n"
"\n"
msgstr ""
" - several fixes to make parallel builds work properly\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:193
#, no-wrap
msgid ""
" - guestfish --listen now cleans up properly\n"
"\n"
msgstr ""
" - guestfish --listen now cleans up properly\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:195
#, no-wrap
msgid ""
" - the BUSY state has been removed\n"
"\n"
msgstr ""
" - the BUSY state has been removed\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:197
#, no-wrap
msgid ""
" - gettextize has been removed, replaced by a simple Makefile.am\n"
"\n"
msgstr ""
" - gettextize has been removed, replaced by a simple Makefile.am\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:199
#, no-wrap
msgid ""
" - gettext support now covers virt-resize, virt-sparsify and virt-sysprep\n"
"\n"
msgstr ""
" - gettext support now covers virt-resize, virt-sparsify and virt-sysprep\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:201
#, no-wrap
msgid ""
" - better support for the arm architecture\n"
"\n"
msgstr ""
" - better support for the arm architecture\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.18.pod:205
#, no-wrap
msgid ""
" - 822490 virt-ls error: \"libguestfs: error: checksum: path: parameter cannot be NULL\"\n"
" - 816839 data overflow error when debug progress -1\n"
" - 816098 virt-make-fs fails to make a btrfs filesystem because it doesn't allocate enough space\n"
" - 811872 inspection fails on ubuntu 10.04 guest with encrypted swap\n"
" - 811650 guestfs_last_error not set when qemu fails early during launch\n"
" - 811649 libguestfs cannot open disk images which are symlinks to files that contain ':' (colon) character\n"
" - 811117 [RFE][virt-sysprep] net-hwaddr not removed from \"ifcfg-*\" files on rhel\n"
" - 811112 [RFE][virt-sysprep] hostname can not be changed on rhel system\n"
" - 809361 inspection doesn't recognize Fedora 18 (grub2 + GPT)\n"
" - 807905 mkfs blocksize option breaks when creating btrfs\n"
" - 805070 virt-filesystems should show 'parents' of LV and RAID devices\n"
" - 804464 libguestfs cannot be built when LINGUAS is different then ja or uk\n"
" - 803664 libguestfs inspection fails on Windows XP: libguestfs: error: hivex: could not locate HKLM\\SYSTEM\\MountedDevices\n"
" - 803533 guestfish: write error\n"
" - 802389 event handlers for 'close' event doesn't work in remote mode\n"
" - 802109 libguestfs uses putc on stderr, results in many individual 1 byte writes of debug messages\n"
" - 801640 [RFE] the error reported by resize2fs-M need to be more clear\n"
" - 801298 Possible null dereference and resource leaks\n"
" - 801273 Document for set-pgroup need to be updated\n"
" - 798196 virt-resize confuses format and output_format variables; using --output-format sets the input format\n"
" - 797986 virt-resize on Windows XP in sysprep state causes \"UNMOUNTABLE_BOOT_VOLUME\" BSOD\n"
" - 796520 [RFE] Prevent user from running some appliance configure commands after appliance boot up\n"
" - 790721 multiprovider build error: RuntimeError: link: /tmp/.guestfs-0/kernel /tmp/.guestfs-0/kernel.10139: File exists\n"
" - 789960 guestfsd crash when try to mount non-exist disk\n"
" - 789504 virt-df (other tools?) should not give up if a guest disk is missing\n"
" - 788641 virt-edit doesn't preserve file permissions\n"
" - 786215 libguestfs inspection does not recognize FreeDOS operating system\n"
" - 786188 libguestfs inspection does not recognize FreeDOS install CD\n"
" - 785668 aug-defnode: daemon crash\n"
" - 784647 Libguestfs uses deprecated net-tools\n"
" - 769304 virt-resize on RHEL 6 kernel fails to re-read the partition table\n"
" - 755729 Error message for resize2fs-M needs tweaking\n"
" - 701814 virt-win-reg fails on a libvirt guest that has no defined disk format: \"format parameter is empty or contains disallowed characters\"\n"
" - 679737 libguestfs: improve error message when zerofree is not available in the appliance\n"
" - 635971 glob mkfs ext2 /dev/vd[b-t]1 does not expand\n"
"\n"
msgstr ""
" - 822490 virt-ls error: \"libguestfs: error: checksum: path: parameter cannot be NULL\"\n"
" - 816839 data overflow error when debug progress -1\n"
" - 816098 virt-make-fs fails to make a btrfs filesystem because it doesn't allocate enough space\n"
" - 811872 inspection fails on ubuntu 10.04 guest with encrypted swap\n"
" - 811650 guestfs_last_error not set when qemu fails early during launch\n"
" - 811649 libguestfs cannot open disk images which are symlinks to files that contain ':' (colon) character\n"
" - 811117 [RFE][virt-sysprep] net-hwaddr not removed from \"ifcfg-*\" files on rhel\n"
" - 811112 [RFE][virt-sysprep] hostname can not be changed on rhel system\n"
" - 809361 inspection doesn't recognise Fedora 18 (grub2 + GPT)\n"
" - 807905 mkfs blocksize option breaks when creating btrfs\n"
" - 805070 virt-filesystems should show 'parents' of LV and RAID devices\n"
" - 804464 libguestfs cannot be built when LINGUAS is different then ja or uk\n"
" - 803664 libguestfs inspection fails on Windows XP: libguestfs: error: hivex: could not locate HKLM\\SYSTEM\\MountedDevices\n"
" - 803533 guestfish: write error\n"
" - 802389 event handlers for 'close' event doesn't work in remote mode\n"
" - 802109 libguestfs uses putc on stderr, results in many individual 1 byte writes of debug messages\n"
" - 801640 [RFE] the error reported by resize2fs-M need to be more clear\n"
" - 801298 Possible null dereference and resource leaks\n"
" - 801273 Document for set-pgroup need to be updated\n"
" - 798196 virt-resize confuses format and output_format variables; using --output-format sets the input format\n"
" - 797986 virt-resize on Windows XP in sysprep state causes \"UNMOUNTABLE_BOOT_VOLUME\" BSOD\n"
" - 796520 [RFE] Prevent user from running some appliance configure commands after appliance boot up\n"
" - 790721 multiprovider build error: RuntimeError: link: /tmp/.guestfs-0/kernel /tmp/.guestfs-0/kernel.10139: File exists\n"
" - 789960 guestfsd crash when try to mount non-exist disk\n"
" - 789504 virt-df (other tools?) should not give up if a guest disk is missing\n"
" - 788641 virt-edit doesn't preserve file permissions\n"
" - 786215 libguestfs inspection does not recognise FreeDOS operating system\n"
" - 786188 libguestfs inspection does not recognise FreeDOS install CD\n"
" - 785668 aug-defnode: daemon crash\n"
" - 784647 Libguestfs uses deprecated net-tools\n"
" - 769304 virt-resize on RHEL 6 kernel fails to re-read the partition table\n"
" - 755729 Error message for resize2fs-M needs tweaking\n"
" - 701814 virt-win-reg fails on a libvirt guest that has no defined disk format: \"format parameter is empty or contains disallowed characters\"\n"
" - 679737 libguestfs: improve error message when zerofree is not available in the appliance\n"
" - 635971 glob mkfs ext2 /dev/vd[b-t]1 does not expand\n"
"\n"

#. type: =head1
#: ../docs/guestfs-release-notes-1.20.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.20"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.20"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.18.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.18.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: =head3
#: ../docs/guestfs-release-notes-1.20.pod:13
msgid "libvirt and sVirt (SELinux confinement)"
msgstr "libvirt and sVirt (SELinux confinement)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:15
msgid ""
"You can I<optionally> use libvirt to launch and manage the backend appliance "
"by:"
msgstr ""
"You can I<optionally> use libvirt to launch and manage the backend appliance "
"by:"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:22
msgid "setting C<LIBGUESTFS_ATTACH_METHOD=libvirt[:URI]>"
msgstr "setting C<LIBGUESTFS_ATTACH_METHOD=libvirt[:URI]>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:26
msgid "using C<./configure --with-default-attach-method=libvirt[:URI]>"
msgstr "using C<./configure --with-default-attach-method=libvirt[:URI]>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:30
msgid "or calling the API method C<guestfs_set_attach_method>"
msgstr "or calling the API method C<guestfs_set_attach_method>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:34
msgid ""
"SVirt (SELinux confinement) is used to secure the libguestfs appliance, if "
"the libvirt backend is selected."
msgstr ""
"SVirt (SELinux confinement) is used to secure the libguestfs appliance, if "
"the libvirt backend is selected."

#. type: =head3
#: ../docs/guestfs-release-notes-1.20.pod:37
msgid "virtio-scsi, larger number of drives, hotplugging"
msgstr "virtio-scsi, larger number of drives, hotplugging"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:39
msgid ""
"Virtio-scsi is now used by default, if it is available.  This greatly "
"increases the number of drives that can be added to a single libguestfs "
"handle (up to 255)."
msgstr ""
"Virtio-scsi is now used by default, if it is available.  This greatly "
"increases the number of drives that can be added to a single libguestfs "
"handle (up to 255)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:43
msgid "You can now hotplug drives (add and remove drives after launch)."
msgstr "You can now hotplug drives (add and remove drives after launch)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:45
msgid "Libguestfs can now handle E<gt> 25 disks, in all APIs, tools and tests."
msgstr ""
"Libguestfs can now handle E<gt> 25 disks, in all APIs, tools and tests."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:47
msgid ""
"You can label drives when adding them, then refer to them by label (F</dev/"
"disk/guestfs/LABEL>) instead of having to use device names (F</dev/sda>)."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.20.pod:51
msgid "new library features"
msgstr "new library features"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:53
msgid ""
"POSIX Access Control Lists (ACLs) and Linux filesystem capabilities can now "
"be read and written through the API."
msgstr ""
"POSIX Access Control Lists (ACLs) and Linux filesystem capabilities can now "
"be read and written through the API."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:56
msgid ""
"Windows Dynamic Disks are now supported.  The metadata can only be read "
"(volumes cannot be modified or created).  However the data/filesystems in "
"the volumes themselves can be mounted, read and written (Matthew Booth)."
msgstr ""
"Windows Dynamic Disks are now supported.  The metadata can only be read "
"(volumes cannot be modified or created).  However the data/filesystems in "
"the volumes themselves can be mounted, read and written (Matthew Booth)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:61
msgid ""
"Hivex (Windows Registry editing) is now directly supported through the API, "
"making reading or editing the Windows Registry much more efficient."
msgstr ""
"Hivex (Windows Registry editing) is now directly supported through the API, "
"making reading or editing the Windows Registry much more efficient."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:65
msgid ""
"Several libguestfs APIs were reimplemented so they no longer have any limits "
"on output.  The reimplemented APIs are: C<guestfs_cat>, C<guestfs_find>, "
"C<guestfs_read_file>, C<guestfs_read_lines>, C<guestfs_write>, "
"C<guestfs_write_append>, C<guestfs_lstatlist>, C<guestfs_lxattrlist>, "
"C<guestfs_readlinklist>, C<guestfs_ls>."
msgstr ""
"Several libguestfs APIs were reimplemented so they no longer have any limits "
"on output.  The reimplemented APIs are: C<guestfs_cat>, C<guestfs_find>, "
"C<guestfs_read_file>, C<guestfs_read_lines>, C<guestfs_write>, "
"C<guestfs_write_append>, C<guestfs_lstatlist>, C<guestfs_lxattrlist>, "
"C<guestfs_readlinklist>, C<guestfs_ls>."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:73
msgid "C<guestfish touch 'win:c:\\new_file'> now works as expected."
msgstr "C<guestfish touch 'win:c:\\new_file'> now works as expected."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:75
msgid ""
"C<guestfish> has a new I<--network> option, which enables the user network "
"in libguestfs."
msgstr ""
"C<guestfish> has a new I<--network> option, which enables the user network "
"in libguestfs."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:78
msgid "You can set C<GUESTFISH_PS1> to use fancy prompts in C<guestfish>."
msgstr "You can set C<GUESTFISH_PS1> to use fancy prompts in C<guestfish>."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:80
msgid ""
"C<rsync>, C<ssh>, C<less> and C<lrzip> commands are now available in virt-"
"rescue.  In addition, C<rsync> can be used through the API for doing "
"incremental copies."
msgstr ""
"C<rsync>, C<ssh>, C<less> and C<lrzip> commands are now available in virt-"
"rescue.  In addition, C<rsync> can be used through the API for doing "
"incremental copies."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:84
msgid "C<virt-sparsify> uses qcow2 v3 for increased efficiency."
msgstr "C<virt-sparsify> uses qcow2 v3 for increased efficiency."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:86
msgid "C<virt-sysprep> enhancements:"
msgstr "C<virt-sysprep> enhancements:"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:92
msgid "generate new UUIDs for PVs and VGs"
msgstr "generate new UUIDs for PVs and VGs"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:96
msgid "remove the local machine ID (Wanlong Gao)"
msgstr "remove the local machine ID (Wanlong Gao)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:100
msgid "remove ABRT data (Wanlong Gao)"
msgstr "remove ABRT data (Wanlong Gao)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:104
msgid "remove puppet keys and log files (Wanlong Gao)"
msgstr "remove puppet keys and log files (Wanlong Gao)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:108
msgid "remove process accounting files (Wanlong Gao)"
msgstr "remove process accounting files (Wanlong Gao)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:112
msgid ""
"new I<--firstboot> parameter allowing firstboot scripts for customizing "
"guests"
msgstr ""
"new I<--firstboot> parameter allowing firstboot scripts for customising "
"guests"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:117
msgid "remove HOSTNAME field from C<ifcfg-eth*> files (Wanlong Gao)"
msgstr "remove HOSTNAME field from C<ifcfg-eth*> files (Wanlong Gao)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:121
msgid "miscellaneous improvements for SuSE (Olaf Hering)"
msgstr "miscellaneous improvements for SuSE (Olaf Hering)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:125
msgid "remove man pages cache (Wanlong Gao)"
msgstr "remove man pages cache (Wanlong Gao)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:129
msgid "remove crash data generated by kexec-tools (Wanlong Gao)"
msgstr "remove crash data generated by kexec-tools (Wanlong Gao)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:133
msgid "C<virt-make-fs> can now create virtual floppy disks (VFDs)."
msgstr "C<virt-make-fs> can now create virtual floppy disks (VFDs)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:135
msgid ""
"C<guestmount> has a I<--pid-file> option, which can be used to avoid a race "
"condition between unmounting the filesystem and using the underlying disk "
"image."
msgstr ""
"C<guestmount> has a I<--pid-file> option, which can be used to avoid a race "
"condition between unmounting the filesystem and using the underlying disk "
"image."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:141
msgid ""
"Full-featured Lua bindings have been added in this release (thanks to Jerome "
"Vuarand for many suggestions)."
msgstr ""
"Full-featured Lua bindings have been added in this release (thanks to Jerome "
"Vuarand for many suggestions)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:144
msgid "In Ruby, optional arguments hash is optional."
msgstr "In Ruby, optional arguments hash is optional."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:146
msgid ""
"In Python, optional arguments now don't use special \"sentinel\" values, so "
"any integer can be passed as an optional argument."
msgstr ""
"In Python, optional arguments now don't use special \"sentinel\" values, so "
"any integer can be passed as an optional argument."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:149
msgid "Erlang bindings now come with examples and tests."
msgstr "Erlang bindings now come with examples and tests."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:151
msgid "Erlang bindings now handle 64 bit integer parameters correctly."
msgstr "Erlang bindings now handle 64 bit integer parameters correctly."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:153
msgid ""
"The automated 'bindtests' now test for 64 bit cleanliness in parameter "
"passing.  Several bugs in the bindings were found and fixed as a result."
msgstr ""
"The automated 'bindtests' now test for 64 bit cleanliness in parameter "
"passing.  Several bugs in the bindings were found and fixed as a result."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:157
msgid ""
"Better handling of blocking and non-blocking functions should make "
"libguestfs calls more efficient."
msgstr ""
"Better handling of blocking and non-blocking functions should make "
"libguestfs calls more efficient."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:162
msgid ""
"Windows guests with unlimited-sized Registries are now supported.  By adding "
"the hivex API to the libguestfs API, it is much more efficient and easier to "
"inspect and modify the Windows Registry in guests."
msgstr ""
"Windows guests with unlimited-sized Registries are now supported.  By adding "
"the hivex API to the libguestfs API, it is much more efficient and easier to "
"inspect and modify the Windows Registry in guests."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:167
msgid "Better support for SuSE guests (Olaf Hering)."
msgstr "Better support for SuSE guests (Olaf Hering)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:169
msgid "Return the architecture of installed applications (John Eckersberg)."
msgstr "Return the architecture of installed applications (John Eckersberg)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:171
msgid "Windows 8 is now supported."
msgstr "Windows 8 is now supported."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:173
msgid "Fedora 18 is now supported."
msgstr "Fedora 18 is now supported."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:175
msgid "Inspection of ISOs/CDs/DVDs can now use the libosinfo database."
msgstr "Inspection of ISOs/CDs/DVDs can now use the libosinfo database."

#. type: =head3
#: ../docs/guestfs-release-notes-1.20.pod:177
msgid "ports"
msgstr "ports"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:179
msgid ""
"Libguestfs without the appliance can be compiled on Mac OS X (Masami HIRATA)."
msgstr ""
"Libguestfs without the appliance can be compiled on Mac OS X (Masami HIRATA)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:182
msgid ""
"RHEL 5 is now explicitly supported through the 'oldlinux' branch in upstream "
"git."
msgstr ""
"RHEL 5 is now explicitly supported through the 'oldlinux' branch in upstream "
"git."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:185
msgid ""
"PowerPC 64 bit is now supported.  Also libguestfs has been examined for "
"endianness bugs and these have been fixed."
msgstr ""
"PowerPC 64 bit is now supported.  Also libguestfs has been examined for "
"endianness bugs and these have been fixed."

#. type: =head3
#: ../docs/guestfs-release-notes-1.20.pod:188
msgid "daemon"
msgstr "daemon"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:190
msgid "A man page for the daemon (L<guestfsd(8)>) is included."
msgstr "A man page for the daemon (L<guestfsd(8)>) is included."

#. type: =head3
#: ../docs/guestfs-release-notes-1.20.pod:194
msgid "guestfish history file"
msgstr "guestfish history file"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:196
msgid ""
"The F<$HOME/.guestfish> history file is now created with 0600 permissions "
"(instead of 0644 before) so it is no longer world readable."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.20.pod:200 ../docs/guestfs-security.pod:212
msgid "CVE-2012-2690"
msgstr "CVE-2012-2690"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:202
msgid ""
"Old versions of both C<virt-edit> and the C<guestfish> C<edit> command "
"created a new file containing the changes but did not set the permissions, "
"etc of the new file to match the old one.  The result of this was that if "
"you edited a security sensitive file such as F</etc/shadow> then it would be "
"left world-readable after the edit."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:208
msgid ""
"This issue was assigned CVE-2012-2690, and is fixed in libguestfs E<ge> 1.16."
msgstr ""
"This issue was assigned CVE-2012-2690, and is fixed in libguestfs E<ge> 1.16."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:210
msgid ""
"For further information, see L<https://bugzilla.redhat.com/show_bug.cgi?"
"id=788642>"
msgstr ""
"For further information, see L<https://bugzilla.redhat.com/show_bug.cgi?"
"id=788642>"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.20.pod:215
#, no-wrap
msgid ""
" acl-delete-def-file\n"
" acl-get-file\n"
" acl-set-file\n"
" canonical-device-name\n"
" cap-get-file\n"
" cap-set-file\n"
" create-flags\n"
" device-index\n"
" disk-has-backing-file\n"
" disk-format\n"
" disk-virtual-size\n"
" filesystem-available\n"
" fill-dir\n"
" fstrim\n"
" get-cachedir\n"
" get-libvirt-requested-credentials\n"
" get-libvirt-requested-credential-prompt\n"
" get-libvirt-requested-credential-challenge\n"
" get-libvirt-requested-credential-defresult\n"
" get-tmpdir\n"
" hivex-close\n"
" hivex-commit\n"
" hivex-node-add-child\n"
" hivex-node-children\n"
" hivex-node-delete-child\n"
" hivex-node-get-child\n"
" hivex-node-get-value\n"
" hivex-node-name\n"
" hivex-node-parent\n"
" hivex-node-set-value\n"
" hivex-node-values\n"
" hivex-open\n"
" hivex-root\n"
" hivex-value-key\n"
" hivex-value-type\n"
" hivex-value-utf8\n"
" hivex-value-value\n"
" inspect-list-applications2 (John Eckersberg)\n"
" list-ldm-volumes\n"
" list-ldm-partitions\n"
" ldmtool-create-all\n"
" ldmtool-diskgroup-disks\n"
" ldmtool-diskgroup-name\n"
" ldmtool-diskgroup-volumes\n"
" ldmtool-remove-all\n"
" ldmtool-scan\n"
" ldmtool-scan-devices\n"
" ldmtool-volume-hint\n"
" ldmtool-volume-partitions\n"
" ldmtool-volume-type\n"
" ls0\n"
" max-disks\n"
" mke2fs (Wanlong Gao)\n"
" mklost-and-found\n"
" mkswap [added label and uuid optional arguments]\n"
" mktemp (Wanlong Gao)\n"
" nr-devices\n"
" parse-environment\n"
" parse-environment-list\n"
" rm-f\n"
" rsync\n"
" rsync-in\n"
" rsync-out\n"
" set-cachedir\n"
" set-libvirt-supported-credentials\n"
" set-libvirt-requested-credential\n"
" set-tmpdir\n"
" shutdown [backported to 1.16 and 1.18]\n"
" tar-in [added compress flag]\n"
" tar-out [added compress, numericowner, excludes flags]\n"
" umount [added force and lazy optional arguments]\n"
" utsname\n"
" xfs-admin (Wanlong Gao)\n"
" xfs-growfs (Wanlong Gao)\n"
" xfs-info (Wanlong Gao)\n"
" xfs-repair (Wanlong Gao)\n"
"\n"
msgstr ""
" acl-delete-def-file\n"
" acl-get-file\n"
" acl-set-file\n"
" canonical-device-name\n"
" cap-get-file\n"
" cap-set-file\n"
" create-flags\n"
" device-index\n"
" disk-has-backing-file\n"
" disk-format\n"
" disk-virtual-size\n"
" filesystem-available\n"
" fill-dir\n"
" fstrim\n"
" get-cachedir\n"
" get-libvirt-requested-credentials\n"
" get-libvirt-requested-credential-prompt\n"
" get-libvirt-requested-credential-challenge\n"
" get-libvirt-requested-credential-defresult\n"
" get-tmpdir\n"
" hivex-close\n"
" hivex-commit\n"
" hivex-node-add-child\n"
" hivex-node-children\n"
" hivex-node-delete-child\n"
" hivex-node-get-child\n"
" hivex-node-get-value\n"
" hivex-node-name\n"
" hivex-node-parent\n"
" hivex-node-set-value\n"
" hivex-node-values\n"
" hivex-open\n"
" hivex-root\n"
" hivex-value-key\n"
" hivex-value-type\n"
" hivex-value-utf8\n"
" hivex-value-value\n"
" inspect-list-applications2 (John Eckersberg)\n"
" list-ldm-volumes\n"
" list-ldm-partitions\n"
" ldmtool-create-all\n"
" ldmtool-diskgroup-disks\n"
" ldmtool-diskgroup-name\n"
" ldmtool-diskgroup-volumes\n"
" ldmtool-remove-all\n"
" ldmtool-scan\n"
" ldmtool-scan-devices\n"
" ldmtool-volume-hint\n"
" ldmtool-volume-partitions\n"
" ldmtool-volume-type\n"
" ls0\n"
" max-disks\n"
" mke2fs (Wanlong Gao)\n"
" mklost-and-found\n"
" mkswap [added label and uuid optional arguments]\n"
" mktemp (Wanlong Gao)\n"
" nr-devices\n"
" parse-environment\n"
" parse-environment-list\n"
" rm-f\n"
" rsync\n"
" rsync-in\n"
" rsync-out\n"
" set-cachedir\n"
" set-libvirt-supported-credentials\n"
" set-libvirt-requested-credential\n"
" set-tmpdir\n"
" shutdown [backported to 1.16 and 1.18]\n"
" tar-in [added compress flag]\n"
" tar-out [added compress, numericowner, excludes flags]\n"
" umount [added force and lazy optional arguments]\n"
" utsname\n"
" xfs-admin (Wanlong Gao)\n"
" xfs-growfs (Wanlong Gao)\n"
" xfs-info (Wanlong Gao)\n"
" xfs-repair (Wanlong Gao)\n"
"\n"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:292
msgid "In the C API only:"
msgstr "In the C API only:"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.20.pod:294
#, no-wrap
msgid ""
" guestfs_push_error_handler\n"
" guestfs_pop_error_handler\n"
"\n"
msgstr ""
" guestfs_push_error_handler\n"
" guestfs_pop_error_handler\n"
"\n"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:299
msgid "qemu E<ge> 1.1 is required (E<ge> 1.2 preferred)."
msgstr "qemu E<ge> 1.1 is required (E<ge> 1.2 preferred)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:301
msgid "febootstrap E<ge> 3.20 is required."
msgstr "febootstrap E<ge> 3.20 is required."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:303
msgid ""
"libvirt is optional, but if you want to use the new libvirt backend for "
"launching the appliance then libvirt E<ge> 0.10.2 would be required."
msgstr ""
"libvirt is optional, but if you want to use the new libvirt backend for "
"launching the appliance then libvirt E<ge> 0.10.2 would be required."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:307
msgid ""
"Coverity has been run over the complete codebase, and many issues fixed "
"(thanks Ondrej Vasik, Kamil Dudka)."
msgstr ""
"Coverity has been run over the complete codebase, and many issues fixed "
"(thanks Ondrej Vasik, Kamil Dudka)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:310
msgid ""
"Functions which previously had no optargs can now be converted to ones with "
"optargs, making extending the API much more flexible.  Source and binary "
"backwards compatibility is preserved for users of the API."
msgstr ""
"Functions which previously had no optargs can now be converted to ones with "
"optargs, making extending the API much more flexible.  Source and binary "
"backwards compatibility is preserved for users of the API."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:314
msgid ""
"The way that libguestfs APIs and structures are represented in the generator "
"has changed to use an OCaml struct instead of a tuple.  This makes generator "
"descriptions more flexible and easier to understand.  For details see "
"commits 39d1a7db and eb185eef."
msgstr ""
"The way that libguestfs APIs and structures are represented in the generator "
"has changed to use an OCaml struct instead of a tuple.  This makes generator "
"descriptions more flexible and easier to understand.  For details see "
"commits 39d1a7db and eb185eef."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:319
msgid "Separation of the library code into more files:"
msgstr "Separation of the library code into more files:"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:325
msgid ""
"Launch backends are now located in separate files eg. F<src/launch-appliance."
"c>, C<src/launch-libvirt.c>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:330
msgid ""
"Generated action code is now split over several F<src/action*.c> files, for "
"faster compilation."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:335
msgid "The huge F<src/guestfs.c> file is now split into smaller logical units."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:340
msgid ""
"POD (documentation) is now generated using a rewritten Perl program instead "
"of pod2* + shell scripts."
msgstr ""
"POD (documentation) is now generated using a rewritten Perl program instead "
"of pod2* + shell scripts."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:343
msgid "Man pages now contain stable dates (Hilko Bengen)."
msgstr "Man pages now contain stable dates (Hilko Bengen)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:345
msgid ""
"Skipped tests now exit with code 77, so they appear as C<SKIP:> in C<make "
"check> output."
msgstr ""
"Skipped tests now exit with code 77, so they appear as C<SKIP:> in C<make "
"check> output."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:348
msgid "The parallel mount-local test has been rewritten in C (RHBZ#838081)."
msgstr "The parallel mount-local test has been rewritten in C (RHBZ#838081)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:350
msgid "Ruby 1.8.5 is now supported (though Ruby E<ge> 1.9 is preferred)."
msgstr "Ruby 1.8.5 is now supported (though Ruby E<ge> 1.9 is preferred)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:352
msgid ""
"Perl bindings can be disabled via C<./configure --disable-perl> (Wulf C. "
"Krueger).  Note that Perl is still required in order to build libguestfs."
msgstr ""
"Perl bindings can be disabled via C<./configure --disable-perl> (Wulf C. "
"Krueger).  Note that Perl is still required in order to build libguestfs."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:356
msgid ""
"Java bindings are now enabled/disabled using C<./configure --with-java> or "
"C<./configure --without-java> (Wulf C. Krueger)."
msgstr ""
"Java bindings are now enabled/disabled using C<./configure --with-java> or "
"C<./configure --without-java> (Wulf C. Krueger)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:359
msgid ""
"New configure options C<./configure --enable-code-profiling> and C<./"
"configure --enable-code-coverage>."
msgstr ""
"New configure options C<./configure --enable-code-profiling> and C<./"
"configure --enable-code-coverage>."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:362
msgid "Multiple fixes to use of 64 bit integers in language bindings."
msgstr "Multiple fixes to use of 64 bit integers in language bindings."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:364
msgid ""
"The appliance backend now uses sgabios instead of vgabios (Dan Berrange)."
msgstr ""
"The appliance backend now uses sgabios instead of vgabios (Dan Berrange)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:367
msgid ""
"The C<./run> script now sets enough environment variables that you can run "
"OCaml, Python, Ruby, Java, GJS, Erlang, Lua programs."
msgstr ""
"The C<./run> script now sets enough environment variables that you can run "
"OCaml, Python, Ruby, Java, GJS, Erlang, Lua programs."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:370
msgid ""
"C<./run --test> flag for running tests with minimal output.  It also prints "
"the time taken to run each test."
msgstr ""
"C<./run --test> flag for running tests with minimal output.  It also prints "
"the time taken to run each test."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:373
msgid ""
"The C<./run> script now builds up paths cumulatively, meaning that you can "
"use C<./run> twice, or use the libguestfs and libvirt C<./run> scripts "
"together."
msgstr ""
"The C<./run> script now builds up paths cumulatively, meaning that you can "
"use C<./run> twice, or use the libguestfs and libvirt C<./run> scripts "
"together."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:377
msgid ""
"You can extract a list of external commands required by the daemon, making "
"building the appliance on certain distros easier (Olaf Hering)."
msgstr ""
"You can extract a list of external commands required by the daemon, making "
"building the appliance on certain distros easier (Olaf Hering)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:381
msgid "The C<virt-rescue> command is now tested during C<make check>."
msgstr "The C<virt-rescue> command is now tested during C<make check>."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:383
msgid ""
"The generator now removes unused generated files.  This helps when going "
"back and forth with git rebase, git bisect, etc."
msgstr ""
"The generator now removes unused generated files.  This helps when going "
"back and forth with git rebase, git bisect, etc."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:386
msgid ""
"Tests now run in a separate toplevel C<tmp/> directory in the source.  This "
"allows the directory to be labelled for SELinux (sVirt), and also makes it "
"easier to clean up."
msgstr ""
"Tests now run in a separate toplevel C<tmp/> directory in the source.  This "
"allows the directory to be labelled for SELinux (sVirt), and also makes it "
"easier to clean up."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:390
msgid ""
"C<make syntax-check> now works to a greater extent, and many problems in the "
"main code that were found by syntax-check have been fixed (thanks Jim "
"Meyering)."
msgstr ""
"C<make syntax-check> now works to a greater extent, and many problems in the "
"main code that were found by syntax-check have been fixed (thanks Jim "
"Meyering)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:394
msgid "Emacs mode (-*- foo -*-) has been added to generated files."
msgstr "Emacs mode (-*- foo -*-) has been added to generated files."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:396
msgid ""
"Progress bar output is now sent to F</dev/tty> so it doesn't end up in the "
"regular output of the program.  virt-resize and virt-sparsify now suppress "
"progress bars if stdout is not a tty."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:400
msgid ""
"There is now a C<./configure --without-libvirt> option.  This is useful for "
"testing that the code still compiles without libvirt."
msgstr ""
"There is now a C<./configure --without-libvirt> option.  This is useful for "
"testing that the code still compiles without libvirt."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:403
msgid ""
"There is now an internal mini-library for running commands.  This allows us "
"to redirect errors from external commands into events."
msgstr ""
"There is now an internal mini-library for running commands.  This allows us "
"to redirect errors from external commands into events."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:406
msgid ""
"Code for handling temporary directories and the appliance cache was "
"completely overhauled."
msgstr ""
"Code for handling temporary directories and the appliance cache was "
"completely overhauled."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:409
msgid "Code for temporarily ignoring/disabling errors now looks like this:"
msgstr "Code for temporarily ignoring/disabling errors now looks like this:"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.20.pod:411 ../lib/guestfs.pod:2168
#, no-wrap
msgid ""
" guestfs_push_error_handler (g, NULL, NULL);\n"
" guestfs_mkdir (g, \"/foo\"); /* We don't care if this fails. */\n"
" guestfs_pop_error_handler (g);\n"
"\n"
msgstr ""
" guestfs_push_error_handler (g, NULL, NULL);\n"
" guestfs_mkdir (g, \"/foo\"); /* We don't care if this fails. */\n"
" guestfs_pop_error_handler (g);\n"
"\n"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:415
msgid ""
"The C<tests/extra> directory has gone.  The \"extra tests\" are now split "
"into separately runnable targets, such as C<make check-valgrind>.  Use "
"C<make help> to get a summary of the targets."
msgstr ""
"The C<tests/extra> directory has gone.  The \"extra tests\" are now split "
"into separately runnable targets, such as C<make check-valgrind>.  Use "
"C<make help> to get a summary of the targets."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:419
msgid ""
"The C<lpj> option is passed to the appliance kernel when using TCG.  This "
"should improve clock stability (thanks Marcelo Tosatti, Olaf Hering)."
msgstr ""
"The C<lpj> option is passed to the appliance kernel when using TCG.  This "
"should improve clock stability (thanks Marcelo Tosatti, Olaf Hering)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:427
msgid "./bugs-in-changelog.sh 1.18.0.."
msgstr "./bugs-in-changelog.sh 1.18.0.."

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:433
msgid "L<https://bugzilla.redhat.com/882417>"
msgstr "L<https://bugzilla.redhat.com/882417>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:435
msgid ""
"libguestfs tools fail with odd error messages if TMPDIR is not an absolute "
"path"
msgstr ""
"libguestfs tools fail with odd error messages if TMPDIR is not an absolute "
"path"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:437
msgid "L<https://bugzilla.redhat.com/882299>"
msgstr "L<https://bugzilla.redhat.com/882299>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:439
msgid ""
"Windows 8 guest disks can't be mounted: \"The NTFS partition is in an unsafe "
"state. Please resume and shutdown Windows fully (no hibernation or fast "
"restarting), or mount the volume read-only with the 'ro' mount option.\""
msgstr ""
"Windows 8 guest disks can't be mounted: \"The NTFS partition is in an unsafe "
"state. Please resume and shutdown Windows fully (no hibernation or fast "
"restarting), or mount the volume read-only with the 'ro' mount option.\""

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:441
msgid "L<https://bugzilla.redhat.com/881953>"
msgstr "L<https://bugzilla.redhat.com/881953>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:443
msgid ""
"libguestfs: migration to /etc/hostname, /etc/vconsole.conf, /etc/locale.conf"
msgstr ""
"libguestfs: migration to /etc/hostname, /etc/vconsole.conf, /etc/locale.conf"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:445
msgid "L<https://bugzilla.redhat.com/880801>"
msgstr "L<https://bugzilla.redhat.com/880801>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:447
msgid "virt-df with two -a options displays incorrect disk image name"
msgstr "virt-df with two -a options displays incorrect disk image name"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:449
msgid "L<https://bugzilla.redhat.com/879416>"
msgstr "L<https://bugzilla.redhat.com/879416>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:451
msgid "libguestfs-test-tool pauses when you use --help option"
msgstr "libguestfs-test-tool pauses when you use --help option"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:453
msgid "L<https://bugzilla.redhat.com/876579>"
msgstr "L<https://bugzilla.redhat.com/876579>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:455
msgid ""
"mke2fs API does not apply block device naming translation to journaldevice "
"optarg"
msgstr ""
"mke2fs API does not apply block device naming translation to journaldevice "
"optarg"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:457
msgid "L<https://bugzilla.redhat.com/860235>"
msgstr "L<https://bugzilla.redhat.com/860235>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:459
msgid ""
"SELinux policy ought to allow qemu to write to unconfined_u:object_r:"
"user_tmp_t:s0"
msgstr ""
"SELinux policy ought to allow qemu to write to unconfined_u:object_r:"
"user_tmp_t:s0"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:461
msgid "L<https://bugzilla.redhat.com/859949>"
msgstr "L<https://bugzilla.redhat.com/859949>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:463
msgid ""
"RFE: inspect-list-applications does not return the architecture of RPM "
"packages"
msgstr ""
"RFE: inspect-list-applications does not return the architecture of RPM "
"packages"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:465
msgid "L<https://bugzilla.redhat.com/859885>"
msgstr "L<https://bugzilla.redhat.com/859885>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:467
msgid ""
"inspect-list-applications does not list all installed RPM packages with same "
"name and different versions"
msgstr ""
"inspect-list-applications does not list all installed RPM packages with same "
"name and different versions"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:469
msgid "L<https://bugzilla.redhat.com/859876>"
msgstr "L<https://bugzilla.redhat.com/859876>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:471
msgid "guestfish printed paths are not canonicalized"
msgstr "guestfish printed paths are not canonicalised"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:473
msgid "L<https://bugzilla.redhat.com/859875>"
msgstr "L<https://bugzilla.redhat.com/859875>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:475
msgid "Progress bar output should go to tty(?) stderr(?)"
msgstr "Progress bar output should go to tty(?) stderr(?)"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:477
msgid "L<https://bugzilla.redhat.com/858696>"
msgstr "L<https://bugzilla.redhat.com/858696>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:479
msgid ""
"virt-sysprep reports Guestfs.Error(\"read_lines: fopen: /etc/sysconfig/"
"network: No such file or directory\") on some Fedora guests"
msgstr ""
"virt-sysprep reports Guestfs.Error(\"read_lines: fopen: /etc/sysconfig/"
"network: No such file or directory\") on some Fedora guests"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:481
msgid "L<https://bugzilla.redhat.com/858128>"
msgstr "L<https://bugzilla.redhat.com/858128>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:483
msgid "libguestfs fail to list devices added by add-drive-ro-with-if twice"
msgstr "libguestfs fail to list devices added by add-drive-ro-with-if twice"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:485
msgid "L<https://bugzilla.redhat.com/858126>"
msgstr "L<https://bugzilla.redhat.com/858126>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:487
msgid "virt-inspector fail to work with some windows guests"
msgstr "virt-inspector fail to work with some windows guests"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:489
msgid "L<https://bugzilla.redhat.com/853762>"
msgstr "L<https://bugzilla.redhat.com/853762>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:491
msgid ""
"virt-sparsify should use a more robust method to detect the input format"
msgstr ""
"virt-sparsify should use a more robust method to detect the input format"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:493
msgid "L<https://bugzilla.redhat.com/853393>"
msgstr "L<https://bugzilla.redhat.com/853393>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:495
msgid "libvirt doesn't label console, serial sockets"
msgstr "libvirt doesn't label console, serial sockets"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:497
msgid "L<https://bugzilla.redhat.com/853159>"
msgstr "L<https://bugzilla.redhat.com/853159>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:499
msgid "virt-rescue in Fedora 18 is completely broken"
msgstr "virt-rescue in Fedora 18 is completely broken"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:501
msgid "L<https://bugzilla.redhat.com/852394>"
msgstr "L<https://bugzilla.redhat.com/852394>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:503
msgid "libguestfs inspection limits registries to 100 MiB"
msgstr "libguestfs inspection limits registries to 100 MiB"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:505
msgid "L<https://bugzilla.redhat.com/852194>"
msgstr "L<https://bugzilla.redhat.com/852194>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:507
msgid "virt-sparsify --compress fails if output is raw format"
msgstr "virt-sparsify --compress fails if output is raw format"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:509
msgid "L<https://bugzilla.redhat.com/847881>"
msgstr "L<https://bugzilla.redhat.com/847881>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:511
msgid "RFE: allow extra arguments (like --exclude) to tar-out"
msgstr "RFE: allow extra arguments (like --exclude) to tar-out"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:513
msgid "L<https://bugzilla.redhat.com/847880>"
msgstr "L<https://bugzilla.redhat.com/847880>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:515
msgid "tar-out should allow (or force) --numeric-owner"
msgstr "tar-out should allow (or force) --numeric-owner"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:517
msgid "L<https://bugzilla.redhat.com/845522>"
msgstr "L<https://bugzilla.redhat.com/845522>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:519
msgid ""
"guestfish \"copy-out / localdir\" command fails with \"No such file or "
"directory\""
msgstr ""
"guestfish \"copy-out / localdir\" command fails with \"No such file or "
"directory\""

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:521
msgid "L<https://bugzilla.redhat.com/845488>"
msgstr "L<https://bugzilla.redhat.com/845488>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:523
msgid ""
"Long filenames on NTFS cause tar-out, copy-out etc to fail with error "
"\"Cannot open: File name too long\""
msgstr ""
"Long filenames on NTFS cause tar-out, copy-out etc to fail with error "
"\"Cannot open: File name too long\""

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:525
msgid "L<https://bugzilla.redhat.com/842307>"
msgstr "L<https://bugzilla.redhat.com/842307>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:527
msgid ""
"RFE: Need help designing and implementing selinux policy for libguestfs/sVirt"
msgstr ""
"RFE: Need help designing and implementing selinux policy for libguestfs/sVirt"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:529
msgid "L<https://bugzilla.redhat.com/840572>"
msgstr "L<https://bugzilla.redhat.com/840572>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:531
msgid "virt-make-fs / tar-in should support vfat properly"
msgstr "virt-make-fs / tar-in should support vfat properly"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:533
msgid "L<https://bugzilla.redhat.com/840115>"
msgstr "L<https://bugzilla.redhat.com/840115>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:535
msgid ""
"guestfish touch problem - case_sensitive_path API expects the file to exist"
msgstr ""
"guestfish touch problem - case_sensitive_path API expects the file to exist"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:537
msgid "L<https://bugzilla.redhat.com/836710>"
msgstr "L<https://bugzilla.redhat.com/836710>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:539
msgid "Data loss when writing to qcow2-format disk files"
msgstr "Data loss when writing to qcow2-format disk files"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:541
msgid "L<https://bugzilla.redhat.com/834712>"
msgstr "L<https://bugzilla.redhat.com/834712>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:543
msgid ""
"lvresize, lvresize-free fail unnecessarily if you don't change the size of "
"the LV: \"New size (nn extents) matches existing size (nn extents)\""
msgstr ""
"lvresize, lvresize-free fail unnecessarily if you don't change the size of "
"the LV: \"New size (nn extents) matches existing size (nn extents)\""

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:545
msgid "L<https://bugzilla.redhat.com/824716>"
msgstr "L<https://bugzilla.redhat.com/824716>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:547
msgid "compress-device-out didn't support bzip2"
msgstr "compress-device-out didn't support bzip2"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:549
msgid "L<https://bugzilla.redhat.com/824043>"
msgstr "L<https://bugzilla.redhat.com/824043>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:551
msgid "guestfish unrecognized mount option gives confusing error message"
msgstr "guestfish unrecognised mount option gives confusing error message"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:553
msgid "L<https://bugzilla.redhat.com/823887>"
msgstr "L<https://bugzilla.redhat.com/823887>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:555
msgid ""
"Filenames containing Chinese characters can't be created on vfat filesystems"
msgstr ""
"Filenames containing Chinese characters can't be created on vfat filesystems"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:557
msgid "L<https://bugzilla.redhat.com/823885>"
msgstr "L<https://bugzilla.redhat.com/823885>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:559
msgid ""
"virt-make-fs cannot create vfat filesystem containing filesystems with "
"Chinese characters"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:561
msgid "L<https://bugzilla.redhat.com/823883>"
msgstr "L<https://bugzilla.redhat.com/823883>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:563
msgid "virt-make-fs -t fat fails with an obscure error message"
msgstr "virt-make-fs -t fat fails with an obscure error message"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:565
msgid "L<https://bugzilla.redhat.com/823821>"
msgstr "L<https://bugzilla.redhat.com/823821>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:567
msgid "Inspection fails when /etc/HOSTNAME is empty"
msgstr "Inspection fails when /etc/HOSTNAME is empty"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:569
msgid "L<https://bugzilla.redhat.com/801117>"
msgstr "L<https://bugzilla.redhat.com/801117>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:571
msgid "libguestfs cannot get icon for Windows 8"
msgstr "libguestfs cannot get icon for Windows 8"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:573
msgid "L<https://bugzilla.redhat.com/798979>"
msgstr "L<https://bugzilla.redhat.com/798979>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:575
msgid ""
"Ubuntu install CDs from oneiric onwards are not recognized: \"multi-boot "
"operating systems are not supported\""
msgstr ""
"Ubuntu install CDs from oneiric onwards are not recognised: \"multi-boot "
"operating systems are not supported\""

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:577
msgid "L<https://bugzilla.redhat.com/782167>"
msgstr "L<https://bugzilla.redhat.com/782167>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:579
msgid ""
"libguestfs doesn't recognize Windows Dynamic disks in some configurations, "
"eg. spanned"
msgstr ""
"libguestfs doesn't recognise Windows Dynamic disks in some configurations, "
"eg. spanned"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:581
msgid "L<https://bugzilla.redhat.com/713678>"
msgstr "L<https://bugzilla.redhat.com/713678>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:583
msgid "Not all febootstrap messages are redirected to log callbacks"
msgstr "Not all febootstrap messages are redirected to log callbacks"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:585
msgid "L<https://bugzilla.redhat.com/627675>"
msgstr "L<https://bugzilla.redhat.com/627675>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:587
msgid "libguestfs inspector code cannot handle /dev/disk/by-id/* paths"
msgstr "libguestfs inspector code cannot handle /dev/disk/by-id/* paths"

#. type: =item
#: ../docs/guestfs-release-notes-1.20.pod:589
msgid "L<https://bugzilla.redhat.com/602997>"
msgstr "L<https://bugzilla.redhat.com/602997>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.20.pod:591
msgid "part-get-bootable gives wrong result with an unordered part layout"
msgstr "part-get-bootable gives wrong result with an unordered part layout"

#. type: =head1
#: ../docs/guestfs-release-notes-1.22.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.22"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.22"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.20.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.20.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:15
msgid "Remote access to disks:"
msgstr "Remote access to disks:"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:21
msgid "Network Block Device (nbd)"
msgstr "Network Block Device (nbd)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:25
msgid "Secure Shell (ssh)"
msgstr "Secure Shell (ssh)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:29
msgid "HTTP and HTTPS"
msgstr "HTTP and HTTPS"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:33
msgid "FTP and FTPS"
msgstr "FTP and FTPS"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:37
msgid "iSCSI"
msgstr "iSCSI"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:41
msgid "Gluster"
msgstr "Gluster"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:45
msgid "Ceph/rbd (Mike Kelly)"
msgstr "Ceph/rbd (Mike Kelly)"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:50
msgid "Sheepdog"
msgstr "Sheepdog"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:54
msgid "TFTP"
msgstr "TFTP"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:58
msgid ""
"The SYSLINUX and EXTLINUX bootloaders can now be installed in disk images "
"using the API."
msgstr ""
"The SYSLINUX and EXTLINUX bootloaders can now be installed in disk images "
"using the API."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:61
msgid ""
"Inspection can now handle filesystems such as btrfs where subvolumes are "
"separately mountable (Matthew Booth)."
msgstr ""
"Inspection can now handle filesystems such as btrfs where subvolumes are "
"separately mountable (Matthew Booth)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:64
msgid ""
"\"Attach methods\" are now known as \"backends\".  Compatibility with "
"existing code is preserved."
msgstr ""
"\"Attach methods\" are now known as \"backends\".  Compatibility with "
"existing code is preserved."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:67
msgid "Filenames can contain ':', as long as newer QEMU is being used."
msgstr "Filenames can contain ':', as long as newer QEMU is being used."

#. type: =head3
#: ../docs/guestfs-release-notes-1.22.pod:69
#: ../docs/guestfs-release-notes-1.24.pod:21
#: ../docs/guestfs-release-notes-1.26.pod:13
#: ../docs/guestfs-release-notes-1.28.pod:13
msgid "Tools"
msgstr "Tools"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:71
msgid "Virt-alignment-scan and virt-df scan multiple guests in parallel."
msgstr "Virt-alignment-scan and virt-df scan multiple guests in parallel."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:73
msgid ""
"Guestmount now passes errno accurately back to userspace in almost all cases."
msgstr ""
"Guestmount now passes errno accurately back to userspace in almost all cases."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:76
msgid ""
"Guestfish and other tools can now use a URI-like syntax to access remote "
"disks, eg:"
msgstr ""
"Guestfish and other tools can now use a URI-like syntax to access remote "
"disks, eg:"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.22.pod:79 ../fish/guestfish.pod:136
#, no-wrap
msgid ""
" guestfish -a ssh://example.com/path/to/disk.img\n"
"\n"
msgstr ""
" guestfish -a ssh://example.com/path/to/disk.img\n"
"\n"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:81
msgid ""
"Guestfish and guestmount now allow you to specify the filesystem type when "
"mounting, which is more secure (Dave Vasilevsky)."
msgstr ""
"Guestfish and guestmount now allow you to specify the filesystem type when "
"mounting, which is more secure (Dave Vasilevsky)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:84
msgid "Guestfish is now the \"guest filesystem shell\"."
msgstr "Guestfish is now the \"guest filesystem shell\"."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:86
msgid ""
"Guestfish allows only C<1> C<true> C<t> C<yes> C<y> C<on> C<0> C<false> C<f> "
"C<no> C<n> C<off> for boolean values (case insensitive), and gives an error "
"for all other strings."
msgstr ""
"Guestfish allows only C<1> C<true> C<t> C<yes> C<y> C<on> C<0> C<false> C<f> "
"C<no> C<n> C<off> for boolean values (case insensitive), and gives an error "
"for all other strings."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:90
msgid "New tool C<guestunmount> for unmounting FUSE filesystems safely."
msgstr "New tool C<guestunmount> for unmounting FUSE filesystems safely."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:92
msgid "C<guestmount --no-fork> flag prevents guestmount from daemonizing."
msgstr "C<guestmount --no-fork> flag prevents guestmount from daemonising."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:94
msgid ""
"Virt-resize now uses sparse copies by default, saving considerable space for "
"guests which are mostly empty."
msgstr ""
"Virt-resize now uses sparse copies by default, saving considerable space for "
"guests which are mostly empty."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:97
msgid ""
"Bash tab completion has been rewritten and can now handle most tools, and "
"correctly tab-complete C<--long> options.  In addition, bash completion "
"scripts are loaded on demand."
msgstr ""
"Bash tab completion has been rewritten and can now handle most tools, and "
"correctly tab-complete C<--long> options.  In addition, bash completion "
"scripts are loaded on demand."

#. type: =head3
#: ../docs/guestfs-release-notes-1.22.pod:101
#: ../docs/guestfs-release-notes-1.24.pod:52
#: ../docs/guestfs-release-notes-1.26.pod:62
#: ../docs/guestfs-release-notes-1.28.pod:60
#: ../docs/guestfs-release-notes-1.30.pod:130
#: ../docs/guestfs-release-notes-1.32.pod:64
#: ../docs/guestfs-release-notes-1.34.pod:144
#: ../docs/guestfs-release-notes-1.36.pod:119
#: ../docs/guestfs-release-notes-1.38.pod:109
#: ../docs/guestfs-release-notes-1.40.pod:91
#: ../docs/guestfs-release-notes-1.42.pod:56
msgid "Language bindings"
msgstr "Language bindings"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:103
msgid "The Java API now supports events."
msgstr "The Java API now supports events."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:105
msgid "The Python object now inherits from the C<object> base class."
msgstr "The Python object now inherits from the C<object> base class."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:107
msgid ""
"Python methods which previously returned lists of tuples can now be made to "
"return a Python dict.  For backwards compatibility, you have to enable this "
"by using the constructor option S<C<guestfs.GuestFS "
"(python_return_dict=True)>>."
msgstr ""
"Python methods which previously returned lists of tuples can now be made to "
"return a Python dict.  For backwards compatibility, you have to enable this "
"by using the constructor option S<C<guestfs.GuestFS "
"(python_return_dict=True)>>."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:112
msgid "The PHP bindings are now tested properly, and have had multiple fixes."
msgstr "The PHP bindings are now tested properly, and have had multiple fixes."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:114
msgid ""
"The long-deprecated Perl C<Sys::Guestfs::Lib> library has been removed.  "
"L<https://www.redhat.com/archives/libguestfs/2013-April/msg00001.html>"
msgstr ""
"The long-deprecated Perl C<Sys::Guestfs::Lib> library has been removed.  "
"L<https://www.redhat.com/archives/libguestfs/2013-April/msg00001.html>"

#. type: =head3
#: ../docs/guestfs-release-notes-1.22.pod:118
msgid "Examples"
msgstr "Examples"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:120
msgid ""
"New example program showing how to enable debugging and capture log messages."
msgstr ""
"New example program showing how to enable debugging and capture log messages."

#. type: =head3
#: ../docs/guestfs-release-notes-1.22.pod:123
#: ../docs/guestfs-release-notes-1.36.pod:160
#: ../docs/guestfs-release-notes-1.38.pod:136
#: ../docs/guestfs-release-notes-1.40.pod:110
#: ../docs/guestfs-release-notes-1.42.pod:107
msgid "Other"
msgstr "Other"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:125
msgid ""
"Distributors can add arbitrary extra packages to the appliance by doing:"
msgstr ""
"Distributors can add arbitrary extra packages to the appliance by doing:"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.22.pod:128
#, no-wrap
msgid ""
" ./configure --with-extra-packages=\"list of package names\"\n"
"\n"
msgstr ""
" ./configure --with-extra-packages=\"list of package names\"\n"
"\n"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:130
msgid "Distributors can use:"
msgstr "Distributors can use:"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.22.pod:132
#, no-wrap
msgid ""
" ./configure --with-supermin-extra-options=\"...\"\n"
"\n"
msgstr ""
" ./configure --with-supermin-extra-options=\"...\"\n"
"\n"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:134
msgid "to add arbitrary extra options to supermin."
msgstr "to add arbitrary extra options to supermin."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:138
#: ../docs/guestfs-release-notes-1.42.pod:130
msgid "No security issues were found in this release."
msgstr "No security issues were found in this release."

#. type: verbatim
#: ../docs/guestfs-release-notes-1.22.pod:142
#, no-wrap
msgid ""
" cp-r\n"
" extlinux\n"
" feature-available\n"
" get-program\n"
" is-whole-device\n"
" part-get-gpt-type\n"
" part-set-gpt-type\n"
" rename\n"
" set-program\n"
" syslinux\n"
"\n"
msgstr ""
" cp-r\n"
" extlinux\n"
" feature-available\n"
" get-program\n"
" is-whole-device\n"
" part-get-gpt-type\n"
" part-set-gpt-type\n"
" rename\n"
" set-program\n"
" syslinux\n"
"\n"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:153
msgid "C only:"
msgstr "C only:"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.22.pod:155
#, no-wrap
msgid ""
" guestfs_event_to_string\n"
"\n"
msgstr ""
" guestfs_event_to_string\n"
"\n"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:159
msgid ""
"The febootstrap tool has now been renamed to \"supermin\".  Libguestfs can "
"use either, but now prefers \"supermin\".  L<http://people.redhat.com/"
"~rjones/supermin/>"
msgstr ""
"The febootstrap tool has now been renamed to \"supermin\".  Libguestfs can "
"use either, but now prefers \"supermin\".  L<http://people.redhat.com/"
"~rjones/supermin/>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:163
msgid "libxml2 is required to build libguestfs."
msgstr "libxml2 is required to build libguestfs."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:165
msgid "The hivexregedit program (from hivex) is required to build from git."
msgstr "The hivexregedit program (from hivex) is required to build from git."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:167
msgid ""
"Internal functions can no longer be used unless the caller defines C<-"
"DGUESTFS_PRIVATE=1>."
msgstr ""
"Internal functions can no longer be used unless the caller defines C<-"
"DGUESTFS_PRIVATE=1>."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:170
msgid "Enable C compiler warnings in Python, Ruby bindings."
msgstr "Enable C compiler warnings in Python, Ruby bindings."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:172
msgid ""
"Fail early and clearly if libvirt does not support qemu/KVM (eg. if default "
"libvirt connection is to Xen)."
msgstr ""
"Fail early and clearly if libvirt does not support qemu/KVM (eg. if default "
"libvirt connection is to Xen)."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:175
msgid "C<make print-subdirs> rule, useful for selectively running tests."
msgstr "C<make print-subdirs> rule, useful for selectively running tests."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:177
msgid "Multiple fixes to allow separated (sourcedir != builddir) builds."
msgstr "Multiple fixes to allow separated (sourcedir != builddir) builds."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:179
msgid "Multiple fixes to Haskell bindings."
msgstr "Multiple fixes to Haskell bindings."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:181
msgid "C<ln> and C<ln-f> APIs now capture C<errno> correctly."
msgstr "C<ln> and C<ln-f> APIs now capture C<errno> correctly."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:183
msgid ""
"Language binding tests use (mostly) a standard numbering scheme and aim to "
"test the same range of features in each language.  Also the number of "
"launches required has been reduced so these tests should run much more "
"quickly."
msgstr ""
"Language binding tests use (mostly) a standard numbering scheme and aim to "
"test the same range of features in each language.  Also the number of "
"launches required has been reduced so these tests should run much more "
"quickly."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:188
msgid ""
"Library code internally uses GCC C<__attribute__((cleanup))> (if available) "
"to simplify memory allocation."
msgstr ""
"Library code internally uses GCC C<__attribute__((cleanup))> (if available) "
"to simplify memory allocation."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:191
msgid ""
"Internal header files have been reorganized.  See the comments in F<src/"
"guestfs-internal*.h>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:194
msgid ""
"Internal code shared between the library and certain tools is now located in "
"a static C<libutils> library."
msgstr ""
"Internal code shared between the library and certain tools is now located in "
"a static C<libutils> library."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:197
msgid ""
"Almost all subdirectories can now use parallel builds, although note that "
"the top-level directories still build in series."
msgstr ""
"Almost all subdirectories can now use parallel builds, although note that "
"the top-level directories still build in series."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:200
msgid "Use of C<PATH_MAX> and C<NAME_MAX> has been eliminated from the code."
msgstr "Use of C<PATH_MAX> and C<NAME_MAX> has been eliminated from the code."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:202
msgid "The Java API now requires JVM E<ge> 1.6."
msgstr "The Java API now requires JVM E<ge> 1.6."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:204
msgid "Force use of C<serial-tests> with automake E<ge> 1.12."
msgstr "Force use of C<serial-tests> with automake E<ge> 1.12."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:206
msgid ""
"Use of sockets in the library protocol layer is abstracted, allowing other "
"non-POSIX layers to be added in future (see F<src/conn-socket.c>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:210
msgid ""
"C<qemu-img info --output json> is used if available, for more secure parsing "
"of the output of this command."
msgstr ""
"C<qemu-img info --output json> is used if available, for more secure parsing "
"of the output of this command."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:213
msgid ""
"Distros can now use C<make INSTALLDIRS=vendor install> to place Ruby "
"bindings in vendordir.  This eliminates a non-upstream patch carried by both "
"Fedora and Debian."
msgstr ""
"Distros can now use C<make INSTALLDIRS=vendor install> to place Ruby "
"bindings in vendordir.  This eliminates a non-upstream patch carried by both "
"Fedora and Debian."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:217
msgid ""
"Valgrind log files are now written to F<tmp/valgrind-I<DATE>-I<PID>.log>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:219
msgid "C<make clean> cleans the local C<tmp/> directory."
msgstr "C<make clean> cleans the local C<tmp/> directory."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:221
msgid ""
"The C API tests have been rewritten using a more flexible generator language "
"that allows arbitrary C code to be executing during tests."
msgstr ""
"The C API tests have been rewritten using a more flexible generator language "
"that allows arbitrary C code to be executing during tests."

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:228
msgid "./bugs-in-changelog.sh 1.20.0.."
msgstr "./bugs-in-changelog.sh 1.20.0.."

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:234
msgid "L<https://bugzilla.redhat.com/961812>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:236
msgid "Segfault in inspect-fs.c in mountable code"
msgstr "Segfault in inspect-fs.c in mountable code"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:238
msgid "L<https://bugzilla.redhat.com/957772>"
msgstr "L<https://bugzilla.redhat.com/957772>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:240
msgid "tar-out and base64-out quoting error"
msgstr "tar-out and base64-out quoting error"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:242
msgid "L<https://bugzilla.redhat.com/957380>"
msgstr "L<https://bugzilla.redhat.com/957380>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:244
msgid ""
"libguestfs: error: btrfsvol:/dev/sda2/root: root device not found: only call "
"this function with a root device previously returned by guestfs_inspect_os"
msgstr ""
"libguestfs: error: btrfsvol:/dev/sda2/root: root device not found: only call "
"this function with a root device previously returned by guestfs_inspect_os"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:246
msgid "L<https://bugzilla.redhat.com/948324>"
msgstr "L<https://bugzilla.redhat.com/948324>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:248
msgid "inspection fails if libosinfo is not installed"
msgstr "inspection fails if libosinfo is not installed"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:250
msgid "L<https://bugzilla.redhat.com/928995>"
msgstr "L<https://bugzilla.redhat.com/928995>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:252
msgid "file on zero-sized file now produces \"empty \" instead of \"empty\""
msgstr "file on zero-sized file now produces \"empty \" instead of \"empty\""

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:254
msgid "L<https://bugzilla.redhat.com/921292>"
msgstr "L<https://bugzilla.redhat.com/921292>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:256
msgid "qemu: could not open disk image /tmp/.../snapshot1: Permission denied"
msgstr "qemu: could not open disk image /tmp/.../snapshot1: Permission denied"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:258
msgid "L<https://bugzilla.redhat.com/921040>"
msgstr "L<https://bugzilla.redhat.com/921040>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:260
msgid ""
"\"error: external command failed, see earlier error messages\" message needs "
"to change"
msgstr ""
"\"error: external command failed, see earlier error messages\" message needs "
"to change"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:262
msgid "L<https://bugzilla.redhat.com/920225>"
msgstr "L<https://bugzilla.redhat.com/920225>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:264
msgid ""
"libguestfs should use --output json (if supported) to safely parse the "
"output of qemu-img command"
msgstr ""
"libguestfs should use --output json (if supported) to safely parse the "
"output of qemu-img command"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:266
msgid "L<https://bugzilla.redhat.com/916780>"
msgstr "L<https://bugzilla.redhat.com/916780>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:268
msgid "feature request: guestmount --with-cleanup-pipefd"
msgstr "feature request: guestmount --with-cleanup-pipefd"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:270
msgid "L<https://bugzilla.redhat.com/914934>"
msgstr "L<https://bugzilla.redhat.com/914934>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:272
msgid "oom-killer kills guestfsd when tar-in a lot of data"
msgstr "oom-killer kills guestfsd when tar-in a lot of data"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:274
msgid "L<https://bugzilla.redhat.com/914931>"
msgstr "L<https://bugzilla.redhat.com/914931>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:276
msgid ""
"FileIn commands cause segfault if appliance dies during the file copy in"
msgstr ""
"FileIn commands cause segfault if appliance dies during the file copy in"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:278
msgid "L<https://bugzilla.redhat.com/913145>"
msgstr "L<https://bugzilla.redhat.com/913145>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:280
msgid "Misc leaks in virNetClientProgramCall in libvirt 1.0.2"
msgstr "Misc leaks in virNetClientProgramCall in libvirt 1.0.2"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:282
#: ../docs/guestfs-release-notes-1.30.pod:796
msgid "L<https://bugzilla.redhat.com/912499>"
msgstr "L<https://bugzilla.redhat.com/912499>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:284
#: ../docs/guestfs-release-notes-1.30.pod:798
msgid "Security context on image file gets reset"
msgstr "Security context on image file gets reset"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:286
msgid "L<https://bugzilla.redhat.com/909836>"
msgstr "L<https://bugzilla.redhat.com/909836>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:288
msgid "libguestfs-test-tool --qemu segfaults"
msgstr "libguestfs-test-tool --qemu segfaults"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:290
msgid "L<https://bugzilla.redhat.com/909624>"
msgstr "L<https://bugzilla.redhat.com/909624>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:292
msgid ""
"Unexpected non-tail recursion in recv_from_daemon results in stack overflow "
"in very long-running API calls that send progress messages"
msgstr ""
"Unexpected non-tail recursion in recv_from_daemon results in stack overflow "
"in very long-running API calls that send progress messages"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:294
msgid "L<https://bugzilla.redhat.com/908322>"
msgstr "L<https://bugzilla.redhat.com/908322>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:296
msgid ""
"virt-tar fails on non-existent directory names \"error in chunked encoding "
"at /home/rjones/d/libguestfs/tools/virt-tar line 272.\""
msgstr ""
"virt-tar fails on non-existent directory names \"error in chunked encoding "
"at /home/rjones/d/libguestfs/tools/virt-tar line 272.\""

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:298
msgid "L<https://bugzilla.redhat.com/908321>"
msgstr "L<https://bugzilla.redhat.com/908321>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:300
msgid ""
"virt-cat fails on directory names \"/dev/stdout: error in chunked encoding\""
msgstr ""
"virt-cat fails on directory names \"/dev/stdout: error in chunked encoding\""

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:302
msgid "L<https://bugzilla.redhat.com/907554>"
msgstr "L<https://bugzilla.redhat.com/907554>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:304
msgid "btrfs causes subsequent ntfs-3g filesystem to fail"
msgstr "btrfs causes subsequent ntfs-3g filesystem to fail"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:306
msgid "L<https://bugzilla.redhat.com/905341>"
msgstr "L<https://bugzilla.redhat.com/905341>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:308
msgid "\"No such file or directory\" when execute \"hivex-commit\""
msgstr "\"No such file or directory\" when execute \"hivex-commit\""

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:310
msgid "L<https://bugzilla.redhat.com/903620>"
msgstr "L<https://bugzilla.redhat.com/903620>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:312
msgid "btrfs_subvolume_list broken due to change in subvolume list output"
msgstr "btrfs_subvolume_list broken due to change in subvolume list output"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:314
msgid "L<https://bugzilla.redhat.com/895910>"
msgstr "L<https://bugzilla.redhat.com/895910>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:316
msgid "guestmount: rename() incorrectly follows symbolic links"
msgstr "guestmount: rename() incorrectly follows symbolic links"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:318
msgid "L<https://bugzilla.redhat.com/895905>"
msgstr "L<https://bugzilla.redhat.com/895905>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:320
msgid "guestmount: link() incorrectly returns ENOENT, when it should be EXDEV"
msgstr "guestmount: link() incorrectly returns ENOENT, when it should be EXDEV"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:322
msgid "L<https://bugzilla.redhat.com/895904>"
msgstr "L<https://bugzilla.redhat.com/895904>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:324
msgid ""
"checksums-out fail to compute the checksums of all regular files in directory"
msgstr ""
"checksums-out fail to compute the checksums of all regular files in directory"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:326
msgid "L<https://bugzilla.redhat.com/894545>"
msgstr "L<https://bugzilla.redhat.com/894545>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:328
msgid "libguestfs FTBFS on Fedora 19 because of new ruby"
msgstr "libguestfs FTBFS on Fedora 19 because of new ruby"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:330
msgid "L<https://bugzilla.redhat.com/890027>"
msgstr "L<https://bugzilla.redhat.com/890027>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:332
msgid ""
"virt-sysprep: Setting hostname, domain name and pretty name on Fedora 18 "
"correctly"
msgstr ""
"virt-sysprep: Setting hostname, domain name and pretty name on Fedora 18 "
"correctly"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:334
msgid "L<https://bugzilla.redhat.com/887971>"
msgstr "L<https://bugzilla.redhat.com/887971>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:336
msgid "pvcreate fails if partition contains a swap signature"
msgstr "pvcreate fails if partition contains a swap signature"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:338
msgid "L<https://bugzilla.redhat.com/887520>"
msgstr "L<https://bugzilla.redhat.com/887520>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:340
msgid "zero_free_space: open: /sysroot//ujqqq135.rd3: Cannot allocate memory"
msgstr "zero_free_space: open: /sysroot//ujqqq135.rd3: Cannot allocate memory"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:342
msgid "L<https://bugzilla.redhat.com/886915>"
msgstr "L<https://bugzilla.redhat.com/886915>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:344
msgid ""
"libguestfs with libvirt attach-method fails with odd error if default "
"hypervisor is Xen"
msgstr ""
"libguestfs with libvirt attach-method fails with odd error if default "
"hypervisor is Xen"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:346
msgid "L<https://bugzilla.redhat.com/847549>"
msgstr "L<https://bugzilla.redhat.com/847549>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:348
msgid ""
"Adding a zero-length virtio-scsi disk causes: qemu-kvm: hw/scsi-bus.c:1568: "
"scsi_req_complete: Assertion `req->status == -1' failed."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:350
msgid "L<https://bugzilla.redhat.com/811649>"
msgstr "L<https://bugzilla.redhat.com/811649>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:352
msgid ""
"libguestfs cannot open disk images which are symlinks to files that contain "
"':' (colon) character"
msgstr ""
"libguestfs cannot open disk images which are symlinks to files that contain "
"':' (colon) character"

#. type: =item
#: ../docs/guestfs-release-notes-1.22.pod:354
msgid "L<https://bugzilla.redhat.com/664558>"
msgstr "L<https://bugzilla.redhat.com/664558>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.22.pod:356
msgid "RFE: Allow to set log callback in Ruby bindings"
msgstr "RFE: Allow to set log callback in Ruby bindings"

#. type: =head1
#: ../docs/guestfs-release-notes-1.24.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.24"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.22.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:13
msgid ""
"User-Mode Linux (UML) can be used as an alternative backend (ie. instead of "
"KVM).  This improves performance especially when using libguestfs inside a "
"VM (eg. in the cloud).  UML is supported as a first-class backend.  See "
"L<guestfs(3)/USER-MODE LINUX BACKEND> for how to use this."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:19
msgid "ARM (32 bit) and PPC64 are now fully supported."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:23
msgid ""
"L<virt-builder(1)> is a new tool for building virtual machine images.  It "
"lets you rapidly and securely create guests and customize them."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:26
msgid ""
"New L<virt-sysprep(1)> operations: Remove files in F</tmp> and F</var/tmp>.  "
"Remove RPM database files.  Change root and user passwords.  More log files "
"are removed.  New operations which are not enabled by default: Create random "
"UUIDs for filesystems.  Reset firewall rules.  (Wanlong Gao)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:36
msgid ""
"L<virt-resize(1)> and virt-sysprep can now use URIs to specify a remote disk."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:39
msgid ""
"Use C<guestfish -N filename=type> to create a named disk image (instead of "
"the default F<test1.img> etc)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:42
msgid ""
"L<virt-sparsify(1)> now tests if there is enough disk space to complete the "
"operation, instead of possibly running out of space half way through."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:46
msgid ""
"L<virt-format(1)> and L<virt-make-fs(1)>: new I<--label> option for setting "
"filesystem label."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:49
msgid ""
"virt-resize I<--no-sparse> flag can be used to resize on to partitions and "
"other targets that are not zeroed."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:54
msgid "New bindings for the Go programming language."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:58
msgid "Support for the systemd journal."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:60
msgid ""
"C<guestfs_add_drive_opts> can now control the qemu caching mode through a "
"new C<cachemode> parameter.  You can select improved performance for "
"temporary drives, or safety."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:64
msgid "C<guestfs_set_label> now works for XFS and btrfs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:66
msgid "New GUESTFS_EVENT_WARNING event for warning messages."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.24.pod:68
#: ../docs/guestfs-release-notes-1.26.pod:70
#: ../docs/guestfs-release-notes-1.28.pod:68
#: ../docs/guestfs-release-notes-1.30.pod:137
#: ../docs/guestfs-release-notes-1.32.pod:91
#: ../docs/guestfs-release-notes-1.34.pod:162
#: ../docs/guestfs-release-notes-1.36.pod:128
#: ../docs/guestfs-release-notes-1.38.pod:116
#: ../docs/guestfs-release-notes-1.40.pod:97
#: ../docs/guestfs-release-notes-1.42.pod:88
msgid "Inspection"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:70
msgid "Better inspection of SUSE guests (Olaf Hering)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:72
msgid "Better support for non-standard Windows %systemroot% (Matthew Booth)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:74
msgid "Enhanced error reporting for Augeas errors."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.24.pod:80 ../docs/guestfs-security.pod:224
msgid "CVE-2013-2124"
msgstr "CVE-2013-2124"

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:82
msgid "L<https://bugzilla.redhat.com/show_bug.cgi?id=968306>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:84
msgid ""
"A denial of service was possible when inspecting certain guests.  The fix "
"has been backported to 1.20 and 1.22 branches."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.24.pod:87 ../docs/guestfs-security.pod:235
msgid "CVE-2013-4419"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:89
msgid ""
"L<https://www.redhat.com/archives/libguestfs/2013-October/msg00031.html>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:91
msgid ""
"Fix insecure temporary directory handling for remote guestfish.  The fix has "
"been backported to 1.20 and 1.22 branches."
msgstr ""

#. type: verbatim
#: ../docs/guestfs-release-notes-1.24.pod:98
#, no-wrap
msgid ""
" add-drive-scratch: Add a temporary scratch drive\n"
" aug-label\n"
" aug-setm\n"
" journal-open: Systemd journal support\n"
" journal-close\n"
" journal-next\n"
" journal-skip\n"
" journal-get\n"
" journal-get-data-threshold\n"
" journal-set-data-threshold\n"
" remount: Allow rw flag to be adjusted on mounted filesystems\n"
" set-uuid: Set UUID of filesystem\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:111
msgid ""
"C<is-file>, C<is-dir>, C<is-blockdev>, C<is-chardev>, C<is-fifo>, C<is-"
"socket> APIs now have an extra C<followsymlinks> flag."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:114
msgid "C<add-drive> has a new C<cachemode> parameter."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.24.pod:116
#: ../docs/guestfs-release-notes-1.26.pod:178
#: ../docs/guestfs-release-notes-1.28.pod:144
#: ../docs/guestfs-release-notes-1.30.pod:411
#: ../docs/guestfs-release-notes-1.32.pod:213
#: ../docs/guestfs-release-notes-1.34.pod:338
#: ../docs/guestfs-release-notes-1.36.pod:250
#: ../docs/guestfs-release-notes-1.38.pod:196
#: ../docs/guestfs-release-notes-1.40.pod:154
#: ../docs/guestfs-release-notes-1.42.pod:146
msgid "Build changes"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:118
msgid "The following packages are required to build libguestfs 1.24:"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:122
msgid "Augeas E<ge> 1.0.0"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:126
msgid ""
"The following optional packages may be added to enhance functionality but "
"are not required:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:133
msgid "To read journal files from guests which use that."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:135
msgid "url_mkcow"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:137
msgid "For UML backend."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:141
msgid "gpg"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:145
msgid "For virt-builder."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:149
msgid "For Go language bindings."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:155
msgid ""
"New C<make check-*> rules replace C<make extra-tests>.  See C<make help> and "
"L<guestfs(3)> for details."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:158
msgid "Perl code can now be valgrinded."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:160
msgid "Inspection code is now fuzz-tested."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:162
msgid ""
"C<make> no longer recurses into the generator directory in every other "
"directory.  This reduces the overhead of builds considerably."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:165
msgid "Additional tests for Augeas, hivex."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:167
msgid ""
"Add a launch timeout of 20 minutes waiting for the appliance to start up."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:170
msgid ""
"Add a timeout (4 hours) to all tests so we can catch the case where qemu or "
"other components hang."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:173
msgid ""
"Use kvmclock and C<-cpu host>.  This improves clock stability and overall "
"performance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:176
msgid "C<./configure --enable-packet-dump> mode is fixed."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:178
msgid ""
"C<./configure --enable-valgrind-daemon> mode has been rewritten.  It is now "
"feasible for developers to keep this flag enabled at all times."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:181
msgid ""
"Backends have been refactored to be modular (although they are not actually "
"loadable modules)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:184
msgid ""
"When enabled, the network now uses resolver configuration (ie. /etc/resolv."
"conf) from the host."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:191
msgid "./bugs-in-changelog.sh 1.22.0.."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:197
msgid "L<https://bugzilla.redhat.com/1019889>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:199
msgid "libguestfs-tools.conf should have a man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:201
msgid "L<https://bugzilla.redhat.com/1018149>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:203
msgid "valgrind errors in btrfs_subvolume_list"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:205
msgid "L<https://bugzilla.redhat.com/1002032>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:207
msgid ""
"mke2fs can't return the correct filesystem type when blockscount is less "
"than 2048 for ext3"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:209
msgid "L<https://bugzilla.redhat.com/1001876>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:211
msgid "Update \"rsync-out\" helpout for using wildcard"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:213
msgid "L<https://bugzilla.redhat.com/1001875>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:215
msgid "Argument 'excludes' of tar-out does not work"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:217
msgid "L<https://bugzilla.redhat.com/1000428>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:219
msgid "virt-format uses wrong partition type for vfat filesystems"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:221
msgid "L<https://bugzilla.redhat.com/1000121>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:223
msgid "'sh' command before mount causes daemon to segfault"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:225
msgid "L<https://bugzilla.redhat.com/998513>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:227
msgid "guestfish does not work when you mix --remote and --add options"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:229
msgid "L<https://bugzilla.redhat.com/998482>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:231
msgid ""
"guestfish remote prints \"libguestfs: error: waitpid (qemu): No child "
"processes\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:233
msgid "L<https://bugzilla.redhat.com/995711>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:235
msgid "list-filesystems command fails if there are no block devices"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:237
msgid "L<https://bugzilla.redhat.com/994517>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:239
msgid ""
"cache=none/O_DIRECT workaround doesn't work for images with backing files"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:241
msgid "L<https://bugzilla.redhat.com/989356>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:243
msgid "cap-get-file will return error if the file has not be set capabilities"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:245
msgid "L<https://bugzilla.redhat.com/986877>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:247
msgid "RFE: Implement set-uuid command"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:249
msgid "L<https://bugzilla.redhat.com/986875>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:251
msgid "RFE: Implement set-label for xfs"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:253
msgid "L<https://bugzilla.redhat.com/985269>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:255
msgid "Can't set acl value for a specified user with 'acl-set-file'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:257
msgid "L<https://bugzilla.redhat.com/983218>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:259
msgid "libguestfs double free when kernel link fails during launch"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:261
msgid "L<https://bugzilla.redhat.com/981715>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:263
msgid ""
"Make xfs filesystem failed with specified blocksize, gives \"unknown option -"
"b\" error"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:265
msgid "L<https://bugzilla.redhat.com/981683>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:267
msgid "\"hivex-commit\" should fail with a relative path"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:269
msgid "L<https://bugzilla.redhat.com/981663>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:271
msgid ""
"disk-format \"qemu-img info: JSON parse error\" when target file does not "
"exist"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:273
msgid "L<https://bugzilla.redhat.com/978302>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:275
msgid ""
"mke2fs-J should give a meaningful error when specified type is anything "
"except 'ext{2,3,4}'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:277
msgid "L<https://bugzilla.redhat.com/975797>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:279
msgid ""
"Specifying virtio interface ('iface' parameter) breaks the direct backend - "
"libguestfs hangs"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:281
msgid "L<https://bugzilla.redhat.com/975753>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:283
msgid ""
"\"virt-resize --expand\" and \"virt-resize --resize\" outputs error message "
"for Win2008 32bit OS"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:285
msgid "L<https://bugzilla.redhat.com/975412>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:287
msgid "inspection: Augeas expressions are broken with augeas >= 0.10"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:289
msgid "L<https://bugzilla.redhat.com/974904>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:291
msgid "virt-resize --expand fails on Ubuntu Cloud Image"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:293
msgid "L<https://bugzilla.redhat.com/974489>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:295
msgid ""
"Regression: Fedora inspection broken by change from guestfs_exists to "
"guestfs_is_file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:297
msgid "L<https://bugzilla.redhat.com/972775>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:299
msgid ""
"txz-out command produces a bzip2-compressed file (should be xz-compressed)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:301
msgid "L<https://bugzilla.redhat.com/969845>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:303
msgid "upload to a directory occasionally hangs instead of failing"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:305
msgid "L<https://bugzilla.redhat.com/968875>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:307
msgid "virt-sysprep should support URL-type arguments"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.24.pod:309
msgid "L<https://bugzilla.redhat.com/624334>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.24.pod:311
msgid "blockdev-setbsz succeeds, but does not affect blockdev-getbsz"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.26.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.26"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.24.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:15
msgid ""
"L<virt-customize(1)> is a new tool for customizing virtual machine disk "
"images.  It lets you install packages, edit configuration files, run "
"scripts, set passwords and so on.  L<virt-builder(1)> and L<virt-sysprep(1)> "
"use virt-customize, and command line options across all these tools are now "
"identical."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:21
msgid ""
"L<virt-diff(1)> is a new tool for showing the differences between the "
"filesystems of two virtual machines.  It is mainly useful when showing what "
"files have been changed between snapshots."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:25
msgid ""
"L<virt-builder(1)> has been greatly enhanced.  There are many more ways to "
"customize the virtual machine.  It can pull templates from multiple "
"repositories.  A parallelized internal xzcat implementation speeds up "
"template decompression.  Virt-builder uses an optimizing planner to choose "
"the fastest way to build the VM.  It is now easier to use virt-builder from "
"other programs.  Internationalization support has been added to metadata.  "
"More efficient SELinux relabelling of files.  Can build guests for multiple "
"architectures.  Error messages have been improved.  (Pino Toscano)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:36
msgid ""
"L<virt-sparsify(1)> has a new I<--in-place> option.  This sparsifies an "
"image in place (without copying it) and is also much faster.  (Lots of help "
"provided by Paolo Bonzini)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:40
msgid ""
"L<virt-sysprep(1)> can delete and scrub files under user control.  You can "
"lock user accounts or set random passwords on accounts.  Can remove more log "
"files.  Can unsubscribe a guest from Red Hat Subscription Manager.  New "
"flexible way to enable and disable operations.  (Wanlong Gao, Pino Toscano)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:47
msgid ""
"L<virt-win-reg(1)> allows you to use URIs to specify remote disk images."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:50
msgid ""
"L<virt-format(1)> can now pass the extra space that it recovers back to the "
"host."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:53
msgid ""
"L<guestfish(1)> has additional environment variables to give fine control "
"over the C<E<gt>E<lt>fsE<gt>> prompt.  Guestfish reads its (rarely used) "
"configuration file in a different order now so that local settings override "
"global settings.  (Pino Toscano)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:59
msgid ""
"L<virt-make-fs(1)> was rewritten in C, but is unchanged in terms of "
"functionality and command line usage."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:64
msgid ""
"The OCaml bindings have a new C<Guestfs.Errno> module, used to check the "
"error number returned by C<Guestfs.last_errno>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:67
msgid "PHP tests now work.  (Pino Toscano)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:72
msgid "Inspection can recognize Debian live images."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.26.pod:74
#: ../docs/guestfs-release-notes-1.28.pod:77
msgid "Architectures"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:76
msgid "ARMv7 (32 bit) now supports KVM acceleration."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:78
msgid ""
"Aarch64 (ARM 64 bit) is supported, but the appliance part does not work yet."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:81
msgid "PPC64 support has been fixed and enhanced."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.26.pod:87 ../docs/guestfs-security.pod:252
msgid ""
"Denial of service when inspecting disk images with corrupt btrfs volumes"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:89 ../docs/guestfs-security.pod:254
msgid ""
"It was possible to crash libguestfs (and programs that use libguestfs as a "
"library) by presenting a disk image containing a corrupt btrfs volume."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:93 ../docs/guestfs-security.pod:258
msgid ""
"This was caused by a NULL pointer dereference causing a denial of service, "
"and is not thought to be exploitable any further."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:96 ../docs/guestfs-security.pod:261
msgid ""
"See commit d70ceb4cbea165c960710576efac5a5716055486 for the fix.  This fix "
"is included in libguestfs stable branches S<E<ge> 1.26.0>, S<E<ge> 1.24.6> "
"and S<E<ge> 1.22.8>, and also in RHEL S<E<ge> 7.0>.  Earlier versions of "
"libguestfs are not vulnerable."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:101
msgid "Better generation of random root passwords and random seeds"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:103
msgid ""
"When generating random root passwords and random seeds, two bugs were fixed "
"which are possibly security related.  Firstly we no longer read excessive "
"bytes from F</dev/urandom> (most of which were just thrown away).  Secondly "
"we changed the code to avoid modulo bias.  These issues were not thought to "
"be exploitable.  (Both changes suggested by Edwin Török)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:114
msgid ""
"GUID parameters are now validated when they are passed to API calls, whereas "
"previously you could have passed any string.  (Pino Toscano)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:122
msgid "C<guestfs_add_drive_opts>: new C<discard> parameter"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:124
msgid ""
"The new C<discard> parameter allows fine-grained control over discard/trim "
"support for a particular disk.  This allows the host file to become more "
"sparse (or thin-provisioned) when you delete files or issue the "
"C<guestfs_fstrim> API call."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:129
msgid "C<guestfs_add_domain>: new parameters: C<cachemode>, C<discard>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:131
msgid "These parameters are passed through when adding the domain's disks."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:133
msgid "C<guestfs_blkdiscard>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:135
msgid ""
"Discard all blocks on a guestfs device.  Combined with the C<discard> "
"parameter above, this makes the host file sparse."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:138
msgid "C<guestfs_blkdiscardzeroes>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:140
msgid "Test if discarded blocks read back as zeroes."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:142
msgid "C<guestfs_compare_*>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:144
msgid "C<guestfs_copy_*>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:146
msgid ""
"For each struct returned through the API, libguestfs now generates "
"C<guestfs_compare_*> and C<guestfs_copy_*> functions to allow you to compare "
"and copy structs."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:150
msgid "C<guestfs_copy_attributes>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:152
msgid ""
"Copy attributes (like permissions, xattrs, ownership) from one file to "
"another.  (Pino Toscano)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:156
msgid "C<guestfs_disk_create>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:158
msgid ""
"A flexible API for creating empty disk images from scratch.  This avoids the "
"need to call out to external programs like L<qemu-img(1)>."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:161
msgid "C<guestfs_get_backend_settings>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:163
msgid "C<guestfs_set_backend_settings>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:165
msgid ""
"Per-backend settings (can also be set via the environment variable "
"C<LIBGUESTFS_BACKEND_SETTINGS>).  The main use for this is forcing TCG mode "
"in the qemu-based backends, for example:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-release-notes-1.26.pod:169
#, no-wrap
msgid ""
" export LIBGUESTFS_BACKEND=direct\n"
" export LIBGUESTFS_BACKEND_SETTINGS=force_tcg\n"
"\n"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:172
msgid "C<guestfs_part_get_name>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:174
msgid "Get the label or name of a partition (for GPT disk images)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:180
msgid "The following extra packages are required to build libguestfs 1.26:"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:184
msgid "supermin E<ge> 5"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:186
msgid "Supermin version 5 is required to build this version of libguestfs."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:188
msgid "flex, bison"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:190
msgid ""
"Virt-builder now uses a real parser to parse its metadata file, so these "
"tools are required."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:195
msgid ""
"This is now a required build dependency, where previously it was (in theory) "
"optional."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:202
msgid "PO message extraction rewritten to be more robust.  (Pino Toscano)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:205
msgid ""
"C<podwrapper> gives an error if the I<--insert> or I<--verbatim> argument "
"pattern is not found."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:208
msgid ""
"Libguestfs now passes the qemu I<-enable-fips> option to enable FIPS, if "
"qemu supports it."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:211
msgid ""
"C<./configure --without-qemu> can be used if you don't want to specify a "
"default hypervisor."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:214
msgid ""
"Copy-on-write [COW] overlays, used for example for read-only drives, are now "
"created through an internal backend API (C<.create_cow_overlay>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:217
msgid ""
"Libvirt backend uses some funky C macros to generate XML.  These are simpler "
"and safer."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:220
msgid ""
"The ChangeLog file format has changed.  It is now just the same as C<git "
"log>, instead of using a custom format."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:223
msgid "Appliance start-up has changed:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:229
msgid ""
"The libguestfs appliance now initializes LVM the same way as it is done on "
"physical machines."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:234
msgid ""
"The libguestfs appliance does not write an empty string to F</proc/sys/"
"kernel/hotplug> when starting up."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:237
msgid ""
"Note that you B<must> configure your kernel to have "
"C<CONFIG_UEVENT_HELPER_PATH=\"\"> otherwise you will get strange LVM errors "
"(this applies as much to any Linux machine, not just libguestfs).  (Peter "
"Rajnoha)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:245
msgid ""
"Libguestfs can now be built on arches that have L<ocamlc(1)> but not "
"L<ocamlopt(1)>.  (Hilko Bengen, Olaf Hering)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:249
msgid ""
"You cannot use C<./configure --disable-daemon --enable-appliance>.  It made "
"no sense anyway.  Now it is expressly forbidden by the configure script."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:253
msgid "The packagelist file uses C<m4> for macro expansion instead of C<cpp>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:259
msgid "./bugs-in-changelog.sh 1.24.0.."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:265
msgid "L<https://bugzilla.redhat.com/1073906>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:267
msgid ""
"java bindings inspect_list_applications2 throws java.lang."
"ArrayIndexOutOfBoundsException:"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:269
msgid "L<https://bugzilla.redhat.com/1063374>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:271
msgid ""
"[RFE] enable subscription manager clean or unregister operation to sysprep"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:273
msgid "L<https://bugzilla.redhat.com/1060404>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:275
msgid "virt-resize does not preserve GPT partition names"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:277
msgid "L<https://bugzilla.redhat.com/1057504>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:279
msgid "mount-local should give a clearer error if root is not mounted"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:281
#: ../docs/guestfs-release-notes-1.28.pod:488
msgid "L<https://bugzilla.redhat.com/1056290>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:283
#: ../docs/guestfs-release-notes-1.28.pod:402
#: ../docs/guestfs-release-notes-1.28.pod:490
msgid "virt-sparsify overwrites block devices if used as output files"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:285
msgid "L<https://bugzilla.redhat.com/1055452>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:287
msgid "libguestfs: error: invalid backend: appliance"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:289
msgid "L<https://bugzilla.redhat.com/1054761>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:291
msgid "guestfs_pvs prints \"unknown device\" if a physical volume is missing"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:293
msgid "L<https://bugzilla.redhat.com/1053847>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:295
msgid "Recommended default clock/timer settings"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:297
msgid "L<https://bugzilla.redhat.com/1046509>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:299
msgid ""
"ruby-libguestfs throws \"expecting 0 or 1 arguments\" on Guestfs::Guestfs.new"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:301
msgid "L<https://bugzilla.redhat.com/1045450>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:303
msgid "Cannot inspect cirros 0.3.1 disk image fully"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:305
msgid "L<https://bugzilla.redhat.com/1045033>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:307
msgid "LIBVIRT_DEFAULT_URI=qemu:///system breaks libguestfs"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:309
msgid "L<https://bugzilla.redhat.com/1044585>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:311
msgid ""
"virt-builder network (eg. --install) doesn't work if resolv.conf sets "
"nameserver 127.0.0.1"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:313
msgid "L<https://bugzilla.redhat.com/1044014>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:315
msgid ""
"When SSSD is installed, libvirt configuration requires authentication, but "
"not clear to user"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:317
msgid "L<https://bugzilla.redhat.com/1039995>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:319
msgid ""
"virt-make-fs fails making fat/vfat whole disk: Device partition expected, "
"not making filesystem on entire device '/dev/sda' (use -I to override)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:321
msgid "L<https://bugzilla.redhat.com/1039540>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:323
msgid "virt-sysprep to delete more logfiles"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:325
msgid "L<https://bugzilla.redhat.com/1033207>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:327
msgid "RFE: libguestfs inspection does not recognize Free4NAS live CD"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:329
msgid "L<https://bugzilla.redhat.com/1028660>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:331
msgid ""
"RFE: virt-sysprep/virt-builder should have an option to lock a user account"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:333
msgid "L<https://bugzilla.redhat.com/1026688>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:335
msgid ""
"libguestfs fails examining libvirt guest with ceph drives: rbd: image name "
"must begin with a '/'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:337
msgid "L<https://bugzilla.redhat.com/1022431>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:339
msgid "virt-builder fails if $HOME/.cache doesn't exist"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:341
msgid "L<https://bugzilla.redhat.com/1022184>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:343
msgid "libguestfs: do not use versioned jar file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:345
msgid "L<https://bugzilla.redhat.com/1020806>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:347
msgid "All libguestfs LVM operations fail on Debian/Ubuntu"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:349
msgid "L<https://bugzilla.redhat.com/1008417>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:351
msgid "Need update helpout of part-set-gpt-type"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:353
msgid "L<https://bugzilla.redhat.com/953907>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:355
msgid "virt-sysprep does not correctly set the hostname on Debian/Ubuntu"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:357
msgid "L<https://bugzilla.redhat.com/923355>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:359
msgid "guestfish prints literal \"\\n\" in error messages"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:361
msgid "L<https://bugzilla.redhat.com/660687>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:363
msgid ""
"guestmount: \"touch\" command fails: touch: setting times of `timestamp': "
"Invalid argument"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:365
msgid "L<https://bugzilla.redhat.com/593511>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:367
msgid "[RFE] function to get partition name"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.26.pod:369
msgid "L<https://bugzilla.redhat.com/563450>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.26.pod:371
msgid "list-devices returns devices of different types out of order"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.28.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.28"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.26.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:15
msgid ""
"L<virt-v2v(1)> and L<virt-p2v(1)> are tools for converting from foreign "
"hypervisors (such as VMware or Xen) or physical machines, to KVM.  These "
"tools were previously a separate project.  The code for both tools has been "
"integrated into the libguestfs tree.  As part of the refactoring, virt-p2v "
"has been rewritten (from Ruby, now C), and virt-v2v now uses several modern "
"features of qemu which make it run many times faster than before.  L<virt-"
"v2v(1)> can import from: VMware vCenter, VMware OVA files, local disk files, "
"libvirt, RHEL 5 Xen.  It can output to: oVirt or Red Hat Enterprise "
"Virtualization (RHEV-M), OpenStack Glance, libvirt, qemu, local disk files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:26
msgid ""
"L<virt-log(1)> is a new tool for listing log files from guests.  It supports "
"a variety of guests including Linux traditional, Linux using journal, and "
"Windows event log."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:30
msgid ""
"L<virt-builder(1)> has a new C<--machine-readable> option to make it simpler "
"to consume virt-builder from other programs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:33
msgid "New L<virt-builder(1)> and L<virt-customize(1)> I<--chmod> option."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:35
msgid ""
"L<virt-sysprep(1)> will now remove: systemd journals, anaconda logs, lightdm "
"logs, debian-installer files, apt logs, exim logs, ConsoleKit logs, "
"firewalld logs, grubby logs, proftpd logs, libvirt/libxml logs, and several "
"other log files.  The virt-sysprep C<user-account> operation is now able to "
"remove or keep particular user accounts.  (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:42
msgid ""
"New L<guestmount(1)> I<--fd> option, allowing you to run guestmount captive "
"under another process."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:45
msgid ""
"L<virt-sparsify(1)> has a new I<--tmp> option allowing you to precisely "
"control where temporary files are stored."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:48
msgid "L<virt-sparsify(1)> can now write to a block device."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:50
msgid ""
"L<virt-customize(1)> and L<virt-sysprep(1)> now support adding firstboot "
"scripts to Windows guests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:53
msgid ""
"L<virt-cat(1)>, L<virt-edit(1)>, L<virt-ls(1)> now support the I<-m> option, "
"allowing you to override automatic inspection of guests and instead specify "
"where to mount partitions (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:57
msgid ""
"The virt tools now have coloured output: green for OK, red for errors, blue "
"for warnings."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:62
msgid "You can build a Python distribution using C<make -C python sdist>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:64
msgid "Ruby bindings have switched from C<Test::Unit> to C<MiniTest>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:66
msgid "The Java bindings are now compatible with OpenJDK 8 (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:70
msgid "Oracle Linux is returned as C<oraclelinux> (Nikos Skalkotos)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:72
msgid ""
"Linux guests which do not have F</etc/fstab> can now be handled (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:75
msgid "Minix is returned as C<minix> (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:79
msgid "Aarch64 (64 bit ARM) support has been added."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:81
msgid ""
"Inspection and the C<guestfs_file_architecture> call can now recognize arm "
"(32 bit) and aarch64 guests."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:88
msgid "CVE-2014-0191 Network usage and entity resolution in XML parsing"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:90 ../docs/guestfs-security.pod:268
msgid ""
"Libguestfs previously used unsafe libxml2 APIs for parsing libvirt XML.  "
"These APIs defaulted to allowing network connections to be made when certain "
"XML documents were presented.  Using a malformed XML document it was also "
"possible to exhaust all CPU, memory or file descriptors on the machine."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:96 ../docs/guestfs-security.pod:274
msgid ""
"Since the libvirt XML comes from a trusted source (the libvirt daemon)  it "
"is not thought that this could have been exploitable."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:99
msgid ""
"This was fixed in libguestfs E<ge> 1.27.9 and the fix was backported to "
"stable versions E<ge> 1.26.2, E<ge> 1.24.9, E<ge> 1.22.10 and E<ge> "
"1.20.13.  (Thanks: Dan Berrange, Pino Toscano)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.28.pod:103 ../docs/guestfs-security.pod:281
msgid "Shellshock (bash CVE-2014-6271)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:105 ../docs/guestfs-security.pod:283
msgid ""
"This bash bug indirectly affects libguestfs.  For more information see: "
"L<https://www.redhat.com/archives/libguestfs/2014-September/msg00252.html>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:117
msgid "C<guestfs_clear_backend_setting>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:119
msgid "C<guestfs_get_backend_setting>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:121
msgid "C<guestfs_set_backend_setting>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:123
msgid "Use these APIs to set individual backend settings."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:125
msgid "C<guestfs_cpio_out>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:127
msgid "Convert a directory within the disk image to cpio format."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:129
msgid "C<guestfs_journal_get_realtime_usec>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:131
msgid "Fetch precise journal times, see L<sd_journal_get_realtime_usec(3)>."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:133
msgid "C<guestfs_lstatns>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:135
msgid "C<guestfs_lstatnslist>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:137
msgid "C<guestfs_statns>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:139
msgid ""
"Enhanced versions of C<guestfs_lstat>, C<guestfs_lstatlist>, C<guestfs_stat> "
"which return nanosecond timestamps."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:146
msgid "Libguestfs can now be built with qemu 2.x."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:148
msgid ""
"Add support for packaging the appliance on Mageia (Joseph Wang, Thierry "
"Vignaud)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:151
msgid "Augeas is now a required dependency."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:153
msgid "Flex and bison are now required dependencies."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:157
msgid ""
"User-Mode Linux (UML) is no longer a supported backend (although still "
"available).  It will be supported again once someone steps in and fixes "
"various regressions and brokenness in the UML (Linux) kernel."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:161
msgid ""
"You can now connect gdb to qemu by specifying "
"C<LIBGUESTFS_BACKEND_SETTINGS=gdb>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:164
msgid ""
"Serial BIOS (sgabios) is now used by the libvirt backend (on x86 only)  so "
"that we see early BIOS messages."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:167
msgid ""
"For the OCaml virt tools, exceptions are now handled and printed by a common "
"function."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:170
msgid ""
"A GCC warning about large stack frames is now enabled by default.  Several "
"places that used large arrays and structures on the stack have been fixed."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:174
msgid ""
"There is now a test for booting the appliance repeatedly.  Useful for "
"finding kernel leaks.  See: F<tests/qemu/qemu-boot.c>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:177
msgid ""
"There is a test for testing the speed of various qemu features such as "
"virtio-serial uploads and block device writes.  See: F<tests/qemu/qemu-speed-"
"test.c>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:181
msgid ""
"GCC warnings are now enabled for OCaml-C bindings in the OCaml virt tools."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:184
msgid ""
"The code for editing files used by L<virt-edit(1)>, L<guestfish(1)> C<edit> "
"command, L<virt-customize(1)> I<--edit> option and more is now shared "
"between all these utilities (thanks Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:188
msgid ""
"The FUSE tests were rewritten in C to ensure finer control over how system "
"calls are tested."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:191
msgid ""
"The F<update-bugs.sh> script has been fixed so it should no longer create an "
"empty C<BUGS> file if the Bugzilla server is unavailable."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:194
msgid ""
"The L<virt-resize(1)> tests now use a stochastic method to ensure much "
"deeper and broader testing."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:197
msgid ""
"When the network is enabled, the appliance now uses DHCP to acquire an IP "
"address."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:200
msgid ""
"If libvirt is being used then the appliance will connect to C<virbr0> (can "
"be overridden by setting "
"C<LIBGUESTFS_BACKEND_SETTINGS=network_bridge=E<lt>some_bridgeE<gt>>).  This "
"enables full-featured network connections, with working ICMP, ping and so on."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:210
msgid "./bugs-in-changelog.sh 1.26.0.."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:216
msgid "L<https://bugzilla.redhat.com/1153515>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:218
msgid ""
"empty (but set) LIBGUESTFS_BACKEND prints libguestfs: error: invalid backend:"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:220
msgid "L<https://bugzilla.redhat.com/1151766>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:222
msgid ""
"libguestfs-bash-completion package contains file /usr/share/bash-completion/"
"completions/virt-log, but no _virt_log() function in that file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:224
msgid "L<https://bugzilla.redhat.com/1151738>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:226
msgid "typo error in man page of virt-edit"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:228
#: ../docs/guestfs-release-notes-1.30.pod:768
msgid "L<https://bugzilla.redhat.com/1151033>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:230
#: ../docs/guestfs-release-notes-1.30.pod:770
msgid "virt-v2v conversions from VMware vCenter server run slowly"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:232
msgid "L<https://bugzilla.redhat.com/1150880>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:234
msgid ""
"virt-v2v: warning: display <graphics type='sdl'> was ignored when converting "
"rhel5 guest with sdl graphics"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:236
msgid "L<https://bugzilla.redhat.com/1150867>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:238
msgid ""
"'copy-file-to-file /src /dest' create file /dest even if command 'copy-file-"
"to-file /src /dest' failed"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:240
msgid "L<https://bugzilla.redhat.com/1150815>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:242
msgid "Can not find \"RECURSIVE LONG LISTING\" in 'man virt-diff'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:244
msgid "L<https://bugzilla.redhat.com/1150701>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:246
msgid "virt-v2v does not fstrim data disks and non-mounted filesystems"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:248
msgid "L<https://bugzilla.redhat.com/1150475>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:250
msgid "Exporting 2+ disk guest to RHEV, only one disk shows after import"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:252
msgid "L<https://bugzilla.redhat.com/1148355>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:254
msgid ""
"virt-filesystems: incorrect LVM vg name when listing Fedora 21 Alpha Atomic "
"image filesystems"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:256
msgid "L<https://bugzilla.redhat.com/1148072>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:258
msgid "Option missing --no-selinux-relabel"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:260
#: ../docs/guestfs-release-notes-1.40.pod:382
msgid "L<https://bugzilla.redhat.com/1148012>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:262
msgid ""
"RFE: Allow qemu-bridge-helper to be used to implement guestfs_set_network"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:264
msgid "L<https://bugzilla.redhat.com/1146815>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:266
msgid ""
"virt-v2v prints warning: /files/etc/fstab/8/spec references unknown device "
"\"cdrom\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:268
msgid "L<https://bugzilla.redhat.com/1146275>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:270
msgid "regression setting root password with virt-builder/virt-customize"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:272
msgid "L<https://bugzilla.redhat.com/1146017>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:274
msgid ""
"virt-v2v -v -x during windows guest conversion will hang at hivex: "
"hivex_open: used block id ……"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:276
msgid "L<https://bugzilla.redhat.com/1145995>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:278
msgid ""
"Improve the error info when converting windows guest with unclean file system"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:280
msgid "L<https://bugzilla.redhat.com/1145916>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:282
msgid "virt-v2v fails to convert win7 guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:284
msgid "L<https://bugzilla.redhat.com/1144891>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:286
msgid "RFE: stat calls do not return nanosecond timestamps"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:288
msgid "L<https://bugzilla.redhat.com/1144766>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:290
msgid "futimens() is a no-op via guestmount"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:292
msgid "L<https://bugzilla.redhat.com/1144201>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:294
msgid ""
"guestfish can not restore terminal's output colour when exit guestfish, if "
"the terminal's background colour is black then it will make a inconvenient"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:296
msgid "L<https://bugzilla.redhat.com/1143949>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:298
msgid "virt-customize option '--password-crypto' do not work"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:300
msgid "L<https://bugzilla.redhat.com/1143887>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:302
msgid ""
"Warning shows when converting guests to rhev:chown: changing ownership of ‘/"
"tmp/v2v.u48xag/*.ovf’: Invalid argument"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:304
msgid "L<https://bugzilla.redhat.com/1143883>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:306
msgid ""
"warning shows when converting rhel7 guest:virt-v2v:could not update grub2 "
"console: aug_get: no matching node (ignored)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:308
msgid "L<https://bugzilla.redhat.com/1143866>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:310
msgid "virt-v2v fails with error: cannot open Packages index using db5"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:312
msgid "L<https://bugzilla.redhat.com/1142416>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:314
msgid ""
"part-get-name give 'libguestfs: error: part_get_name: parted does not "
"support the machine output (-m)' error message when run 'part-get-name /dev/"
"sda 1'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:316
msgid "L<https://bugzilla.redhat.com/1142186>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:318
msgid "virt-sysprep option '--mount-options' don't work well"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:320
msgid "L<https://bugzilla.redhat.com/1142158>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:322
msgid ""
"Illegal command 'part-get-name /dev/sda1 1' cause libguestfs appliance "
"crashed"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:324
msgid "L<https://bugzilla.redhat.com/1142004>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:326
msgid ""
"virt-v2v prints warning:WARNING:/files/boot/grub/device.map references "
"unknown device \"xvda\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:328
msgid "L<https://bugzilla.redhat.com/1141723>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:330
msgid ""
"virt-v2v: error: disk sda has no defined format shows when converting xen "
"hvm guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:332
msgid "L<https://bugzilla.redhat.com/1141680>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:334
msgid ""
"[RFE] virt-v2 should support convert a domain with using domain's UUID "
"instead of domain name"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:336
#: ../docs/guestfs-release-notes-1.36.pod:526
msgid "L<https://bugzilla.redhat.com/1141631>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:338
msgid ""
"[RFE] virt-v2 should support convert a guest to a dir-pool with using pool's "
"uuid"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:340
msgid "L<https://bugzilla.redhat.com/1141157>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:342
msgid "virt-sysprep option '--user-accounts' don't work well"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:344
msgid "L<https://bugzilla.redhat.com/1141145>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:346
msgid "virt-v2v fails to convert xen pv guests."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:348
msgid "L<https://bugzilla.redhat.com/1141113>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:350
msgid "virt-v2v fails to convert esx guests"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:352
msgid "L<https://bugzilla.redhat.com/1140946>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:354
msgid "qemu-img shows error message for backing file twice"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:356
msgid "L<https://bugzilla.redhat.com/1140894>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:358
msgid ""
"No error messages output if append '--format qcow2' after '-a guest.img', "
"guest.img is a raw format image file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:360
msgid "L<https://bugzilla.redhat.com/1140547>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:362
msgid "virt-builder option '--format' don't work well"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:364
msgid "L<https://bugzilla.redhat.com/1140156>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:366
msgid "RFE: Export to RHEV data domain"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:368
msgid "L<https://bugzilla.redhat.com/1140050>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:370
msgid "No error shows when multiple conflicting options used with virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:372
msgid "L<https://bugzilla.redhat.com/1139973>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:374
msgid ""
"Improve the error info when converting xen guest with no passwordless SSH "
"access configured"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:376
msgid "L<https://bugzilla.redhat.com/1139543>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:378
msgid "Improve the error info when converting guest with no space left"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:380
msgid "L<https://bugzilla.redhat.com/1138586>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:382
msgid "No error shows when converting running guest with virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:384
msgid "L<https://bugzilla.redhat.com/1138184>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:386
msgid ""
"virt-v2v will fail when converting guests with initramfs-*kdump.img under /"
"boot"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:388
msgid "L<https://bugzilla.redhat.com/1138182>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:390
msgid "xen guest will be kernel panic after converted by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:392
msgid "L<https://bugzilla.redhat.com/1130189>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:394
msgid "Annoying message about permissions of /dev/kvm"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:396
msgid "L<https://bugzilla.redhat.com/1123007>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:398
msgid ""
"libguestfs 'direct' backend should close file descriptors before exec-ing "
"qemu to avoid leaking !O_CLOEXEC fds"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:400
msgid "L<https://bugzilla.redhat.com/1122557>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:404
msgid "L<https://bugzilla.redhat.com/1113156>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:406
msgid "Empty fstab breaks libguestfs inspection"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:408
msgid "L<https://bugzilla.redhat.com/1111662>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:410
msgid ""
"Guestfs.Error(\"vgchange_uuid_all: Volume group has active logical volumes\")"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:412
msgid "L<https://bugzilla.redhat.com/1109174>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:414
msgid "virt-win-reg manual page is corrupted"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:416
msgid "L<https://bugzilla.redhat.com/1106548>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:418
msgid ""
"root gets an error accessing to a non-root dir on a snapshot guestmount VMDK "
"img"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:420
msgid "L<https://bugzilla.redhat.com/1103877>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:422
msgid "These APIs also need to add to `guestfish -h` command list"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:424
msgid "L<https://bugzilla.redhat.com/1102448>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:426
msgid "mageia package list is incorrect"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:428
msgid "L<https://bugzilla.redhat.com/1102447>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:430
msgid "libguestfs 1.27.13 does not build due to libxml library order"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:432
msgid "L<https://bugzilla.redhat.com/1100498>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:434
msgid "RFE: non-polling mechanism to detect guestmount --no-fork readiness"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:436
msgid "L<https://bugzilla.redhat.com/1099490>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:438
msgid "scrub-file can't handle link file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:440
msgid "L<https://bugzilla.redhat.com/1099284>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:442
#: ../docs/guestfs-release-notes-1.30.pod:702
msgid "typo errors in man pages"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:444
msgid "L<https://bugzilla.redhat.com/1098718>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:446
msgid "RFE: virt-builder aliases"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:448
msgid "L<https://bugzilla.redhat.com/1096465>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:450
msgid ""
"virt-builder \"proxy=off\" setting doesn't turn off the proxy for downloads"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:452
msgid "L<https://bugzilla.redhat.com/1094746>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:454
msgid ""
"virt-sparsify man failes to mention what happens to snapshots within a qcow2 "
"image (they are discarded)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:456
msgid "L<https://bugzilla.redhat.com/1092753>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:458
msgid ""
"virt-builder: If several repos contain the same os-version images, then they "
"are duplicated in -l output"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:460
msgid "L<https://bugzilla.redhat.com/1091803>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:462
msgid "tar-in-opts execute failed that cause libguestfs appliance crashed"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:464
msgid "L<https://bugzilla.redhat.com/1088424>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:466
msgid ""
"virt-resize: libguestfs error: part_set_name: parted: /dev/sdb: Error during "
"translation: Invalid or incomplete multibyte or wide character"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:468
msgid "L<https://bugzilla.redhat.com/1088262>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:470
msgid "virt-builder cannot write to a block device"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:472
msgid "L<https://bugzilla.redhat.com/1085029>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:474
msgid "Ruby tests fail with latest Ruby"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:476
msgid "L<https://bugzilla.redhat.com/1079210>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:478
msgid "virt-sparsify --in-place cannot sparsify as much as it should"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:480
msgid "L<https://bugzilla.redhat.com/1079182>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:482
msgid ""
"virt-df cannot report used disk space of windows guest when updated to 6.5"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:484
msgid "L<https://bugzilla.redhat.com/1077817>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:486
msgid "virt-builder error: \"syntax error at line 3: syntax error\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.28.pod:492
msgid "L<https://bugzilla.redhat.com/812970>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.28.pod:494
msgid "virt-rescue cannot set E<ge>E<lt>rescueE<gt> prompt, on Ubuntu 12.04"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.30.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.30"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.28.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.30.pod:13
#: ../docs/guestfs-release-notes-1.32.pod:13
#: ../docs/guestfs-release-notes-1.34.pod:27
#: ../docs/guestfs-release-notes-1.36.pod:13
#: ../docs/guestfs-release-notes-1.38.pod:13
msgid "New tools"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:15
msgid ""
"L<virt-dib(1)> is a secure and safe alternative to the OpenStack \"diskimage-"
"builder\" tool.  It is compatible with diskimage-builder elements.  (Pino "
"Toscano)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:19
msgid ""
"L<virt-get-kernel(1)> extracts the kernel and ramdisk from a disk image.  "
"Previously this functionality was part of L<virt-builder(1)>, but the new "
"tool is more featureful.  (Pino Toscano)"
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.30.pod:23
#: ../docs/guestfs-release-notes-1.32.pod:19
#: ../docs/guestfs-release-notes-1.34.pod:32
#: ../docs/guestfs-release-notes-1.36.pod:18
#: ../docs/guestfs-release-notes-1.38.pod:21
#: ../docs/guestfs-release-notes-1.40.pod:13
#: ../docs/guestfs-release-notes-1.42.pod:46
msgid "New features in existing tools"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:25
msgid ""
"L<virt-v2v(1)> I<-i ova> mode can now read a wider range of OVA files, and "
"also unpacked files (directories)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:28
msgid ""
"virt-v2v now securely passes options to curl, so passwords, cookies and so "
"on cannot be seen by users with shell access on the same machine."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:32
msgid ""
"virt-v2v has a new I<--password-file> option to allow you to securely pass "
"in a password, and to avoid an interactive prompt."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:35
msgid ""
"virt-v2v disables Windows autoreboot, making debugging conversion failures "
"on Windows easier."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:38
msgid ""
"virt-v2v now comes with an extensive external test suite.  See L<virt-v2v-"
"test-harness(1)>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:41
msgid ""
"virt-v2v allows virtio drivers to come from any location (Roman Kagan), and "
"drivers can be read directly from the virtio ISO."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:44
msgid ""
"virt-v2v supports conversion of Windows E<ge> 8.  Note this is experimental, "
"and possibly broken.  Use with caution."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:47
msgid "virt-v2v can now convert UEFI guests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:49
msgid "L<virt-p2v(1)> adds a network configuration dialog."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:51
msgid ""
"virt-p2v now has C<p2v.pre>, C<p2v.post> and C<p2v.fail> triggers, allowing "
"arbitrary scripts for preparing the host for conversion and tidying up post-"
"conversion."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:55
msgid ""
"virt-p2v now uses the more advanced metacity window manager (instead of "
"matchbox)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:58
msgid ""
"L<virt-sysprep(1)> will remove C</var/spool/mail/username> for non-root "
"accounts (Hu Tao)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:61
msgid ""
"L<virt-customize(1)>, L<virt-builder(1)> and virt-sysprep have the following "
"new options:"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:66
msgid "I<--commands-from-file>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:68
msgid ""
"allow long lists of commands to be read from a file instead of from the "
"command line (Pino Toscano)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:71
msgid "I<--copy>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:73
msgid "copy files inside the guest (Maros Zatko)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:75
msgid "I<--copy-in>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:77
msgid "copy host files recursively into the guest (Pino Toscano)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:79
msgid "I<--move>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:81
msgid "move files inside the guest (Maros Zatko)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:83
msgid "I<--ssh-inject>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:85
msgid "inject SSH keys into a guest (Pino Toscano)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:87
msgid "I<--sm-attach>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:89
msgid "I<--sm-credentials>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:91
msgid "I<--sm-register>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:93
msgid "I<--sm-remove>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:95
msgid "I<--sm-unregister>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:97
msgid ""
"register and unregister a guest from subscription-manager (Pino Toscano)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:100
msgid "I<--touch>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:102
msgid "touch a file in the guest (Pino Toscano)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:104
msgid "I<--truncate>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:106
msgid "I<--truncate-recursive>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:108
msgid "truncate files (Maros Zatko)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:112
msgid ""
"Improvements to virt-customize firstboot support.  In particular, Windows "
"firstboot should work as well as Linux (Roman Kagan)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:115
msgid ""
"L<virt-df(1)> can now use PolicyKit, SASL and other authentication methods "
"when getting the list of domains from libvirt."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:118
msgid "Improvements to guestfish bash completion (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:120
msgid ""
"Bash completion now completes short options as well as long options (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:123
msgid ""
"L<guestfish(1)> now displays a command synopsis if the number of parameters "
"given to a command is wrong (Hu Tao)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:126
msgid ""
"virt-builder now supports Red Hat Enterprise Linux versions back to RHEL 3."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:128
msgid "virt-builder supports SUSE guests using zypper (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:132
msgid ""
"The Java bindings now include validated Javadoc, and other improvements "
"(Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:135
msgid "Multiple fixes and improvements to the PHP bindings (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:139
msgid "Inspection can now get icons from RHEL 7 and CentOS 7."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:141
msgid "F</etc/favicon.png> is now allowed to be a symbolic link."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:143
msgid "For RPM-based guests, inspection now returns RPM Epoch fields."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:145
msgid ""
"Debian packages now have separate Epoch and Version fields (Nikos Skalkotos)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:148
msgid ""
"OpenBSD detection added, FreeBSD and NetBSD added as separate \"distros\", "
"and other BSD inspection improvements and bug fixes (Nikos Skalkotos)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:152
msgid "CoreOS detection added (Nikos Skalkotos)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:154
msgid "The package manager in Fedora E<ge> 22 is C<dnf>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:156
msgid "ReactOS guests can be inspected (Maros Zatko)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:158
msgid "Add support for UEFI guests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:160
msgid ""
"Inspection now works when kernel modules are gzip or xz compressed (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:163
msgid "Inspection now recognizes ppc64 and ppc64le guests (Maros Zatko)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:165
msgid ""
"Inspection lists the installed applications on Archlinux guests (Nikos "
"Skalkotos)."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.30.pod:168
#: ../docs/guestfs-release-notes-1.32.pod:108
#: ../docs/guestfs-release-notes-1.34.pod:205
#: ../docs/guestfs-release-notes-1.36.pod:149
#: ../docs/guestfs-release-notes-1.38.pod:131
#: ../docs/guestfs-release-notes-1.40.pod:106
#: ../docs/guestfs-release-notes-1.42.pod:101
msgid "Architectures and platforms"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:170
msgid ""
"PPC64 (POWER7) and PPC64LE (POWER8) architectures are now much better "
"supported, and should work out of the box."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:173
msgid ""
"For aarch64, we use AAVMF (an open source UEFI implementation based on OVMF) "
"if available to run the appliance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:176
msgid "For armv7, we now use the I<-M virt> machine type by default."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:178
msgid ""
"There is better support for compiling on non-Linux platforms (Pino Toscano, "
"Margaret Lewicka)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:181
msgid ""
"Libguestfs should now work on MIPS 32 bit little endian (\"mipsel\").  I "
"have not been able to try 64 bit or big endian."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.30.pod:188 ../docs/guestfs-security.pod:287
msgid "CVE-2014-8484"
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.30.pod:190 ../docs/guestfs-security.pod:289
msgid "CVE-2014-8485"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:192
msgid ""
"Libguestfs previously ran the L<strings(1)> utility on untrusted files.  "
"Strings could parse BFD headers in an unsafe way, leading to possible "
"arbitrary code execution.  Libguestfs now runs strings with a flag to ensure "
"it does not try to parse BFD headers.  This could have led to exploitation "
"of the libguestfs appliance, but since libguestfs further constrains the "
"appliance through virtualization, SELinux and other techniques, it was "
"unlikely to have caused any privilege escalation on the host."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:201
msgid "XPath injection in virt-v2v"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:203
msgid ""
"One possible XPath injection vulnerability was fixed in virt-v2v.  This "
"might have allowed a malicious guest which was being converted by virt-v2v "
"to construct an arbitrary XPath expression which would have been evaluated "
"on the host (by the libxml2 library linked to the virt-v2v binary).  It is "
"not clear what the effects of this might be."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:209
msgid ""
"For further information, see upstream commit L<https://github.com/libguestfs/"
"libguestfs/commit/6c6ce85f94c36803fe2db35a98db436bff0c14b0>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:212
msgid "Denial of service problems when using C<qemu-img info>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:214
msgid ""
"When using the American Fuzzy Lop fuzzer (C<afl-fuzz>) on the C<qemu-img "
"info> command, Richard W.M. Jones found that certain files can cause the "
"C<qemu-img> program to use lots of memory and time (for example 6GB of heap "
"and 14 seconds of CPU time on a fast Intel processor), and in some cases to "
"crash.  Since libguestfs may run C<qemu-img info> on disk images to find out "
"what they contain, this transitively could cause libguestfs to hang or "
"consume lots of memory."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:222
msgid ""
"Libguestfs was modified so that it uses resource limits to limit the space "
"and time used by C<qemu-img info>, to avoid this problem.  If a malicious "
"user tries to pass one of these disk images to libguestfs, C<qemu-img> will "
"crash and the crash is reported back to libguestfs callers as an error "
"message."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:239
msgid "C<guestfs_add_libvirt_dom>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:241
msgid ""
"This exposes a previously private API that allows you to pass a "
"C<virDomainPtr> object directly from libvirt to libguestfs."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:244
msgid "C<guestfs_blockdev_setra>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:246
msgid ""
"Adjust readahead parameter for devices.  See C<blockdev --setra> command."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:249
msgid "C<guestfs_btrfs_balance>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:251
msgid "C<guestfs_btrfs_balance_cancel>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:253
msgid "C<guestfs_btrfs_balance_pause>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:255
msgid "C<guestfs_btrfs_balance_resume>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:257
msgid "C<guestfs_btrfs_balance_status>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:259
msgid "Balance support for Btrfs filesystems (Hu Tao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:261
msgid "C<guestfs_btrfs_filesystem_defragment>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:263
msgid "Filesystem defragmentation support for Btrfs filesystems (Hu Tao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:265
msgid "C<guestfs_btrfs_image>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:267
msgid "Create an image of a Btrfs filesystem (Chen Hanxiao)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:269
msgid "C<guestfs_btrfs_qgroup_assign>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:271
msgid "C<guestfs_btrfs_qgroup_create>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:273
msgid "C<guestfs_btrfs_qgroup_destroy>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:275
msgid "C<guestfs_btrfs_qgroup_limit>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:277
msgid "C<guestfs_btrfs_qgroup_remove>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:279
msgid "C<guestfs_btrfs_qgroup_show>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:281
msgid "C<guestfs_btrfs_quota_enable>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:283
msgid "C<guestfs_btrfs_quota_rescan>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:285
msgid "Quote support for Btrfs filesystems (Hu Tao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:287
msgid "C<guestfs_btrfs_rescue_chunk_recover>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:289
msgid "Scan and recover the chunk tree in Btrfs filesystems (Hu Tao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:291
msgid "C<guestfs_btrfs_rescue_super_recover>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:293
msgid "Restore superblocks in Btrfs filesystems (Hu Tao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:295
msgid "C<guestfs_btrfs_replace>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:297
msgid "Replace a device in a Btrfs filesystem (Cao Jin)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:299
msgid "C<guestfs_btrfs_scrub>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:301
msgid "C<guestfs_btrfs_scrub_cancel>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:303
msgid "C<guestfs_btrfs_scrub_resume>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:305
msgid "C<guestfs_btrfs_scrub_status>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:307
msgid "Scrub a Btrfs filesystem (Hu Tao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:309
msgid "C<guestfs_btrfs_subvolume_get_default>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:311
msgid "Get the default subvolume of a Btrfs filesystem (Hu Tao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:313
msgid "C<guestfs_btrfs_subvolume_show>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:315
msgid ""
"List detailed information about the subvolume of a Btrfs filesystem (Hu Tao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:318
msgid "C<guestfs_btrfstune_enable_extended_inode_refs>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:320
msgid "C<guestfs_btrfstune_enable_skinny_metadata_extent_refs>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:322
msgid "C<guestfs_btrfstune_seeding>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:324
msgid "Various tuning parameters for Btrfs filesystems (Chen Hanxiao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:326
msgid "C<guestfs_c_pointer>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:328
msgid ""
"Return the C pointer to the underlying C<guestfs_h *>.  This allows "
"interworking of libguestfs bindings with bindings from other libraries.  For "
"further information see L<https://bugzilla.redhat.com/1075164>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:333
msgid "C<guestfs_copy_in>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:335
msgid "C<guestfs_copy_out>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:337
msgid ""
"Flexible APIs for recursively copying directories of files between the host "
"and guest filesystem.  Previously these were available only as guestfish "
"commands, but now any API users can call them (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:341
msgid "C<guestfs_part_get_gpt_guid>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:343
msgid "C<guestfs_part_set_gpt_guid>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:345
msgid "Get and set the GPT per-partition GUID."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:347
msgid "C<guestfs_part_get_mbr_part_type>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:349
msgid "Get MBR partition type (Chen Hanxiao)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:351
msgid "C<guestfs_set_uuid_random>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:353
msgid ""
"Set the UUID of a filesystem to a randomly generated value; supported "
"filesystems currently are ext2/3/4, XFS, Btrfs, and swap partitions.  (Chen "
"Hanxiao)."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.30.pod:359
#: ../docs/guestfs-release-notes-1.32.pod:186
#: ../docs/guestfs-release-notes-1.34.pod:306
#: ../docs/guestfs-release-notes-1.36.pod:205
#: ../docs/guestfs-release-notes-1.38.pod:179
#: ../docs/guestfs-release-notes-1.40.pod:143
#: ../docs/guestfs-release-notes-1.42.pod:138
msgid "Other API changes"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:361
msgid "C<guestfs_disk_create> can now use VMDK files as backing files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:363
msgid ""
"C<guestfs_btrfs_subvolume_snapshot> takes extra optional parameters (all "
"added by Hu Tao):"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:368
msgid "C<ro>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:370
msgid "for creating a read-only Btrfs snapshot"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:372
msgid "C<qgroupid>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:374
msgid "for adding the snapshot to a qgroup"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:378
msgid ""
"C<guestfs_btrfs_subvolume_create> can also take the optional C<qgroupid> "
"parameter (Hu Tao)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:381
msgid ""
"C<guestfs_set_uuid> can set UUID of swap partitions, Btrfs (Hu Tao, Chen "
"Hanxiao)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:384
msgid ""
"C<guestfs_copy_device_to_file> and C<guestfs_copy_file_to_file> have a new "
"optional C<append> parameter, allowing you to append to the output file "
"instead of truncating it."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:388
msgid ""
"C<guestfs_mkfs> has a new optional C<label> parameter to set the initial "
"label of the new filesystem (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:391
msgid ""
"C<guestfs_set_label> and C<guestfs_set_uuid> now set C<ENOTSUP> as errno "
"when there is no implemented support for the filesystem of the specified "
"mountable (Chen Hanxiao)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:395
msgid ""
"Environment variables now let you write C<LIBGUESTFS_DEBUG=true>, "
"C<LIBGUESTFS_DEBUG=0> and so on."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:398
msgid ""
"All C<guestfs_sfdisk*> APIs have been deprecated.  Because L<sfdisk(8)> was "
"rewritten, incompatibly, upstream, we don't recommend using these APIs in "
"future code.  Use the C<guestfs_part*> APIs as replacements."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:403
msgid ""
"APIs such as C<guestfs_download> do not truncate F</dev/stdout> or F</dev/"
"stderr> when writing to them, meaning that if you redirect stdout or stderr "
"to a file, the file is no longer truncated."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:413
msgid ""
"The daemon no longer uses its own separate copy of gnulib.  Instead it "
"shares a single copy with the library."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:416
msgid ""
"OCaml F<.annot> files are now created, so IDEs and editors like emacs and vi "
"can browse OCaml types in the source code."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:419
msgid ""
"Various fixes to allow different host/appliance architecture builds (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:422
msgid ""
"Automake is now used directly to build all the OCaml programs, instead of ad "
"hoc Makefile rules.  One side effect of this is to enable warnings in all "
"the C code used by OCaml programs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:426
msgid ""
"C<-fno-strict-overflow> is used throughout the build to avoid dubious GCC "
"optimizations."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:429
msgid "Multiple cleanups to support GCC 5."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:431
msgid "OCaml OUnit2 is needed to run some OCaml tests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:433
msgid "Creating a statically linked F<libguestfs.a> should work again."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:435
msgid ""
"The F<src/api-support> subdirectory and its scripts are no longer used.  "
"Instead we store in the F<generator/actions.ml> when the API was added to "
"libguestfs."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.30.pod:439
msgid "Internationalization"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:441
msgid "The translation service has changed from Transifex to Zanata."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:443
msgid ""
"Many more translations are available now, for both library and tools "
"messages and documentation."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:448
msgid ""
"In all OCaml tools, there are now common C<error>, C<warning>, C<info> "
"functions, and common way to set and get the I<--quiet>, I<-x> (trace)  and "
"I<-v> (verbose) flags, and colour highlighting used consistently."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:452
msgid ""
"C<COMPILE_REGEXP> macros are used to simplify PCRE constructors and "
"destructors."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:455
msgid "In the generator, C<Pointer> arguments have finally been implemented."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:457
msgid ""
"Internal identifiers no longer use double and triple underscores (eg. "
"C<guestfs___program_name>).  These identifiers are invalid for C99 and C++ "
"programs, although compilers would accept them."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:461
msgid ""
"The daemon no longer parses C<guestfs_*> options from F</proc/cmdline>.  "
"Instead it only takes ordinary command line options.  The appliance init "
"script turns F</proc/cmdline> into daemon command line options."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:466
msgid ""
"The tests can now run the daemon as a \"captive process\", allowing it to be "
"run directly on the host.  The main advantage of this is we can run valgrind "
"directly on the daemon during testing."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:474
msgid "https_proxy= ./bugs-in-changelog.sh 1.28.0.."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:480
msgid "L<https://bugzilla.redhat.com/1239053>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:482
msgid "virt-v2v error reporting when grub.conf cannot be parsed by Augeas"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:484
msgid "L<https://bugzilla.redhat.com/1238053>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:486
msgid "v2v:Duplicate disk target set when convert guest with cdrom attached"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:488
msgid "L<https://bugzilla.redhat.com/1237869>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:490
msgid "Virtio drivers are not installed for windows 2008 guests by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:492
msgid "L<https://bugzilla.redhat.com/1234351>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:494
msgid "virt-v2v Support for Fedora virtio-win drivers"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:496
#: ../docs/guestfs-release-notes-1.34.pod:657
msgid "L<https://bugzilla.redhat.com/1232192>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:498
#: ../docs/guestfs-release-notes-1.34.pod:659
msgid ""
"Virt-v2v gives an error on a blank disk: part_get_parttype: unknown "
"signature, of the output: BYT;"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:500
msgid "L<https://bugzilla.redhat.com/1229385>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:502
msgid ""
"virt-p2v in kernel command line mode should power off the machine after "
"conversion"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:504
msgid "L<https://bugzilla.redhat.com/1229340>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:506
msgid "virt-p2v no GUI mode appends \\n to the final command line parameter"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:508
msgid "L<https://bugzilla.redhat.com/1229305>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:510
msgid ""
"virt-sysprep at cleanup deletes /var/spool/at/.SEQ which results in failing "
"at"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:512
msgid "L<https://bugzilla.redhat.com/1226794>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:514
msgid ""
"\"Doing conversion……\" still shows after cancel the conversion from virt-p2v "
"client"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:516
msgid "L<https://bugzilla.redhat.com/1215042>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:518
msgid "Memory leak in virNetSocketNewConnectUNIX"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:520
#: ../docs/guestfs-release-notes-1.34.pod:673
msgid "L<https://bugzilla.redhat.com/1213324>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:522
msgid ""
"virt-v2v: warning: unknown guest operating system: windows windows 6.3 when "
"converting win8,win8.1,win2012,win2012R2 to rhev"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:524
msgid "L<https://bugzilla.redhat.com/1213247>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:526
msgid "virt tools should print the same format of version string"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:528
msgid "L<https://bugzilla.redhat.com/1212808>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:530
msgid "RFE: virt-builder --touch"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:532
msgid "L<https://bugzilla.redhat.com/1212807>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:534
msgid "virt-builder --selinux-relabel flag fails on cross-architecture builds"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:536
msgid "L<https://bugzilla.redhat.com/1212680>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:538
msgid ""
"RFE: virt-inspector xpath query should output a neat format of the query "
"element"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:540
msgid "L<https://bugzilla.redhat.com/1212152>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:542
msgid "virt-builder firstboot-command fails: File name too long"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:544
msgid "L<https://bugzilla.redhat.com/1211996>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:546
msgid "virt-inspector gives incorrect arch (ppc64) for ppc64le guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:548
msgid "L<https://bugzilla.redhat.com/1203817>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:550
msgid "RFE: virt-customize --move and --copy"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:552
msgid "L<https://bugzilla.redhat.com/1201526>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:554
msgid "index-parser can't parse systemd mount files properly"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:556
msgid "L<https://bugzilla.redhat.com/1196101>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:558
msgid "virt-builder --upload option doesn't work to a FAT partition"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:560
msgid "L<https://bugzilla.redhat.com/1196100>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:562
msgid "virt-builder -x option on its own does not enable tracing"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:564
msgid "L<https://bugzilla.redhat.com/1195204>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:566
msgid ""
"`virt-builder` should create $HOME/.cache directory if it already doesn't "
"exist"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:568
msgid "L<https://bugzilla.redhat.com/1193237>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:570
msgid "Virt-builder fingerprint is required even when no check desired"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:572
msgid "L<https://bugzilla.redhat.com/1189284>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:574
msgid ""
"virt-resize should preserve GPT partition UUIDs, else EFI guests become "
"unbootable"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:576
msgid "L<https://bugzilla.redhat.com/1188866>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:578
msgid "Performance regression in virt-builder when uncompressing image"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:580
msgid "L<https://bugzilla.redhat.com/1186800>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:582
msgid "virt-v2v should support gzip format ova as input"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:584
msgid "L<https://bugzilla.redhat.com/1185561>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:586
msgid "virt-sparsify should ignore read-only LVs"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:588
msgid "L<https://bugzilla.redhat.com/1182463>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:590
msgid ""
"\"mknod-b\", \"mknod-c\", and \"mkfifo\" do not strip non-permissions bits "
"from \"mode\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:592
msgid "L<https://bugzilla.redhat.com/1176493>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:594
msgid "virt-v2v ignores sound device when convert xen guest to local kvm"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:596
msgid "L<https://bugzilla.redhat.com/1175676>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:598
msgid "Typo error in 'help ping-daemon'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:600
msgid "L<https://bugzilla.redhat.com/1175196>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:602
msgid ""
"\"parse-environment\" and \"parse-environment-list\" fail to parse "
"\"LIBGUESTFS_TRACE = 0\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:604
msgid "L<https://bugzilla.redhat.com/1175035>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:606
msgid "\"is-blockdev\"/\"is-blockdev-opts\" fail to detect \"/dev/sda\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:608
msgid "L<https://bugzilla.redhat.com/1174280>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:610
msgid "RFE: Allow v2v conversion of Oracle Linux 5.8 VMware VM"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:612
msgid "L<https://bugzilla.redhat.com/1174200>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:614
msgid ""
"New virt-v2v failure: CURL: Error opening file: NSS: client certificate not "
"found (nickname not specified): Invalid argument"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:616
msgid "L<https://bugzilla.redhat.com/1174123>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:618
msgid "Graphics password disappear after conversion of virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:620
msgid "L<https://bugzilla.redhat.com/1174073>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:622
msgid "The listen address for vnc is changed after conversion by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:624
msgid "L<https://bugzilla.redhat.com/1171666>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:626
msgid "inspection thinks EFI partition is a separate operating system"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:628
msgid "L<https://bugzilla.redhat.com/1171130>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:630
msgid ""
"virt-v2v conversion of RHEL 3 guest fails with: All of your loopback devices "
"are in use"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:632
msgid "L<https://bugzilla.redhat.com/1170685>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:634
msgid ""
"Conversion of RHEL 4 guest fails: rpm -ql 1:kernel-utils-2.4-23.el4: virt-"
"v2v: error: libguestfs error: command_lines:"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:636
msgid "L<https://bugzilla.redhat.com/1170073>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:638
msgid ""
"virt-v2v picks debug kernels over non-debug kernels when versions are equal"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:640
msgid "L<https://bugzilla.redhat.com/1169045>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:642
msgid ""
"virt-sparsify: libguestfs error: qemu-img info: 'virtual-size' is not "
"representable as a 64 bit integer"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:644
msgid "L<https://bugzilla.redhat.com/1169015>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:646
msgid "virt-resize --expand fails on ubuntu-14.04.img image (regression)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:648
#: ../docs/guestfs-release-notes-1.36.pod:514
msgid "L<https://bugzilla.redhat.com/1168144>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:650
#: ../docs/guestfs-release-notes-1.36.pod:516
msgid ""
"warning: fstrim: fstrim: /sysroot/: FITRIM ioctl failed: Operation not "
"supported (ignored) when convert win2003 guest from xen server"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:652
msgid "L<https://bugzilla.redhat.com/1167921>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:654
msgid "p2v: No Network Connection dialog"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:656
msgid "L<https://bugzilla.redhat.com/1167774>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:658
msgid ""
"virt-p2v fails with error:\"nbd.c:nbd_receive_negotiate():L501: read failed\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:660
#: ../docs/guestfs-release-notes-1.38.pod:588
msgid "L<https://bugzilla.redhat.com/1167623>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:662
#: ../docs/guestfs-release-notes-1.38.pod:590
msgid ""
"Remove \"If reporting bugs, run virt-v2v with debugging enabled ..\" message "
"when running virt-p2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:664
msgid "L<https://bugzilla.redhat.com/1167601>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:666
msgid "\"Conversion was successful\" pop out even virt-p2v fails"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:668
msgid "L<https://bugzilla.redhat.com/1167302>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:670
msgid ""
"virt-v2v: warning: ova hard disk has no parent controller when convert from "
"a ova file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:672
msgid "L<https://bugzilla.redhat.com/1166618>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:674
msgid ""
"virt-resize should give out the detail warning info to let customers know "
"what's going wrong"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:676
msgid "L<https://bugzilla.redhat.com/1165975>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:678
msgid ""
"File \"/boot/grub2/device.map\" showing is not right after converting a "
"rhel7 guest from esx server"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:680
#: ../docs/guestfs-release-notes-1.32.pod:472
msgid "L<https://bugzilla.redhat.com/1165785>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:682
#: ../docs/guestfs-release-notes-1.32.pod:474
msgid "mount-loop command fails: mount failed: Unknown error -1"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:684
msgid "L<https://bugzilla.redhat.com/1165569>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:686
msgid "Disable \"cancel conversion\" button after virt-p2v conversion finished"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:688
msgid "L<https://bugzilla.redhat.com/1165564>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:690
msgid "Provide Reboot/Shutdown button after virt-p2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:692
msgid "L<https://bugzilla.redhat.com/1164853>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:694
msgid ""
"Booting in qemu found no volume groups and failed checking the filesystems"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:696
msgid "L<https://bugzilla.redhat.com/1164732>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:698
msgid ""
"The description of 'help append' is not accurately, it add the kernel "
"options to libguestfs appliance not the guest kernel"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:700
msgid "L<https://bugzilla.redhat.com/1164697>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:704
msgid "L<https://bugzilla.redhat.com/1164619>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:706
msgid "Inspect-get-icon failed on RHEL7 guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:708
msgid "L<https://bugzilla.redhat.com/1162966>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:710
msgid "xfs should also give a warning out to let customer know the limitation"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:712
msgid "L<https://bugzilla.redhat.com/1161575>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:714
msgid ""
"Failed to import guest with \"rtl8139\" nic to openstack server after "
"converted by v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:716
msgid "L<https://bugzilla.redhat.com/1159651>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:718
msgid ""
"virt-sysprep firstboot script is not deleted if it reboot a RHEL 7 guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:720
msgid "L<https://bugzilla.redhat.com/1159258>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:722
msgid ""
"esx win2008 32 bit guest fail to load after conversion because the firmware "
"isn't ACPI compatible"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:724
msgid "L<https://bugzilla.redhat.com/1159016>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:726
msgid "libvirt backend does not set RBD password"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:728
msgid "L<https://bugzilla.redhat.com/1158526>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:730
msgid "Use password file instead of process interaction"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:732
msgid "L<https://bugzilla.redhat.com/1157679>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:734
msgid "virt-p2v-make-disk should add firmwares"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:736
msgid "L<https://bugzilla.redhat.com/1156449>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:738
msgid "libguestfs FTBFS on f21 ppc64le"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:740
msgid "L<https://bugzilla.redhat.com/1156301>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:742
msgid ""
"virt-inspector support adding a remote disk, but in its man page -a URI / --"
"add URI is missing"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:744
msgid "L<https://bugzilla.redhat.com/1155121>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:746
msgid "Virt-v2v will fail when using relative path for -i ova"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:748
msgid "L<https://bugzilla.redhat.com/1153844>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:750
msgid ""
"Redundancy whitespace at the end of directory name when use <TAB> to "
"complete the directory name in guestfish with a xfs filesystem in guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:752
msgid "L<https://bugzilla.redhat.com/1153589>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:754
msgid "virt-v2v will hang when converting esx guest before disk copy phase"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:756
msgid "L<https://bugzilla.redhat.com/1152998>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:758
msgid "virt-v2v / qemu-img fails on ova image"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:760
msgid "L<https://bugzilla.redhat.com/1151910>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:762
msgid ""
"virt-ls should remove '/' in the output when specify the directory name as /"
"etc/"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:764
msgid "L<https://bugzilla.redhat.com/1151900>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:766
msgid ""
"Should also add a field for directory files when run virt-ls with --csv "
"option"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:772
msgid "L<https://bugzilla.redhat.com/1146832>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:774
msgid "virt-v2v fail to convert guest with disk type volume"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:776
msgid "L<https://bugzilla.redhat.com/1146007>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:778
msgid "Input/output error during conversion of esx guest."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:780
msgid "L<https://bugzilla.redhat.com/1135585>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:782
msgid "[RFE] virt-builder should support copying in a directory/list of files"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:784
msgid "L<https://bugzilla.redhat.com/1089566>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:786
msgid ""
"[abrt] livecd-tools: kickstart.py:276:apply:IOError: [Errno 2] No such file "
"or directory: '/run/media/jones/2tp001data/createlive/temp/imgcreate-_dX8Us/"
"install_root/etc/rpm/macros.imgcreate'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:788
msgid "L<https://bugzilla.redhat.com/1079625>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:790
msgid "virt-sparsify fails if a btrfs filesystem contains readonly snapshots"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:792
msgid "L<https://bugzilla.redhat.com/1075164>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:794
msgid "RFE: allow passing in a pre-opened libvirt connection from python"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:800
msgid "L<https://bugzilla.redhat.com/889082>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:802
msgid ""
"[RFE] virt-v2v should check whether guest with same name exist on target "
"first then transfer the disk"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:804
msgid "L<https://bugzilla.redhat.com/855059>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:806
msgid ""
"RFE: virt-p2v: display more information about network devices such as "
"topology, bonding, etc."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:808
msgid "L<https://bugzilla.redhat.com/823758>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:810
msgid ""
"p2v client should have largest number restrictions for CPU and Memory "
"settings"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:812
msgid "L<https://bugzilla.redhat.com/709327>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:814
msgid "hivex cannot read registry hives from ReactOS"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:816
msgid "L<https://bugzilla.redhat.com/709326>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:818
msgid "virt-inspector cannot detect ReactOS"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.30.pod:820
msgid "L<https://bugzilla.redhat.com/119673>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.30.pod:822
msgid "installation via NFS doesn't seem to work"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.32.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.32"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.30.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:15
msgid ""
"The new L<virt-v2v-copy-to-local(1)> tool is an ancillary tool for L<virt-"
"v2v(1)> allowing you to convert source guests that virt-v2v is unable to "
"access directly."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:21
msgid ""
"Virt-customize knows how to write a random seed to CirrOS (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:23
msgid ""
"On Fedora, virt-customize runs L<dnf(8)> with the I<--best> flag, ensuring "
"it always updates to the latest available packages."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:26
msgid "Virt-builder now provides 32 bit Fedora templates."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:28
msgid ""
"Virt-builder and virt-customize I<--install> option now works on 32 bit "
"Fedora guests.  Previously it would try to install 64 bit packages (Jan "
"Sedlák)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:32
msgid ""
"Virt-builder can now fetch cloud images using Simple Streams v1.0 metadata "
"(Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:35
msgid ""
"Virt-builder can now fetch openSUSE cloud images out of the box (Cédric "
"Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:38
msgid ""
"Virt-customize will now use stronger (SHA-512) encrypted passwords by "
"default on openSUSE E<ge> 11 (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:41
msgid ""
"Virt-builder will now correctly handle output filenames containing colon "
"characters (C<:>), and will create temporary files in the libguestfs cache "
"directory instead of defaulting to F</tmp> (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:46
msgid ""
"Virt-resize has a new I<--unknown-filesystems> option to control what to do "
"when asked to resize a filesystem that libguestfs doesn't know how to resize."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:50
msgid ""
"Virt-v2v now has an I<--in-place> flag/mode, allowing in-place conversion of "
"guests (Roman Kagan)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:53
msgid ""
"Virt-v2v has a I<--compressed> option for creating compressed qcow2 output "
"files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:56
msgid ""
"Virt-v2v can now correctly get the VMware datacenter path (dcPath)  from "
"libvirt, instead of having to calculate it using an algorithm that "
"occasionally got the wrong answer (Matthias Bolte, Tingting Zheng)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:61
msgid ""
"Virt-v2v now processes RAM sizes correctly for 64 bit guests when running on "
"a 32 bit host."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:66
msgid ""
"In Perl and Python programs, the C<get_program_name> API now returns the "
"true program name, instead of the incorrect string C<perl> or C<python>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:70
msgid ""
"The Python bindings can now be compiled against a different version of "
"libguestfs, allowing the pip module to be built against any version of "
"libguestfs (instead of requiring the pip module and libguestfs to have "
"exactly the same version)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:75
msgid ""
"The quality of the Ruby rdoc (documentation) has been improved (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:78
msgid ""
"Perl scripts no longer hard-code the location of perl in the shebang line, "
"but use L<env(1)> to locate it instead (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:81
msgid ""
"In OCaml programs, the guestfs handle was incorrectly made into a global "
"root, meaning it could never be garbage collected.  If you didn't call the "
"C<close> function explicitly, the handle would not be closed until the whole "
"program exited.  This has now been fixed so handles will be garbage "
"collected in the usual way.  This changes the API of the OCaml function "
"C<Guestfs.event_callback>.  Note that non-C language bindings are not "
"covered by the libguestfs API/ABI guarantee, although we try hard not to "
"change them, but in this case it was essential in order to fix this very "
"serious bug."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:93
msgid ""
"Alpine Linux and the APK package manager, ALT Linux, Frugalware, and PLD "
"Linux are now recognized (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:96
msgid ""
"If it exists, F</etc/os-release> will be preferred for inspecting Linux "
"guests (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:99
msgid "The correct kernel version is returned for Windows guests E<ge> 10."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.32.pod:101
#: ../docs/guestfs-release-notes-1.34.pod:192
msgid "Documentation"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:103
msgid ""
"The large L<guestfs(3)> man page has been split into several separate man "
"pages: L<guestfs-hacking(1)> L<guestfs-internals(1)> L<guestfs-"
"security(1)>.  In the source tree, a new F<docs> directory contains this "
"documentation."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:110
msgid "Libguestfs now supports ARM 64 bit platforms with vGICv3."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:114
#: ../docs/guestfs-release-notes-1.34.pod:212
#: ../docs/guestfs-release-notes-1.36.pod:166
#: ../docs/guestfs-release-notes-1.40.pod:116
msgid "See also L<guestfs-security(1)>."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:118
msgid "C<CVE-2015-5745>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:120
msgid "L<https://bugzilla.redhat.com/1251157>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:122 ../docs/guestfs-security.pod:304
msgid ""
"This is not a vulnerability in libguestfs, but because we always give a "
"virtio-serial port to each guest (since that is how guest-host communication "
"happens), an escalation from the appliance to the host qemu process is "
"possible.  This could affect you if:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:131
msgid ""
"your libguestfs program runs untrusted programs out of the guest (using L</"
"guestfs_sh> etc), or"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:136 ../docs/guestfs-security.pod:318
msgid ""
"another exploit was found in (for example) kernel filesystem code that "
"allowed a malformed filesystem to take over the appliance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:141 ../docs/guestfs-security.pod:323
msgid "If you use sVirt to confine qemu, that would thwart some attacks."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:143
msgid "Virt-customize permissions on F<.ssh>, F<.ssh/authorized_keys>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:145
msgid "L<https://bugzilla.redhat.com/1260778>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:147
msgid ""
"Previously when asked to inject an SSH key into a guest, virt-customize "
"(hence virt-builder too) would create the F<.ssh> directory and F<.ssh/"
"authorized_keys> file with too broad permissions, allowing other users to "
"read.  They are now created as C<0700> and C<0600> respectively, which is "
"the same as the L<ssh-copy-id(1)> utility."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:162
msgid "C<guestfs_get_identifier>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:164
msgid "C<guestfs_set_identifier>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:166
msgid ""
"Get/set a per-handle identifier.  The main effect of this is to change trace "
"output from:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-release-notes-1.32.pod:169
#, no-wrap
msgid ""
" libguestfs: trace: foo\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:171
msgid "to:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-release-notes-1.32.pod:173
#, no-wrap
msgid ""
" libguestfs: trace: ID: foo\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:175
msgid ""
"making it easier to follow traces in multi-threaded programs, or where a "
"program uses multiple handles (especially virt-v2v)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:178
msgid "C<guestfs_vfs_minimum_size>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:180
msgid ""
"Return the minimum size of a filesystem (when shrunk).  This supports "
"ext2/3/4, XFS and btrfs, and can support other filesystem types in future "
"(Maxim Perevedentsev)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:190
msgid ""
"C<guestfs_disk_create>: add C<preallocation> = C<off>/C<metadata>/C<full>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:192
msgid ""
"For raw, this allows C<off> as a synonym for C<sparse> (making it consistent "
"with qcow2).  For qcow2, this allows C<sparse> as a synonym for C<off>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:196
msgid ""
"It also adds C<full>, which corresponds to fully allocated, but uses "
"L<posix_fallocate(3)> for efficiency."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:199
msgid "C<guestfs_tar_in>: new C<xattrs>, C<selinux>, C<acl> parameters."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:201
msgid "C<guestfs_tar_out>: new C<xattrs>, C<selinux>, C<acl> parameters."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:203
msgid ""
"These extra parameters control whether extended attributes, SELinux contexts "
"and/or POSIX ACLs are restored from / saved to tarballs."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:206
msgid "C<guestfs_add_drive>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:208
msgid ""
"The existing C<username> and C<secret> parameters can be used to supply "
"authentication for iSCSI (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:215
msgid "The C<./configure --enable-valgrind-daemon> option has been removed."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:217
msgid ""
"You can no longer build libguestfs on RHEL 5-era (c.2007) machines.  See the "
"C<oldlinux> branch if you need (limited) RHEL 5 support."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:220
msgid "Virt-p2v can now be built on RHEL 6-era (c.2010) Linux distros."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:222
msgid "OCaml E<ge> 3.11 (released in 2008) is now required to build from git."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:224
msgid ""
"Building the Perl bindings now requires C<Module::Build> (instead of "
"C<ExtUtils::MakeMaker>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:227
msgid ""
"Builds should be faster (especially when incrementally rebuilding), because "
"work was done to reduce build times."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:230
msgid ""
"Both OCaml and the OCaml findlib module are required if you need to run the "
"generator at build time.  Previously the build would have failed if findlib "
"was not installed."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:234
msgid "C<make check> tests now run in parallel (within each test directory)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:236
msgid ""
"C<make install> no longer installs OCaml F<bindtests.*> files incorrectly."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:239
msgid ""
"C<make install> can now be run twice.  Previously it would fail on the "
"second run."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:242
msgid "C<make clean> should now remove nearly every file that C<make> creates."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:245
msgid ""
"A new C<make installcheck> rule has been added, allowing the installed copy "
"of libguestfs to be tested."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:250
msgid ""
"Some effort was put into minimizing the size of the appliance, which reduces "
"temporary disk space and time needed by libguestfs handles."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:253
msgid ""
"The appliance now passes the NIC name to dhcpd, fixing hangs when running "
"the appliance on some distros (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:256
msgid "OCaml C<Guestfs.Errno> is now generated (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:258
msgid ""
"In OCaml tools, common code now handles I<--debug-gc>, I<--verbose> and "
"other common options (Roman Kagan, Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:261
msgid ""
"The virt-v2v test harness allows us to boot the test guests at fixed dates "
"in the past, ensuring that Windows reactivation doesn't kick in."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:264
msgid ""
"There is a new internal API for reading/writing a subprocess via a pipe from "
"library code."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:267
msgid "Used C<deheader> program to remove unused C<#include> directives."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:269
msgid ""
"In OCaml tools, the C<Char> and C<String> modules now implicitly reference "
"the C<Common_utils.Char> and C<Common_utils.String> modules (instead of the "
"ones from stdlib).  The C<Common_utils> modules contain a number of extra "
"char/string utility functions, and also hide some unsafe functions in stdlib."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:275
msgid ""
"Many more virt-v2v tests will now be run even if you don't have rhsrvany and "
"virtio-win installed (Roman Kagan)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:278
msgid ""
"The huge F<configure.ac> file has been split into several smaller files "
"called F<m4/guestfs_*.m4>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:281
msgid ""
"The old F<tests/data> and F<tests/guests> directories have been moved to "
"F<test-data/>.  This new top level directory carries all test data which is "
"common, large and/or shared between multiple tests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:285
msgid ""
"There is a new top level F<website/> directory containing the public "
"L<http://libguestfs.org> website (or most of it)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:288
msgid "The fuzz testing of inspection (F<tests/fuzz>) has been removed."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:290
msgid ""
"Virt-p2v now saves the source physical machine dmesg output into the "
"conversion server debug directory, making it simpler to debug cases of "
"missing drivers, firmware etc."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:298
msgid "https_proxy= ./bugs-in-changelog.sh 1.30.0.."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:304
msgid "L<https://bugzilla.redhat.com/1294956>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:306
msgid ""
"set-label returns wrong error message when set the ext3/ext4 filesystem label"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:308
msgid "L<https://bugzilla.redhat.com/1288733>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:310
msgid "Add a Fedora 23 32-bit base image for virt-builder"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:312
msgid "L<https://bugzilla.redhat.com/1288201>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:314
msgid "virt-builder writes temporary files to /tmp"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:316
msgid "L<https://bugzilla.redhat.com/1285847>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:318
msgid "virt-resize does not copy logical partitions"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:320
msgid "L<https://bugzilla.redhat.com/1281578>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:322
msgid ""
"virt-inspector returns version 6.3 for win10 images (should return 10.0)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:324
msgid "L<https://bugzilla.redhat.com/1281577>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:326
msgid "virt-inspector --xpath segfault on attribute get"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:328
msgid "L<https://bugzilla.redhat.com/1280029>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:330
msgid ""
"libguestfs can run commands with stdin not open (or worse still, connected "
"to arbitrary guest-chosen random devices)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:332
msgid "L<https://bugzilla.redhat.com/1279273>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:334
msgid "About compression option for qcow2"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:336
#: ../docs/guestfs-release-notes-1.34.pod:645
msgid "L<https://bugzilla.redhat.com/1278878>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:338
#: ../docs/guestfs-release-notes-1.34.pod:647
msgid "guestfish should be able to handle LVM thin layouts"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:340
msgid "L<https://bugzilla.redhat.com/1278382>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:342
msgid "DNF python programming error when run from virt-builder"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:344
msgid "L<https://bugzilla.redhat.com/1278371>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:346
msgid ""
"inspection returns arch=\"unknown\" for Windows guest if file command is not "
"installed"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:348
msgid "L<https://bugzilla.redhat.com/1277274>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:350
msgid "Document permissions needed for non-admin users to use virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:352
msgid "L<https://bugzilla.redhat.com/1277122>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:354
msgid ""
"RFE: virt-sparsify: make '--in-place' sparsification safe to abort "
"(gracefully or ungracefully)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:356
msgid "L<https://bugzilla.redhat.com/1277074>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:358
msgid ""
"Virt-p2v client shouldn't present the vdsm option because it's not usable"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:360
msgid "L<https://bugzilla.redhat.com/1276540>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:362
msgid ""
"virt-v2v fails to convert Windows raw image: error \"device name is not a "
"partition\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:364
msgid "L<https://bugzilla.redhat.com/1275806>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:366
msgid "virt-builder: error: [file] is not a regular file in the guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:368
msgid "L<https://bugzilla.redhat.com/1270011>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:370
msgid ""
"Simplestreams test fails: virt-builder: error: the value for the key 'size' "
"is not an integer"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:372
msgid "L<https://bugzilla.redhat.com/1267032>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:374
msgid "guestfish copy-in command behaves oddly/unexpectedly with wildcards"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:376
msgid "L<https://bugzilla.redhat.com/1262983>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:378
msgid ""
"python: Cannot compile pip module if installed libguestfs != pip guestfs "
"version"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:380
msgid "L<https://bugzilla.redhat.com/1262127>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:382
msgid "Better diagnostic message when virbr0 doesn't exist"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:384
msgid "L<https://bugzilla.redhat.com/1261436>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:386
msgid "No warning shows when convert a win7 guest with AVG AntiVirus installed"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:388 ../docs/guestfs-security.pod:327
msgid "L<https://bugzilla.redhat.com/1260778>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:390
msgid ""
"virt-builder --ssh-inject doesn't set proper permissions on created files"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:392
msgid "L<https://bugzilla.redhat.com/1260689>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:394
msgid ""
"RFE: V2V to check and warn user to disable group policy and anti virus on "
"Windows guests"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:396
msgid "L<https://bugzilla.redhat.com/1260590>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:398
msgid ""
"Wrong graphics protocal and video type set for guest after convert to rhev "
"3.6 by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:400
msgid "L<https://bugzilla.redhat.com/1258342>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:402
msgid "extra slashes in vcenter URL confuses virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:404
msgid "L<https://bugzilla.redhat.com/1257895>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:406
msgid ""
"[RHEV][V2V] virt-v2v ignores NIC if interface source/@network or source/"
"@bridge is an empty string"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:408
msgid "L<https://bugzilla.redhat.com/1256405>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:410
msgid "virt-builder created Fedora 22 32bit disk image cannot be updated"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:412
msgid "L<https://bugzilla.redhat.com/1256222>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:414
msgid ""
"virt-p2v no GUI mode:error opening control connection to $ip:22:unexpected …"
"rompt"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:416
msgid "L<https://bugzilla.redhat.com/1251909>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:418
msgid "Option -oa preallocated -of qcow2 of virt-v2v didn't work efficiently"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:420
msgid "L<https://bugzilla.redhat.com/1250715>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:422
msgid "v2v: spaces need to be escaped as %20 in paths"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:424
msgid "L<https://bugzilla.redhat.com/1248678>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:426
msgid "Close all incoming ports on virt-p2v ISO"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:428
msgid "L<https://bugzilla.redhat.com/1246882>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:430
msgid "man virt-customize shows synopsis twice"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:432
msgid "L<https://bugzilla.redhat.com/1242853>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:434
#: ../docs/guestfs-release-notes-1.32.pod:486
msgid "mount-loop failed to setup loop device: No such file or directory"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:436
msgid "L<https://bugzilla.redhat.com/1237136>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:438
msgid ""
"BUG: unable to handle kernel NULL pointer dereference at <addr> in function "
"__blkg_lookup"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:440
msgid "L<https://bugzilla.redhat.com/1230412>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:442
msgid "virt-v2v should ignore bogus kernel entries in grub config"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:444
msgid "L<https://bugzilla.redhat.com/1229119>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:446
msgid "Unrelated info in fstab makes virt-v2v fail with unclear error info"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:448
msgid "L<https://bugzilla.redhat.com/1227609>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:450
msgid ""
"virt-p2v: Using \"Back\" button causes output list to be repopulated "
"multiple times"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:452
msgid "L<https://bugzilla.redhat.com/1225789>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:454
msgid ""
"Wrong video driver is installed for rhel5.11 guest after conversion to "
"libvirt"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:456
msgid "L<https://bugzilla.redhat.com/1204131>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:458
msgid "RFE: virt-builder creates qcow v3 images, add build option for qcow v2"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:460
msgid "L<https://bugzilla.redhat.com/1176801>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:462
msgid ""
"File /etc/sysconfig/kernel isn't updated when convert XenPV guest with "
"regular kernel installed"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:464
msgid "L<https://bugzilla.redhat.com/1174551>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:466
msgid ""
"\"lstatnslist\" and \"lstatlist\" don't give an error if the API is used "
"wrongly"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:468
msgid "L<https://bugzilla.redhat.com/1168223>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:470
msgid "koji spin-livecd cannot build a working live CD"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:476
msgid "L<https://bugzilla.redhat.com/1164708>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:478
msgid ""
"set-label can only set <=127 bytes for btrfs and <=126 bytes for ntfs "
"filesystem which not meet the help message. Also for ntfs it should give a "
"warning message when the length >128 bytes"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:480
msgid "L<https://bugzilla.redhat.com/1020216>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.32.pod:482
msgid ""
"libvirt fails to shut down domain: could not destroy libvirt domain: "
"Requested operation is not valid: domain is not running"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.32.pod:484
msgid "L<https://bugzilla.redhat.com/1011907>"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.34.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.34"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.32.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:13
msgid ""
"Multiple performance enhancements were made in libguestfs.  The \"hot cache"
"\" time to launch to appliance should be under 1 second assuming recent qemu "
"and kernel are installed.  There are also new utilities for precisely "
"benchmarking libguestfs (F<utils/boot-benchmark> and F<utils/boot-analysis> "
"in the source tree)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:19
msgid ""
"The virt-p2v tool for converting physical machines to virtual machines was "
"substantially improved.  This includes: clearer, coloured output during "
"conversions, support for Gtk 3, more detailed information about hardware, "
"click to identify network interfaces, more debugging tools included with the "
"ISO, and many bug fixes."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:25
msgid "f2fs (Flash Friendly File System) is now supported (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:29
msgid ""
"L<virt-p2v-make-kiwi(1)> can be used to build the virt-p2v ISO based on SLES "
"and openSUSE, using the kiwi utility (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:34
msgid ""
"virt-resize will now preserve the GPT GUID.  This was required for Windows "
"Server 2012 R2, where the bootloader would become confused if the GUID "
"changed (Maxim Perevedentsev)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:38
msgid ""
"virt-resize will use sparse copying for (old MBR-style) extended "
"partitions.  This makes resizing of guests that use extended partitions much "
"faster (Maxim Perevedentsev)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:42
msgid ""
"virt-p2v kernel command line options can now be used to set defaults for GUI "
"configuration."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:45
msgid ""
"The virt-p2v debugging options have been completely removed, simplifying the "
"interface and documentation.  Debugging information is now captured fully "
"automatically."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:49
msgid ""
"virt-p2v-make-disk lets you specify an I<--arch> option, allowing you to "
"build a 32 bit virt-p2v, for compatibility with older systems."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:52
msgid ""
"virt-p2v-make-disk no longer requires that you specify an C<os-version> for "
"the virt-p2v disk.  If omitted it will try to choose a suitable C<os-"
"version> depending on your host system."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:56
msgid ""
"virt-p2v-make-disk and virt-p2v-make-kickstart both gain a new I<--install> "
"option that allows you to add arbitrary extra packages to the virt-p2v ISO, "
"for customization, additional debugging tools and so on."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:61
msgid ""
"virt-v2v will now uninstall Parallels Tools (or the equivalent Virtuozzo "
"Tools) from Linux guests.  Also stop the Windows drivers from loading at "
"boot.  (Roman Kagan and Pavel Butsykin)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:65
msgid ""
"virt-v2v I<--in-place> mode has been enhanced to allow the caller to choose "
"whether or not to install certain virtio drivers in the guest (Roman Kagan)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:69
msgid ""
"virt-v2v conversion of Windows guests was substantially rewritten and "
"simplified (Roman Kagan)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:72
msgid ""
"virt-v2v I<--in-place> mode now supports installing virtio-scsi drivers in "
"guests (Roman Kagan)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:75
msgid ""
"virt-v2v can now convert SUSE guests and SUSE guests using UEFI (Cédric "
"Bosdonnat and Jim Fehlig)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:78
msgid ""
"virt-v2v can now convert guests to Glance that have multiple disks.  "
"Previously it would fail on such guests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:81
msgid ""
"The virt-v2v I<--no-trim> and I<--vmtype> options are now no-ops.  They will "
"print a warning but are otherwise ignored.  virt-v2v can now generate the "
"OVF vmtype correctly without user intervention."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:85
msgid ""
"virt-v2v has now been tested against SUSE Xen as a source hypervisor (Cédric "
"Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:88
msgid "virt-v2v adds support for SUSE VMDP drivers (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:90
msgid ""
"virt-v2v can convert OVA files containing subfolders, as produced by SUSE "
"Studio (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:93
msgid ""
"virt-v2v sets the OVF C<E<lt>OriginE<gt>> element correctly.  oVirt has been "
"extended to support more source hypervisors (Shahar Havivi)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:96
msgid "virt-v2v now supports Windows Server 2016 (Tomáš Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:98
msgid ""
"The virt-builder I<--list> option can now be used to show all templates or a "
"single template (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:101
msgid ""
"All OCaml-based tools now use L<getopt_long(3)> for option parsing, and I<--"
"help> output has been improved (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:104
msgid ""
"virt-builder and virt-customize I<--selinux-relabel> option can now fully "
"relabel the guest filesystem at build time, without requiring a lengthy "
"autorelabel at first boot."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:108
msgid "virt-customize I<--delete> now accepts globs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:110
msgid "New virt-customize I<--uninstall> option lets you uninstall packages."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:112
msgid ""
"virt-customize can now use C<pvvxsvc> as an alternative to C<rhsrvany> for "
"running firstboot scripts in Windows guests (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:115
msgid ""
"virt-customize now uses the strongest hashing scheme for passwords on Arch "
"and Void Linux (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:118
msgid "virt-customize I<--install> now works correctly on Arch (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:121
msgid ""
"virt-inspector has new options I<--no-applications> and I<--no-icon> to "
"prevent the list of applications and icon from being included in the XML "
"output (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:125
msgid ""
"New virt-sysprep I<--network> option has been added, allowing you to "
"actually use the I<--install> etc options which were present in virt-sysprep "
"before but did not usually work.  Note that the network is still disabled by "
"default."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:130
msgid ""
"virt-sysprep C<fs-uuids> operation no longer fails on btrfs guests (Maxim "
"Perevedentsev)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:133
msgid "virt-dib can output Docker images (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:135
msgid ""
"virt-dib has a new I<--drive-format> option to allow the user to specify the "
"format of the helper drive (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:138
msgid ""
"All OCaml virt tools now have a I<--colors>/I<--colours> option which "
"enables coloured output (using ANSI escape sequences) even if the output is "
"not a tty.  The default is to check if the output is a tty and disable "
"coloured output if not.  This allows coloured output to be consumed by other "
"tools."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:146
msgid "PHP test coverage has been enhanced (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:148
msgid "PHP 7 is now supported (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:150
msgid "Python bindings are now compliant with PEP 8 (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:152
msgid ""
"A Python pip package is available in L<http://libguestfs.org/download/python/"
">"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:155
msgid ""
"The Ruby bindings now print the full exception if one is thrown by the event "
"callback.  Note this is still incorrect behaviour as event callbacks should "
"not throw exceptions, but it aids debugging."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:159
msgid ""
"All OCaml libraries and programs are now compiled with I<-safe-string>, if "
"supported by the OCaml compiler."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:164
msgid ""
"Alpine Linux using busybox can now be inspected.  Also the APK package "
"manager is supported in virt-customize (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:167
msgid "We now handle inspection of Mageia 4 (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:169
msgid ""
"Void Linux and the Void Linux xbps package manager are fully supported (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:172
msgid "Parsing of CoreOS version information has been enhanced (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:174
msgid "It is now possible to get an icon from ALT Linux (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:176
msgid "PLD Linux versions E<lt> 3 are now recognized (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:178
msgid ""
"Windows drive letters are now returned for guests using GPT partitions "
"(Dawid Zamirski)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:181
msgid ""
"We can now correctly inspect Unix guests that do not have an F</etc/fstab> "
"file (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:184
msgid ""
"Added another source for the Ubuntu icon which doesn't rely on GNOME having "
"been installed in the guest."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:187
msgid "We can now get an icon for Windows 7 64 bit guests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:189
msgid ""
"Libosinfo integration was rewritten to deal with the new database format "
"used by osinfo (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:194
msgid ""
"New manual page L<guestfs-building(1)> describes how to build libguestfs "
"from source."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:197
msgid ""
"The man pages, tools and tool I<--help> output is now automatically checked "
"to ensure that all tool options are properly documented, that warning "
"sections are included where necessary, and that every page has a description "
"section."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:202
msgid ""
"The L<guestfs-testing(1)> man page has been refreshed and based on a newer "
"libguestfs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:207
msgid ""
"virt-customize now works on POWER7 and POWER8 platforms, both big endian and "
"little endian (Xianghua Chen and Hu Zhang)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.34.pod:214 ../docs/guestfs-security.pod:342
msgid "CVE-2015-8869"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:216 ../docs/guestfs-security.pod:344
msgid "L<https://bugzilla.redhat.com/CVE-2015-8869>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:218 ../docs/guestfs-security.pod:346
msgid ""
"This vulnerability in OCaml might affect virt tools written in the OCaml "
"programming language.  It affects only 64 bit platforms.  Because this bug "
"affects code generation it is difficult to predict which precise software "
"could be affected, and therefore our recommendation is that you recompile "
"libguestfs using a version of the OCaml compiler where this bug has been "
"fixed (or ask your Linux distro to do the same)."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.34.pod:226
msgid "virt-customize ownership of F<.ssh>, F<.ssh/authorized_keys>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:228
#: ../docs/guestfs-release-notes-1.34.pod:565
msgid "L<https://bugzilla.redhat.com/1337561>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:230
msgid ""
"Previously when virt-customize injected an SSH key into a guest, when it "
"created the F<~/.ssh> and F<~/.ssh/authorized_keys> directory and file (in "
"case they were missing) it created them with owner and group C<root.root>.  "
"This has been fixed so the correct user is used.  This is not thought to "
"have been exploitable."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.34.pod:236
msgid "Windows C<%systemroot%>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:238
msgid ""
"The inspection code has been made more robust against guests which might use "
"very long C<%systemroot%> (derived from the guest-controlled Windows "
"Registry).  This is not thought to have been exploitable."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.34.pod:242
msgid "Virtio-rng is now available in the appliance"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:244
msgid ""
"virtio-rng (the virtual Random Number Generator device) is now passed to the "
"appliance, which should improve the quality random numbers generated for "
"GUIDs and cryptographic key generation."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:254
msgid "C<btrfs_filesystem_show>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:256
msgid "List all devices where a btrfs filesystem is spanned (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:258
msgid "C<download_blocks>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:260
msgid "C<download_inode>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:262
msgid "C<filesystem_walk>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:264
msgid ""
"Download filesystem data blocks from a given partition.  Download arbitrary "
"files by inode number.  Retrieve all files from a filesystem including "
"deleted files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:268
msgid ""
"Note these require optional dependency The Sleuth Kit.  (Matteo Cafasso)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:271
msgid "C<get_sockdir>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:273
msgid "Read the path where temporary sockets are stored (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:275
msgid "C<mountable_device>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:277
msgid "C<mountable_subvolume>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:279
msgid "Split a Mountable into device name and subvolume (Cédric Bosdonnat)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:282
msgid "C<ntfscat_i>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:284
msgid "Download NTFS file by inode number (Matteo Cafasso)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:286
msgid "C<part_expand_gpt>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:288
msgid ""
"Allow in-place expanding of GPT partitions by moving the second (backup) "
"partition table to the end of the disk (Maxim Perevedentsev)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:291
msgid "C<part_get_disk_guid>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:293
msgid "C<part_set_disk_guid>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:295
msgid "C<part_set_disk_guid_random>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:297
msgid ""
"Get and set the GPT disk GUID, or set it to a fresh random value (Maxim "
"Perevedentsev)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:300
msgid "C<selinux_relabel>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:302
msgid "SELinux-relabel part or all of the guest filesystem."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:308
msgid ""
"C<guestfs_set_selinux>, C<guestfs_get_selinux>, C<guestfs_setcon>, "
"C<guestfs_getcon> and C<guestfs_llz> have been deprecated.  Use the new API "
"C<guestfs_selinux_relabel> to relabel filesystems.  Use "
"C<guestfs_lgetxattrs> to list the C<security.selinux> extended attributes of "
"existing files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:314
msgid ""
"C<guestfs_vfs_minimum_size> can now be used on dirty filesystems (Maxim "
"Perevedentsev)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:317
msgid ""
"C<guestfs_ll> now works on paths which contain absolute symlinks (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:320
msgid ""
"C<guestfs_glob_expand> now has an optional C<directoryslash> boolean "
"parameter which controls whether trailing slashes are returned for directory "
"names (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:324
msgid ""
"C<guestfs_lvs> will no longer return LVs which have the C<activationskip> "
"flag set.  The reason is that such LVs have no C</dev/VG/LV> device node and "
"so code which read the list of LVs and then probed the devices themselves "
"would immediately fail.  You can use C<guestfs_lvs_full> if you want to read "
"all LVs.  (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:331
msgid ""
"C<guestfs_list_disk_labels> now no longer fails if no disks with labels were "
"added.  Instead it now returns an empty list (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:335
msgid ""
"C<guestfs_is_lv> no longer fails if passed a btrfs subvolume, it returns "
"false instead (Maxim Perevedentsev)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:340
msgid "qemu E<ge> 1.3.0 is required."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:342
msgid "yajl (a JSON parsing library) is required to build libguestfs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:344
msgid "You can now build with GCC 6."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:346
msgid "C<make check-valgrind> now has substantially better coverage."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:348
msgid "C<make check-slow> now works again."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:350
msgid ""
"Use C<make -C appliance clean-supermin-appliance> to clean the supermin "
"appliance (it will be rebuilt on next C<make>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:353
msgid ""
"There are a variety of new rules for running virt-p2v from the source "
"directory: C<make -C p2v run-virt-p2v-directly> | C<run-virt-p2v-in-a-vm> | "
"C<run-virt-p2v-non-gui-conversion>.  These are documented further in "
"L<guestfs-hacking(1)>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:358
msgid ""
"virt-p2v may be built using either Gtk 2 or Gtk 3.  To force a particular "
"version of Gtk to be used, C<./configure --with-gtk=2|3>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:361
msgid ""
"The C<./configure> options are now mostly documented in L<guestfs-"
"building(1)>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:366
msgid ""
"In git, versions are now tagged with C<v1.XX.YY> (previously they were "
"tagged with C<1.XX.YY>).  Using the C<v-> prefix is more common in git "
"repositories."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:370
msgid ""
"When using the libvirt backend, we now wait for qemu to exit gracefully "
"instead of killing it after 15 seconds.  This helps when writing to slow "
"devices (especially cheap USB keys)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:374
msgid ""
"Error messages from libvirt now include the C<err-E<gt>int1> field which "
"usually contains the C<errno>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:377
msgid ""
"On ARM, all DTB (device tree) code has been removed.  qemu creates the right "
"device tree on the fly, we do not need to specify one."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:380
msgid ""
"The C API tests now use larger test disks, allowing BTRFS to be tested "
"properly (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:383
msgid "The tests should now work on a pure Python 3 host (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:385
msgid ""
"In C bindings, internal functions are now (mostly) consistently named "
"C<guestfs_int_*> whereas previously there was no consistent scheme."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:388
msgid ""
"The old C<safe_malloc> etc functions are now no longer exported by the "
"library, nor used in language bindings."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:391
msgid ""
"Setting TMPDIR to a path longer than ~ 100 characters will no longer cause "
"libguestfs to fail silently and randomly when creating Unix domain sockets "
"(Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:395
msgid "The C<COMPILE_REGEXP> macro can now be used in the daemon."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:397
msgid ""
"When tracing, results containing structs are now printed in full (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:400
msgid ""
"The Perl C<Sys::Guestfs> module now no longer embeds an incrementing API "
"\"version number\".  This module is now always at phony version \"1.0\".  To "
"find the real version of libguestfs from Perl you must call C<$g-"
"E<gt>version>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:405
msgid ""
"All code is compiled with C<-Wstack-usage=10000> and multiple changes have "
"been made to remove stack allocation of large strings and buffers."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:409
msgid ""
"The L<error(3)> function is now used everywhere, replacing most previous "
"uses of L<perror(3)> + L<exit(3)>, and L<fprintf(3)> + exit."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:412
msgid ""
"In C code, C</**> comments are turned into documentation which is "
"automatically added to the L<guestfs-hacking(1)> manual page."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:415
msgid ""
"A safe \"getumask\" function has been added.  For recent Linux kernels this "
"uses the newly added C<Umask> field in F</proc/self/status>.  For older "
"Linux and other Unix, this uses a thread-safe technique involving L<fork(2)> "
"(thanks: Josh Stone, Jiri Jaburek, Eric Blake)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:420
msgid ""
"Safe L<posix_fadvise(2)> wrappers have been added, and more hints have been "
"added to the code which may make a minor difference to performance."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:424
msgid ""
"A safe wrapper around L<waitpid(2)> has been added which handles C<INTR> "
"properly."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:427
msgid ""
"C<podwrapper.pl> (used to generate the manual pages) now stops if any POD "
"error is found.  A new script called C<podcheck.pl> does cross-checking of "
"I<--help> output, tool options and manual pages."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:431
msgid ""
"All version numbers in the library (eg. versions of qemu, versions of "
"libvirt, versions of guest operating systems) are unified in a single file "
"F<src/version.c> (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:435
msgid ""
"On Windows guests, virt-customize will use the vendor-neutral path S<C<C:"
"\\Program Files\\Guestfs\\Firstboot>> to store firstboot scripts.  "
"Previously it used S<C<C:\\Program Files\\Red Hat\\Firstboot>>.  This change "
"should be invisible to the scripts themselves.  (Cédric Bosdonnat)"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:441
msgid ""
"On Linux guests, the firstboot services generated by virt-builder I<--"
"firstboot> etc have been renamed to C<guestfs-firstboot> (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:445
msgid ""
"There is now a common C<debug> function used by all OCaml tools, replacing "
"previous code which did S<C<if verbose () then printf ...>>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:448
msgid ""
"virt-p2v copies files it needs over to the virt-v2v conversion server using "
"L<scp(1)>, instead of trying to send them via the shell session.  This "
"should improve reliability and should be a completely transparent to end "
"users."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:453
msgid ""
"All code in F<mllib> is now built into a single C<mllib.cma> or C<mllib."
"cmxa> library.  All code in F<customize> is now built into a single "
"C<customize.cma> or C<customize.cmxa> library.  This simplifies the build of "
"the OCaml tools."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:458
msgid ""
"L<lvmetad(8)> is now used in the appliance when available (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:460
msgid ""
"\"Silent rules\" are used for OCaml, Java, Erlang and POD.  Use C<make V=1> "
"to see the full command lines again (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:467
msgid "https_proxy= ./bugs-in-changelog.sh 1.32.0.."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:473
msgid "L<https://bugzilla.redhat.com/1364347>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:475
msgid "virt-sparsify --in-place failed with UEFI system"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:477
msgid "L<https://bugzilla.redhat.com/1362357>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:479
msgid ""
"run_command runs exit handlers when execve fails (e.g. due to missing "
"executable)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:481
msgid "L<https://bugzilla.redhat.com/1362354>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:483
msgid "virt-dib failed to create image using DIB_YUM_REPO_CONF"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:485
msgid "L<https://bugzilla.redhat.com/1359652>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:487
msgid "Fail to inspect Windows ISO file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:489
msgid "L<https://bugzilla.redhat.com/1358142>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:491
msgid ""
"Some info will show when convert guest to libvirt by virt-v2v with parameter "
"--quiet"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:493
msgid "L<https://bugzilla.redhat.com/1354335>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:495
msgid "overlay of disk images does not specify the format of the backing file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:497
msgid "L<https://bugzilla.redhat.com/1352761>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:499
msgid "Virt-manager can't show OS icons of win7/win8/ubuntu guest."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:501
msgid "L<https://bugzilla.redhat.com/1350363>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:503
msgid ""
"Improve error info \"remote server timeout unexpectedly waiting for password "
"prompt\" when connect to a bogus server at p2v client"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:505
msgid "L<https://bugzilla.redhat.com/1348900>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:507
msgid ""
"virt-p2v should update error prompt when 'Test connection' with a non-"
"existing user in conversion server"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:509
msgid "L<https://bugzilla.redhat.com/1345813>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:511
msgid "virt-sysprep --install always failed to install the packages specified"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:513
msgid "L<https://bugzilla.redhat.com/1345809>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:515
msgid ""
"virt-customize --truncate-recursive should give an error message when "
"specifying a no-existing path"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:517
msgid "L<https://bugzilla.redhat.com/1343423>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:519
msgid ""
"[RFE]Should give a better description about 'curl error 22' when failed "
"using ssh identity http url at p2v client"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:521
msgid "L<https://bugzilla.redhat.com/1343414>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:523
msgid "Failed SSH to conversion server by ssh identity http url at p2v client"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:525
msgid "L<https://bugzilla.redhat.com/1343375>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:527
msgid "[RFE] uninstall packages inside the VM"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:529
msgid "L<https://bugzilla.redhat.com/1342447>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:531
msgid "Ifconfig command is not supported on p2v client"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:533
msgid "L<https://bugzilla.redhat.com/1342398>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:535
msgid ""
"Convert a guest from RHEL by virt-v2v but its origin info shows RHEV at rhevm"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:537
msgid "L<https://bugzilla.redhat.com/1342337>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:539
msgid ""
"Should remind a warning about disk image has a partition when using virt-p2v-"
"make-disk"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:541
msgid "L<https://bugzilla.redhat.com/1341984>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:543
msgid ""
"virt-get-kernel prompts an 'invalid value' error when using --format auto"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:545
msgid "L<https://bugzilla.redhat.com/1341564>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:547
msgid "virt-p2v spinner should be hidden when it stops spinning"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:549
msgid "L<https://bugzilla.redhat.com/1340809>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:551
msgid ""
"Testing connection timeout when input regular user of conversion server with "
"checked \"use sudo......\"button"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:553
msgid "L<https://bugzilla.redhat.com/1340464>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:555
msgid "[RFE] Suggestion give user a reminder for \"Cancel conversion\" button"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:557
msgid "L<https://bugzilla.redhat.com/1340407>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:559
msgid "Multiple network ports will not be aligned at p2v client"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:561
msgid "L<https://bugzilla.redhat.com/1338083>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:563
msgid "Update UEFI whitelist for official fedora packages"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:567
msgid "virt-customize --ssh-inject not applying correct file permission"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:569
msgid "L<https://bugzilla.redhat.com/1335671>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:571
msgid "extra quotes around UUID confuses findfs in RHEL (but not in Fedora)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:573
msgid "L<https://bugzilla.redhat.com/1332025>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:575
msgid ""
"Inspection does not parse /etc/redhat-release containing \"Derived from Red "
"Hat Enterprise Linux 7.1 (Source)\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:577
msgid "L<https://bugzilla.redhat.com/1327488>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:579
msgid "RFE: Allow p2v kernel options without p2v.server to set defaults"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:581
msgid "L<https://bugzilla.redhat.com/1325825>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:583
msgid ""
"virt-v2v should prevent using multiple '-b' and '-n' option appears on the "
"command line"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:585
msgid "L<https://bugzilla.redhat.com/1321620>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:587
msgid "libguestfs: error: could not parse integer in version number: 7\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:589
msgid "L<https://bugzilla.redhat.com/1321338>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:591
msgid ""
"[1.33.16] Compilation Error: Unbound value List.sort_uniq in v2v.ml line "
"988, characters 10-24:"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:593
msgid "L<https://bugzilla.redhat.com/1317843>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:595
msgid ""
"`virt-builder --update` fails with: \"dnf -y --best upgrade: command exited "
"with an error\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:597
msgid "L<https://bugzilla.redhat.com/1316479>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:599
msgid ""
"v2v cmd cannot exit and \"block I/O error in device 'appliance': No space "
"left on device (28)\" is printed when specified \"-v -x\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:601
msgid "L<https://bugzilla.redhat.com/1316041>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:603
msgid "virt-rescue fails, but missing error message"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:605
msgid "L<https://bugzilla.redhat.com/1314244>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:607
msgid "RFE: virt-p2v log window should process colour escapes and backspaces"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:609
msgid "L<https://bugzilla.redhat.com/1312254>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:611
msgid ""
"virt-v2v -o libvirt doesn't preserve or use correct <graphics type=\"vnc|"
"spice\">"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:613
msgid "L<https://bugzilla.redhat.com/1309706>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:615
msgid "error: internal error: Invalid floppy device name: hdb"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:617
msgid "L<https://bugzilla.redhat.com/1309619>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:619
msgid ""
"Wrong warning info \"use standard VGA\" shows when converting windows > 7 by "
"virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:621
msgid "L<https://bugzilla.redhat.com/1309580>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:623
msgid "OS name of win8.1 x64 guest shows incorrect in rhevm3.6 general info"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:625
msgid "L<https://bugzilla.redhat.com/1308769>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:627
msgid "virt-v2v does not copy additional disks to Glance"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:629
msgid "L<https://bugzilla.redhat.com/1306666>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:631
msgid "Failure when disk contains an LV with activationskip=y"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:633
msgid "L<https://bugzilla.redhat.com/1296606>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:635
msgid ""
"virt-v2v doesn't remove VirtualBox additions correctly because of file "
"quoting"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:637
msgid "L<https://bugzilla.redhat.com/1293527>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:639
msgid ""
"There should be a reminder to avoid user to edit a guest image by multiple "
"tools at the same time in guestfish man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:641
msgid "L<https://bugzilla.redhat.com/1293276>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:643
msgid "guestfish can not ll a symbolic link dir or edit a file in it"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:649
msgid "L<https://bugzilla.redhat.com/1264835>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:651
msgid "ppc64le: virt-customize --install fail to detect the guest arch"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:653
msgid "L<https://bugzilla.redhat.com/1264332>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:655
msgid "Test that trimming in virt-v2v doesn't regress"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:661
msgid "L<https://bugzilla.redhat.com/1229386>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:663
msgid "virt-p2v in non-GUI mode doesn't show any conversion progress or status"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:665
msgid "L<https://bugzilla.redhat.com/1227599>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:667
msgid ""
"P2V invalid password prints unexpected end of file waiting for command "
"prompt."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:669
msgid "L<https://bugzilla.redhat.com/1224795>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:671
msgid "On Ubuntu, virt-builder --install and --update cannot use the network"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:675
msgid ""
"virt-v2v: warning: unknown guest operating system: windows windows 6.3 when "
"converting win8,win8.1,win2012,win2012R2,win10 to rhev"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:677
msgid "L<https://bugzilla.redhat.com/1203898>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:679
msgid "Support inspecting docker images without /etc/fstab"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:681
msgid "L<https://bugzilla.redhat.com/1186935>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:683
msgid ""
"libguestfs cannot inspect recent Fedora / RHEL >= 7 when /usr is a separate "
"partition"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:685
msgid "L<https://bugzilla.redhat.com/1167916>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:687
msgid ""
"P2V: invalid conversion server prints unexpected end of file waiting for "
"password prompt."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:689
msgid "L<https://bugzilla.redhat.com/1152825>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:691
msgid ""
"virt-rescue --selinux can not work well, when enable selinux in the command "
"line the value of 'getenforce' is still Disabled in virt-rescue appliance"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:693
msgid "L<https://bugzilla.redhat.com/1150298>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:695
msgid ""
"ARM 32 bit on Ubuntu: warning: cast to pointer from integer of different "
"size [-Wint-to-pointer-cast]"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:697
msgid "L<https://bugzilla.redhat.com/1089100>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:699
msgid ""
"NetworkManager avc unlink denied for resolv.conf after using --selinux-"
"relabel"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:701
msgid "L<https://bugzilla.redhat.com/983969>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:703
msgid "RFE: virt-sysprep should be SELinux-aware"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:705
msgid "L<https://bugzilla.redhat.com/855058>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:707
msgid "RFE: virt-p2v: display more information about storage devices"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.34.pod:709
msgid "L<https://bugzilla.redhat.com/554829>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.34.pod:711
msgid "SELinux handling could be done better."
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.36.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.36"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.34.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:15
msgid ""
"Virt-tail is a new tool for following (tailing) log files within a guest, "
"similar to the regular C<tail -f> command."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:20
msgid ""
"Virt-customize, virt-get-kernel, virt-sparsify and virt-sysprep can now "
"handle encrypted guests (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:23
msgid ""
"Virt-builder and virt-customize now support I<--append-line>, which is "
"useful for adding lines to the end of configuration files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:26
msgid "Virt-resize can now shrink and expand swap partitions (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:28
msgid "Virt-resize can now output to non-local disks (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:30
msgid ""
"Virt-sysprep has a new operation called C<backup-files> for removing editor "
"backups, and C<passwd-backups> for removing F</etc/passwd-> and similar."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:34
msgid ""
"Virt-dib can now create checksums using the new I<--checksum> option (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:37
msgid ""
"Virt-dib can now create tgz files.  In addition, extended attributes and "
"SELinux labels are preserved in the output tar file (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:41
msgid "Virt-dib can now create squashfs files (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:43
msgid ""
"Bash tab-completion is now available in every command line tool that is "
"shipped."
msgstr ""

#. type: =head3
#: ../docs/guestfs-release-notes-1.36.pod:46
#: ../docs/guestfs-release-notes-1.38.pod:53
#: ../docs/guestfs-release-notes-1.40.pod:44
msgid "virt-v2v and virt-p2v"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:48
msgid ""
"Conversions of Debian (6+) and Ubuntu (10.04+) guests are now supported "
"(Tomáš Golembiovský, Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:51
msgid ""
"Conversions from SUSE Xen hypervisor have now been tested (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:54
msgid ""
"Windows conversions may now install a program C<pnp_wait.exe> which prevents "
"conflicts between the Windows Plug-and-Play Manager and our own scripts that "
"install virtio device drivers.  Enabling this requires the C<pnp_wait.exe> "
"program to be built separately (Roman Kagan)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:60
msgid "OVA files exported from AWS can now be converted (Shahar Havivi)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:62
msgid ""
"When converting OVA files, in some circumstances virt-v2v can now read disk "
"images directly from the OVA input file instead of needing to unpack the OVA "
"file to a temporary directory.  This can save large amounts of disk space, "
"and is quicker (Tomáš Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:67
msgid ""
"Virt-p2v can now be built on RHEL 5 (2007-era) Linux and RHEL 6, which means "
"that 32 bit and hardware with ancient fakeraid disks can be virtualized.  "
"Binaries of virt-p2v based on these old versions of RHEL can be found at "
"http://oirase.annexia.org/virt-p2v/"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:72
msgid ""
"Virt-p2v can now use nbdkit (an NBD server) as an alternative to qemu-nbd.  "
"In addition, virt-p2v can use \"socket activation\" which is a more robust "
"method for opening the NBD listening socket.  Socket activation works with "
"qemu-nbd or nbdkit, but requires the most up to date versions."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:78
msgid ""
"To prevent timeouts during P2V conversions, virt-p2v inhibits power saving "
"on the physical machine, and also sends ping packets over the ssh control "
"and data connections."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:82
msgid ""
"Virt-v2v no longer removes the C<Processor> and C<Intelppm> nodes from the "
"Windows Registry."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:85
msgid ""
"Xen and vCenter conversions can now be done using the libvirt backend, "
"provided libvirt E<ge> 2.1.0 is used."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:88
msgid "F</dev/srX> (SCSI CD-ROM) devices are ignored (Tomáš Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:90
msgid ""
"When converting SUSE Linux guests, use F</etc/modprobe.conf.local> if it "
"exists."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:93
msgid ""
"Removing VMware tools from Linux guests should now work reliably (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:96
msgid ""
"When converting OVA files, virt-v2v now checks the disk image hash contained "
"in the manifest file, whereas previously it was ignored because of a mistake "
"in the code.  In addition, SHA256 hashes are now supported (Tomáš "
"Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:101
msgid ""
"When converting OVA files that contain compressed disk images, we now trust "
"the C<ovf:compression> attribute from the metadata instead of using content "
"sniffing on the disk image (Tomáš Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:105
msgid ""
"A new flag I<--vdsm-compat> has been added to I<-o vdsm> mode, allowing more "
"efficient qcow2 images to be generated."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:108
msgid ""
"Since the RHEV product [commercially supported version of oVirt] has now "
"been renamed to RHV, \"RHEV\" was changed to \"RHV\" throughout the "
"tooling.  In particular, I<-o rhev> becomes I<-o rhv>, although the old name "
"can be used for backwards compatibility."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:113
msgid ""
"The C<RHEV-APT> utility is only installed when the output hypervisor is "
"oVirt or RHV."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:116
msgid ""
"A problem with virt-v2v running out of memory when doing an SELinux relabel "
"of the guest filesystem should now be resolved."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:121
msgid ""
"Setting C<EXTRA_JAVAC_FLAGS> before F<./configure> allows you to add "
"arbitrary flags to C<javac> when compiling the Java bindings."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:124
msgid ""
"Use of any libguestfs API which returned a single struct, from Perl or Java "
"bindings, would have leaked memory.  This has now been fixed (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:130
msgid ""
"Inspection of Windows guests with mildly corrupted Windows Registry hives "
"should now work instead of failing with an error.  This feature requires "
"hivex E<ge> 1.3.14 (Dawid Zamirski)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:134
msgid ""
"For Debian guests, we can now read the URL, source name, summary and full "
"description of installed packages.  For RPM-based guests we can read the "
"URL, summary and description (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:138
msgid ""
"Inspection of guest operating systems that use a separate F</usr> partition "
"should now work more reliably (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:141
msgid ""
"When parsing guest F</etc/fstab>, paths are reduced to a canonical form (eg. "
"C<\"///usr//local//\"> → C<\"/usr/local\">)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:144
msgid ""
"Inspection of btrfs subvolumes now works where the F</etc/fstab> options "
"field contains commas."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:147
msgid "F</dev/cdN> devices in guest F</etc/fstab> are ignored (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:151
msgid ""
"Stable releases are now tested on aarch64, ppc64 and ppc64le architectures."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:154
msgid ""
"The RISC-V architecture is now handled as a guest, and libguestfs will now "
"at least compile on RISC-V (but probably not work as there is no usable qemu "
"at the time of writing)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:158
msgid "Detection of S/390 and S/390x binaries and guests is now supported."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:162
msgid "ExFAT filesystems are now supported (Miles Wolbe)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:168
msgid ""
"There were no CVEs reported in this development cycle.  However some "
"security-related hardening was carried out as described below."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:171
msgid ""
"Temporary filenames are now always generated using randomness from F</dev/"
"urandom> (previously the C function L<random(3)> was used in one case)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:175
#: ../docs/guestfs-release-notes-1.36.pod:350
msgid ""
"The C<$TERM> environment variable is now validated before passing it through "
"to the appliance kernel command line."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:184
msgid "C<guestfs_aug_transform>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:186
msgid "Exposes the Augeas C<aug_transform> API (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:188
msgid "C<guestfs_find_inode>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:190
msgid "Find files by inode number (Matteo Cafasso)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:192
msgid "C<guestfs_inspect_get_windows_software_hive>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:194
msgid "C<guestfs_inspect_get_windows_system_hive>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:196
msgid ""
"Return the path to the Windows C<HKLM\\SYSTEM> and C<HKLM\\SOFTWARE> hives "
"computed during inspection."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:199
msgid "C<guestfs_mksquashfs>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:201
msgid "Create a squashfs filesystem from a path (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:209
msgid "C<guestfs_add_domain>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:211
msgid ""
"This call now handles libvirt file-based volumes correctly, where previously "
"these would have been ignored.  Also handled are disks which require libvirt "
"authentication secrets to open (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:215
msgid "C<guestfs_canonical_device_name>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:217
msgid ""
"This call will no longer incorrectly modify Linux software RAID device names "
"(like F</dev/mdX>)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:220
msgid "C<guestfs_file_architecture>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:222
msgid ""
"Previously the C<file_architecture> API could return either of the strings "
"C<i386> or C<i486> for 32 bit x86 binaries.  It now only returns C<i386> (as "
"documented)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:226
msgid ""
"This API can now return the following new values: C<riscv32>, C<riscv64>, "
"C<riscv128>, C<s390>, C<s390x>."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:229
msgid "C<guestfs_hivex_open>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:231
msgid ""
"This now has an optional C<GUESTFS_HIVEX_OPEN_UNSAFE> flag which allows "
"certain corrupted Windows Registry hives to be opened.  This feature "
"requires hivex E<ge> 1.3.14 (Dawid Zamirski)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:235
msgid "C<guestfs_list_partitions>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:237
msgid "This call now returns Linux software RAID partitions."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:239
msgid "C<guestfs_part_to_dev>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:241
msgid ""
"This call now correctly handles partition names which include "
"C<pE<lt>NE<gt>> (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:244
msgid "C<guestfs_set_label>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:246
msgid "This call can now change the labels of swap partitions (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:252
msgid ""
"libmagic, the library part of the C<file> command, is now required at build "
"time (previously optional)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:255
msgid "GCC 7 is now supported."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:257
msgid ""
"\"Silent rules\" are now used for OCaml programs, Java bindings.  To show "
"the full command line executed, add C<V=1> on the make command line (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:261
msgid ""
"Slow testing (C<make check-slow>) now covers: firstboot scripts in Linux "
"guests; v2v conversion of a selection of real Linux guests; the virt-"
"customize I<--hostname> and I<--timezone> settings; the I<--root-password> "
"parameter; that the serial console works in virt-builder guests."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:267
msgid ""
"Large generated C source files, eg. the list of commands found in F<fish/"
"cmds.c> (and many more), have been split into smaller files to speed "
"parallel compilation."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:271
msgid ""
"C<make maintainer-check-extra-dist> now checks that all generated files are "
"included in the tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:274
msgid ""
"The tests no longer assume that C<.> is in Perl's C<@INC>, as it is going to "
"be removed soon (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:277
msgid "Debian hosts using UsrMerge are now supported (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:279
msgid ""
"Header files and C structs can now have internal documentation using the "
"special C</** ... */> comments."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:282
msgid ""
"C<@VAR@> subtitutions in C<./run> are now fully quoted.  This is necessary "
"so that (eg) C<./configure PYTHON=/some/path> works robustly if C</some/"
"path> contains characters that need to be quoted (Hilko Bengen)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:287
msgid "gperf E<ge> 3.1 is now supported."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:289
msgid ""
"Kraxel's old edk2 builds can no longer be used for UEFI support.  UEFI code "
"is now fully free software, so use the versions bundled with your Linux "
"distro instead."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:293
msgid "Virt-p2v can now be compiled on RHEL 5 (2007-era) Linux with Gtk 2.10."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:297
msgid ""
"The generator and mllib C<Common_utils> modules are now shared from the same "
"source file."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:300
msgid ""
"A considerable amount of common code has been moved into the F<common> "
"directory in the source and is now compiled only once.  The mini-libraries "
"located under here are: F<common/edit>, F<common/errnostring>, F<common/"
"miniexpect>, F<common/options>, F<common/parallel>, F<common/progress>, "
"F<common/protocol>, F<common/utils>, F<common/visit>, F<common/windows>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:307
msgid ""
"The directory containing the main library code has moved from F<src> → "
"F<lib>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:310
msgid ""
"All tests written in shell script now use a common file of utility functions "
"(F<tests/test-functions.sh>).  There are several new utility functions, "
"mainly for skipping tests.  Also these test scripts can now use autoconf-"
"like path variables like C<$abs_top_srcdir>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:315
msgid "UEFI paths are now stored in the generator (F<generator/uefi.ml>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:317
msgid ""
"The way the generator handles actions and procedure numbers was changed "
"quite substantially.  See F<generator/actions_*.ml> and F<generator/proc_nr."
"ml>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:321
msgid ""
"The gnulib C<getprogname> module is now used everywhere when needing/"
"printing the program name (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:324
msgid "F<perl/Guestfs.c> is not translatable (Nikos Skalkotos)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:326
msgid ""
"Virt-builder templates moved from F<builder/website> to F<builder/templates> "
"and there is now a single unified program which can build any template."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:330
msgid ""
"All Windows registry utilities used by virt-customize and virt-v2v have been "
"moved to a common module called C<Registry> under F<mllib>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:333
msgid ""
"All POSIX bindings have been moved to a new module called C<Unix_utils> "
"under F<mllib>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:336
msgid ""
"Inspection, virt-customize and virt-v2v no longer recompute the Windows C<"
"%systemroot%>, C<CurrentControlSet> or paths to the C<HKLM\\SYSTEM> and "
"C<HKLM\\SOFTWARE> hives in multiple places.  Instead these are all computed "
"once (during inspection) and passed to the other tools through various "
"C<guestfs_inspect_get_windows_*> APIs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:342
msgid ""
"C</dev/pts> is now available inside the appliance, so any tools we run which "
"require a pty will now work (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:345
msgid "Most OCaml warnings have been fixed."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:347
msgid ""
"There is now a single common function for creating temporary files "
"(C<guestfs_int_make_temp_path>) (Matteo Cafasso)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:353
msgid ""
"Useless USB and memballoon devices are no longer created in the appliance "
"(Laine Stump)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:356
msgid ""
"On aarch64 we now use virtio-pci for the appliance.  This is somewhat faster "
"than virtio-mmio."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:359
msgid ""
"Use of L<srandom(3)> and L<random(3)> has been minimized.  In particular, "
"temporary filenames are no longer created based on randomness returned by "
"L<random(3)>, but F</dev/urandom> is used instead."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:368
msgid "https_proxy= ./bugs-in-changelog.sh v1.34.0.."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:374
msgid "L<https://bugzilla.redhat.com/1425306>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:376
msgid "typo error in virt-tail man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:378
msgid "L<https://bugzilla.redhat.com/1418283>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:380
msgid "virt-v2v: appliance runs out of memory running setfiles command"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:382
msgid "L<https://bugzilla.redhat.com/1417549>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:384
msgid ""
"/usr/bin/x86_64-linux-gnu-ld.bfd.real: ../common/progress/.libs/libprogress."
"a(libprogress_la-progress.o): undefined reference to symbol "
"'UP@@NCURSES_TINFO_5.0.19991023'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:386
msgid "L<https://bugzilla.redhat.com/1417444>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:388
msgid ""
"*** No rule to make target '../perl/lib/Sys/Guestfs.c', needed by "
"'libguestfs.pot'"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:390
msgid "L<https://bugzilla.redhat.com/1416941>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:392
msgid "compile of 1.34.3 fails with gperf 3.1"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:394
msgid "L<https://bugzilla.redhat.com/1414682>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:396
msgid ""
"guestfs_canonical_device_name incorrectly returns /dev/sd0 for MD devices (/"
"dev/md0)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:398
msgid "L<https://bugzilla.redhat.com/1414510>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:400
msgid "guestfs_list_filesystems does not recognize ddf partitions"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:402
msgid "L<https://bugzilla.redhat.com/1409023>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:404
msgid "[Debian] ldmtool not installed in the appliance"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:406
msgid "L<https://bugzilla.redhat.com/1404287>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:408
msgid ""
"qemu-kvm cannot boot RHEL 7 kernel with TCG, hangs at \"Probing EDD (edd=off "
"to disable)...\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:410
msgid "L<https://bugzilla.redhat.com/1404182>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:412
msgid "RFE: virt-resize should support a URL as the outdisk"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:414
msgid "L<https://bugzilla.redhat.com/1401474>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:416
msgid ""
"Importing VMs from VMware is failing with error \"Inspection field 'i_arch' "
"was 'unknown'\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:418
msgid "L<https://bugzilla.redhat.com/1401320>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:420
msgid "RFE: Increate virt-sysprep coverage a bit"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:422
msgid "L<https://bugzilla.redhat.com/1400205>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:424
msgid "Add --vdsm-compat=1.1 flag for VDSM"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:426
msgid "L<https://bugzilla.redhat.com/1398070>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:428
msgid "typo error in man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:430
msgid "L<https://bugzilla.redhat.com/1392798>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:432
msgid "secrets from libvirt domains are not read"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:434
msgid "L<https://bugzilla.redhat.com/1390876>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:436
msgid "\"--machine-readable\" info should be updated in virt-v2v manual page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:438
#: ../docs/guestfs-release-notes-1.38.pod:556
msgid "L<https://bugzilla.redhat.com/1379289>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:440
#: ../docs/guestfs-release-notes-1.38.pod:558
msgid "RFE: virt-p2v should support mnemonic operations"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:442
#: ../docs/guestfs-release-notes-1.38.pod:560
msgid "L<https://bugzilla.redhat.com/1378022>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:444
#: ../docs/guestfs-release-notes-1.38.pod:562
msgid ""
"There is virt-v2v warning about <listen type='none'> during converting a "
"guest which has listen type='none' in XML"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:446
msgid "L<https://bugzilla.redhat.com/1377081>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:448
msgid "virt-p2v manual should update the new dialog information"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:450
msgid "L<https://bugzilla.redhat.com/1375157>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:452
msgid ""
"virt-v2v: -i ova: Permission denied when using libvirt and running as root"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:454
msgid "L<https://bugzilla.redhat.com/1374651>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:456
msgid ""
"Can't install qxl driver for display device in win7 guest after converting "
"to glance by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:458
msgid "L<https://bugzilla.redhat.com/1374405>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:460
msgid "There is HTTP 404 error info when convert guest to glance by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:462
#: ../docs/guestfs-release-notes-1.38.pod:568
msgid "L<https://bugzilla.redhat.com/1374232>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:464
#: ../docs/guestfs-release-notes-1.38.pod:570
msgid ""
"selinux relabel fails on RHEL 6.2 guests with \"libguestfs error: "
"selinux_relabel: : Success\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:466
msgid "L<https://bugzilla.redhat.com/1372668>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:468
msgid ""
"Process status is not normal in windows guest after converted from kvm to "
"rhev by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:470
msgid "L<https://bugzilla.redhat.com/1372269>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:472
msgid "Builder does not set hostname properly for Debian 8 (Jessie)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:474
msgid "L<https://bugzilla.redhat.com/1371843>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:476
msgid "Improve OVA import compatibility"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:478
msgid "L<https://bugzilla.redhat.com/1370424>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:480
msgid "virt-manager coredump when vm with gluster image exists"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:482
msgid "L<https://bugzilla.redhat.com/1367839>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:484
msgid "Cannot import VMs from Xen and VMware when using RHEL7.3 host."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:486
#: ../docs/guestfs-release-notes-1.38.pod:572
msgid "L<https://bugzilla.redhat.com/1367738>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:488
#: ../docs/guestfs-release-notes-1.38.pod:574
msgid ""
"Missing bash completion scripts for: virt-diff guestunmount virt-copy-in "
"virt-copy-out virt-customize virt-get-kernel virt-p2v-make-disk virt-p2v-"
"make-kickstart virt-tar-in virt-tar-out virt-v2v-copy-to-local virt-win-reg"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:490
msgid "L<https://bugzilla.redhat.com/1367615>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:492
msgid ""
"OVMF file which is built for rhel7.3 can't be used for virt-v2v uefi "
"conversion"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:494
msgid "L<https://bugzilla.redhat.com/1366456>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:496
msgid ""
"Converting rhel7 host installed on RAID:warning: fstrim: fstrim: /sysroot/: "
"the discard operation is not supported"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:498
msgid "L<https://bugzilla.redhat.com/1366049>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:500
msgid ""
"RFE: libvirt backend: support handling disks stored as volume name in a pool"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:502
msgid "L<https://bugzilla.redhat.com/1365005>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:504
msgid "Guest name is incorrect if convert guest from disk image by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:506
#: ../docs/guestfs-release-notes-1.38.pod:576
msgid "L<https://bugzilla.redhat.com/1362649>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:508
#: ../docs/guestfs-release-notes-1.38.pod:578
msgid "RFE: virt-sysprep does not utilize libguestfs encryption support"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:510
msgid "L<https://bugzilla.redhat.com/1354507>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:512
msgid ""
"virt-v2v conversions from vCenter do not consistently obey the proxy "
"environment variables"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:518
msgid "L<https://bugzilla.redhat.com/1161019>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:520
msgid "RFE: Only install RHEV-APT if virt-v2v -o rhev/-o vdsm option is used"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:522
msgid "L<https://bugzilla.redhat.com/1152369>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:524
msgid ""
"virt-v2v failed to convert RHEL 6.7 UEFI guest: no grub1/grub-legacy or "
"grub2 configuration file was found"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:528
msgid ""
"[RFE] virt-v2v should support convert a guest to a dir-pool with using "
"pool's uuid"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:530
msgid "L<https://bugzilla.redhat.com/1134878>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:532
msgid "libvirt reports json \"backing file\" is missing"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:534
msgid "L<https://bugzilla.redhat.com/1019388>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:536
msgid ""
"firstboot scripts (virt-builder, virt-sysprep) don't work for Debian 6 & 7 "
"guests"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.36.pod:538
msgid "L<https://bugzilla.redhat.com/737600>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.36.pod:540
msgid ""
"virt-v2v windows xp - machine dies BSOD - processr,sys - workaround provided"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.38.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.38"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.36.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:15
msgid ""
"Virt-builder-repository is a new tool allowing end users to create and "
"update virt-builder repositories (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:18
msgid ""
"Virt-rescue (while not a new tool) has been substantially rewritten, "
"implementing job control, I<-m> and I<-i> options, escape keys, etc."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:23
msgid ""
"Virt-builder planner has been improved so that faster and more efficient "
"build plans are chosen for complex cases, especially when either the tmpdir "
"or output is on networked storage."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:27
msgid ""
"New virt-builder Fedora templates (starting with Fedora 26) will have plain "
"partition layout and use GPT for partitions."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:30
msgid ""
"Virt-customize \"firstboot\" scripts in guests using systemd are now "
"installed under the C<multi-user.target> instead of C<default.target> so "
"they will only run when the system is booted normally."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:34
msgid ""
"Virt-customize now sets a random F</etc/machine-id> for Linux guests, if one "
"is not already set."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:37
msgid ""
"Virt-df now works correctly on filesystems with block sizes smaller than 1K "
"(Nikolay Ivanets)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:40
msgid ""
"Virt-dib has further compatibility enhancements with diskimage-builder (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:43
msgid "Virt-sysprep removes C<DHCP_HOSTNAME> from F<ifcfg-*> files."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:45
msgid "Virt-sysprep now works on Oracle Linux (Jamie Iles)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:47
msgid ""
"Virt-resize now correctly copies GPT partition attributes from the source to "
"the destination (Cédric Bosdonnat)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:50
msgid ""
"Bash tab completion implemented or enhanced for: virt-win-reg, virt-v2v-copy-"
"to-local."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:55
msgid ""
"Virt-v2v can now read VMware VMX files directly, either from local disk, NFS "
"storage, or over SSH from an ESXi hypervisor."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:58
msgid "Virt-v2v can now use VDDK as an input source."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:60
msgid ""
"Both virt-v2v and virt-p2v are now able to pass through the source CPU "
"vendor, model and topology.  However unfortunately not all source and target "
"hypervisors are able to provide or consume this data at present (Tomáš "
"Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:65
msgid "Virt-v2v now supports encrypted guests (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:67
msgid ""
"Virt-v2v can now handle VMware snapshots.  Note that the snapshots are "
"collapsed — it I<does not> convert the chain of snapshots into a chain of "
"snapshots."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:71
msgid ""
"Virt-v2v now installs Windows 10 / Windows Server 2016 virtio block drivers "
"correctly (Pavel Butsykin, Kun Wei)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:74
msgid ""
"Virt-v2v now installs virtio-rng, balloon and pvpanic drivers, and correctly "
"sets this in the target hypervisor metadata for hypervisors which support "
"that (Tomáš Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:78
msgid ""
"Virt-v2v now installs both legacy and modern virtio keys in the Windows "
"registry (Ladi Prosek)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:81
msgid ""
"Virt-p2v can now preserve (in some cases) the offset of the Real Time Clock "
"from UTC."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:84
msgid ""
"Virt-p2v now combines several scp commands to the conversion server into a "
"single command, improving conversion times."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:87
msgid ""
"Virt-v2v now detects the special Linux Xen PV-only kernels correctly (Laszlo "
"Ersek)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:90
msgid ""
"Virt-v2v I<-o glance> now generates the right properties for UEFI guests "
"(Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:93
msgid ""
"Virt-v2v I<-o null> now avoids spooling the guest to a temporary file, "
"instead it writes to the qemu \"null block device\".  This makes it faster "
"and use almost no disk space."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:97
msgid "Virt-v2v I<-o rhv> now supports Windows 2016 Server guest type."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:99
msgid ""
"Virt-v2v I<-i libvirtxml> can now open network disks over http or https."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:102
msgid ""
"Virt-v2v will now give a warning about host passthrough devices (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:105
msgid ""
"The virt-v2v I<--machine-readable> output has been enhanced so it includes "
"C<vcenter-https>, C<xen-ssh> and C<in-place> facts (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:111
msgid ""
"Fix multiple memory leaks and other data corruption problems in the Java "
"bindings (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:114
msgid "Perl C<%guestfs_introspection> has been dropped."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:118
msgid ""
"Inspection support was rewritten in OCaml and included inside the daemon.  "
"This makes inspection considerably faster, more robust and more easily "
"extensible in future."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:122
msgid "Better icon support for ALT Linux guests (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:124
msgid "Better support for NeoKylin (Qingzheng Zhang)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:126
msgid ""
"Can handle OSes like Void Linux which do not include C<VERSION_ID> in F</etc/"
"os-release> (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:129
msgid "Add support for Microsoft MS-DOS (Daniel Berrangé)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:133
msgid ""
"Multiple fixes for S/390 architecture.  Libguestfs and all the tools should "
"now compile and run on this architecture."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:138
msgid ""
"The libguestfs API is now thread-safe (although not parallel).  You can call "
"APIs on the same handle from multiple threads without needing to take a lock."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:144
msgid ""
"There were multiple vulnerabilities in the icoutils C<wrestool> program "
"which is run by libguestfs to create icons for Windows guests.  Using the "
"latest C<wrestool> is recommended."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:154
msgid "C<hivex_value_string>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:156
msgid ""
"This replaces the deprecated C<hivex_value_utf8> API, but does the same "
"thing."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:159
msgid "C<part_get_gpt_attributes>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:161
msgid "C<part_set_gpt_attributes>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:163
msgid "Read and write GPT partition attribute flags (Cédric Bosdonnat)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:165
msgid "C<part_resize>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:167
msgid "Enlarge or shrink an existing partition (Nikos Skalkotos)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:169
msgid "C<yara_destroy>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:171
msgid "C<yara_load>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:173
msgid "C<yara_scan>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:175
msgid "Support for the Yara malware scanning engine (Matteo Cafasso)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:181
msgid ""
"APIs implemented in the daemon can now be written in either C or OCaml.  "
"Several APIs were rewritten in OCaml, although we are not planning to "
"rewrite all of them."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:185
msgid ""
"You will now get a clear error message if you try to add too many disks to "
"the appliance, instead of getting a peculiar failure from qemu."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:189
msgid ""
"Certain APIs accidentally allowed you to use C</dev/urandom> as an input "
"\"device\", eg. C<g.copy_device_to_device(\"/dev/urandom\", \"/dev/sda\")>.  "
"The code has been modified to I<forbid> this usage."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:193
msgid ""
"All APIs for inspecting installer CDs have been deprecated.  Use libosinfo "
"for this task."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:198
msgid ""
"A working OCaml compiler E<ge> 4.01 is now required for building "
"libguestfs.  The C<./configure --disable-ocaml> option remains but is only "
"used to disable the OCaml language bindings."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:202
msgid ""
"Add C<RELEASES> file which lists release dates for each version of "
"libguestfs.  You must update this file when making a new release."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:205
msgid ""
"Documentation generated by C<gtk-doc> has been removed.  C<./configure --"
"enable-gtk-doc> now does nothing."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:208
msgid ""
"Libtirpc is now used for XDR functions and rpcgen.  Note that glibc has "
"deprecated and in most Linux distros dropped these, so for most people this "
"will be an extra dependency (Martin Kletzander)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:212
msgid ""
"Libxcrypt is now used for L<crypt(3)>.  This is required if using glibc "
"E<ge> 2.27."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:215
msgid "C<ocaml-hivex> is now required."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:217
msgid "Libvirt E<ge> 1.2.20 is now required."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:219
msgid ""
"There is now a C<make check-root> target for tests which need to be run as "
"root (analogous to C<make check-slow>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:222
msgid ""
"C<./configure>-time check for C<__attribute__((cleanup))> now works in the "
"cross-compilation case (Yann E. Morin)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:225
msgid ""
"The C<AUTHORS> and C<p2v/about-authors.c> files are now generated from a "
"single place."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:228
msgid "Either GnuPG v1 or v2 can be used."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:230
msgid ""
"C<./configure --with-guestfs-path> may be used to set the default "
"C<LIBGUESTFS_PATH>.  In addition the way that the path is searched has "
"changed slightly so that all types of appliances are searched in each path "
"element separately (Pavel Butsykin)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:235
msgid ""
"C<GUESTFSD_EXT_CMD> which was used to mark external commands in the daemon "
"has been removed.  It was originally used by SUSE builds, but they have not "
"been using it for a while."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:239
msgid ""
"The output from C<./configure> is now visually grouped under headings "
"related to what it is doing, making it much easier to scan (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:243
msgid ""
"OCaml dependencies are now generated from a single script instead of "
"multiple not-quite-the-same Makefile fragments."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:246
msgid ""
"C<./configure --with-distro=ID> can be used to override automatic Linux "
"distro detection at build time (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:249
msgid ""
"qemu E<ge> 2.10 is supported (but not required).  This adds mandatory "
"locking to disks and libguestfs turns this off in certain circumstances when "
"it is known to be safe (Lars Seipel, Peter Krempa, Daniel Berrangé, Pino "
"Toscano, Fam Zheng, Yongkui Guo, Václav Kadlčík)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:257
msgid ""
"Most common code has been moved to the F<common/> subdirectory, with OCaml "
"common code being in F<common/ml*> directories (eg.  F<common/visit> and "
"F<common/mlvisit> contain the visitor library in C and OCaml respectively).  "
"The F<mllib> directory has been deleted and replaced by F<common/mltools>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:263
msgid ""
"There is now a lightweight OCaml binding for PCRE, see F<common/mlpcre>.  "
"Use of OCaml C<Str> library has been mostly replaced with PCRE."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:267
msgid ""
"Add more calls to C<udev_settle> to improve stability of partition code "
"(Dawid Zamirski)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:270
msgid ""
"Run C<udev_settle> with I<--exit-if-exists> option, which improves the speed "
"of this command (Pavel Butsykin)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:273
msgid "Detect new locations of L<major(3)>, L<minor(3)>, L<makedev(3)>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:275
msgid ""
"Actions can now be deprecated with no suggested replacement, for APIs such "
"as C<guestfs_wait_ready> that should simply be removed from client code."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:279
msgid ""
"Use gnulib C<set_nonblocking_flag> wrapper instead of calling L<fcntl(2)> "
"with C<O_NONBLOCK> (Eric Blake).  Similarly C<set_cloexec_flag>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:283
msgid ""
"Fix memory leak in XFS version of C<guestfs_vfs_minimum_size> (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:286
msgid "Valgrind checks now run on the virt-p2v binary."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:288
msgid ""
"Unicode single quotes (C<‘’>) and now used in place of C<''> or C<`'> "
"throughout the code and documentation.  Similarly for C<’s> instead of C<'s>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:292
msgid ""
"The C<is_zero> function has been reimplemented for greater speed (Eric "
"Blake)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:295
msgid ""
"In the direct backend, virtio-blk support has been removed.  Virtio-scsi is "
"now the only supported way to add disks."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:298
msgid ""
"Generator string parameter and return types have been rationalised so there "
"are only two types (C<String>, C<StringList>) with many subtypes eg. "
"C<FileIn> becomes C<String (FileIn, ...)>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:302
msgid ""
"The appliance disk image can now be in formats other than raw (Pavel "
"Butsykin)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:305
msgid ""
"Multiple improvements to how we automatically build Debian templates for "
"virt-builder (Pino Toscano).  Enable serial console for these templates "
"(Florian Klink)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:309
msgid ""
"In the daemon, instead of making a private copy of lvm.conf and modifying it "
"(eg for filters), start with an empty file since LVM understands that to "
"mean \"all defaults\" (Alasdair Kergon, Zdenek Kabelac)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:314
msgid ""
"The C<direct> backend can now run QMP queries against the QEMU binary, "
"enhancing the kinds of information we can detect.  In addition the code to "
"query QEMU has been made more robust for handling multiple parallel queries "
"of different versions of QEMU."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:319
msgid ""
"OCaml Augeas bindings are bundled under F<common/mlaugeas>.  The long term "
"plan is to remove this and use system ocaml-augeas when it is more widely "
"available in distros (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:323
msgid ""
"All OCaml modules (C<*.ml> files) are now required to have an interface file "
"(C<*.mli>).  If they don't export anything then the interface will be empty "
"except for comments."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:327
msgid ""
"Certain OCaml features in OCaml E<ge> 4.01 are used throughout the code, "
"including replacing ‘{ field = field }’ with ‘{ field }’."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:330
msgid ""
"Virt-builder C<make-template> utility now uses the C<virt-install --"
"transient> option so that we should never need to clean up left over domains "
"after a crash.  It also saves kickstarts and virt-install commands, which "
"are committed to git for future reference."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:335
msgid "F</dev/shm> is now created in the appliance (Nicolas Hicher)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:337
msgid ""
"In verbose mode on Fedora guests, virt-customize will now use C<dnf --"
"verbose> enabling better debugging output."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:340
msgid ""
"Virt-v2v input and output classes now contain a C<#precheck> method which is "
"used to perform environmental checks before conversion starts."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:344
msgid ""
"Virt-p2v enables miniexpect debugging.  It is written to stderr (of virt-"
"p2v)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:347
msgid ""
"Virt-v2v free space checks are more liberal especially for smaller guests "
"(Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:354
msgid "https_proxy= ./bugs-in-changelog.sh v1.36.0.."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:360
msgid "L<https://bugzilla.redhat.com/1540535>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:362
msgid ""
"Example URI of \"Convert from ESXi hypervisor over SSH to local libvirt\" is "
"incorrect in v2v man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:364
msgid "L<https://bugzilla.redhat.com/1539395>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:366
msgid "virt-customize segfaults after upgrading to 1.37.35-3"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:368
msgid "L<https://bugzilla.redhat.com/1536765>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:370
msgid "Libguestfs Perl bindings can leak a small amount of memory on error"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:372
msgid "L<https://bugzilla.redhat.com/1536763>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:374
msgid "libguestfs Lua bindings use strerror(), which isn’t thread safe"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:376
msgid "L<https://bugzilla.redhat.com/1536603>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:378
msgid ""
"man page makes no mention of using '--' when trying to change exit on error "
"behavior"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:380
msgid "L<https://bugzilla.redhat.com/1525241>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:382
msgid "virt-df displays zeros for filesystems with block size =512"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:384
msgid "L<https://bugzilla.redhat.com/1519204>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:386
msgid ""
"v2v should improve the result when convert a rhel7.4 guest with no available "
"kernels found in the bootloader"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:388
msgid "L<https://bugzilla.redhat.com/1518517>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:390
msgid ""
"virt-v2v fails with \"unsupported configuration: shared access for disk "
"'sdb' requires use of supported storage format\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:392
msgid "L<https://bugzilla.redhat.com/1516094>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:394
msgid ""
"Mere presence of QEMU file locking options breaks NBD (Block protocol 'nbd' "
"doesn't support the option 'locking')"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:396
msgid "L<https://bugzilla.redhat.com/1514756>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:398
msgid ""
"./configure --disable-ocaml breaks building common/mlpcre which breaks "
"building daemon"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:400
msgid "L<https://bugzilla.redhat.com/1513884>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:402
msgid "[RFE]Should update some vddk info in v2v man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:404
msgid "L<https://bugzilla.redhat.com/1508874>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:406
msgid "virt-v2v: warning: ova disk has an unknown VMware controller type (20)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:408
msgid "L<https://bugzilla.redhat.com/1506572>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:410
msgid "virt-v2v '-i ova' is not parsing the MAC address from the source OVF"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:412
msgid "L<https://bugzilla.redhat.com/1506511>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:414
msgid ""
"virt-builder fails to parse repo file if it has blank space after the "
"repository identifier"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:416
msgid "L<https://bugzilla.redhat.com/1503958>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:418
msgid ""
"Failed to convert the rhel5 guest with kmod-xenpv installed from xen server "
"by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:420
msgid "L<https://bugzilla.redhat.com/1503497>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:422
msgid ""
"qemu-kvm fails to open qcow2 files in read-only mode with qemu-kvm 1.5.3"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:424
msgid "L<https://bugzilla.redhat.com/1500673>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:426
msgid ""
"Error info shows wrong sometimes when ssh to conversion server using non-"
"root user with sudo on p2v client"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:428
msgid "L<https://bugzilla.redhat.com/1500537>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:430
msgid "/dev/shm does not exist in the appliance environment"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:432
msgid "L<https://bugzilla.redhat.com/1497475>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:434
msgid "guestfish cannot list commands from interactive mode"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:436
msgid "L<https://bugzilla.redhat.com/1493048>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:438
msgid "Unbound constructor Hivex.OPEN_UNSAFE"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:440
msgid "L<https://bugzilla.redhat.com/1484957>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:442
msgid "bump debian images to use single-partition layout"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:444
msgid "L<https://bugzilla.redhat.com/1482737>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:446
msgid ""
"virt-resize failed to expand swap partition for RHEL5.11 guest image with "
"\"parsing UUID failed\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:448
msgid "L<https://bugzilla.redhat.com/1477623>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:450
msgid "Running file API on a special chardev may hang forever"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:452
msgid "L<https://bugzilla.redhat.com/1476081>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:454
msgid ""
"inspect-os report error: could not parse integer in version number: V7Update2"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:456
msgid "L<https://bugzilla.redhat.com/1472719>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:458
msgid ""
"[RFE]Add warning in process of v2v converting guest which has pci "
"passthrough device"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:460
msgid "L<https://bugzilla.redhat.com/1472208>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:462
msgid ""
"virt-v2v fails on opensuse 13.2 guest with error: statns: statns_stub: path "
"must start with a / character"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:464
msgid "L<https://bugzilla.redhat.com/1469655>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:466
msgid "firstboot scripts are not correctly installed in Fedora 26"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:468
msgid "L<https://bugzilla.redhat.com/1466563>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:470
msgid "Libguestfs should pass copyonread flag through to the libvirt XML"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:472
msgid "L<https://bugzilla.redhat.com/1465665>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:474
msgid ""
"1.36.x build failure: gtkdocize fails using newer autotools due to missing "
"GTK_DOC_CHECK in configure.ac"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:476
msgid "L<https://bugzilla.redhat.com/1460338>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:478
msgid "guestfs_shutdown hangs if main process sets signal handlers"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:480
msgid "L<https://bugzilla.redhat.com/1459979>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:482
msgid ""
"guestfs_add_domain_argv fails with readonly option when vdi/vhd disk is "
"attached to libvirt domain"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:484
msgid "L<https://bugzilla.redhat.com/1451665>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:486
msgid "RFE: Virt-v2v can't convert the guest which has encrypted partition"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:488
msgid "L<https://bugzilla.redhat.com/1450325>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:490
msgid "document URI format for -a parameters of tools"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:492
msgid "L<https://bugzilla.redhat.com/1448739>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:494
msgid "RFE: Support multicore decompression for OVA files using pigz and pxz"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:496
msgid "L<https://bugzilla.redhat.com/1447202>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:498
msgid "Win 2016 guest is described as Win 10 after imported to RHEVM"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:500
msgid "L<https://bugzilla.redhat.com/1441197>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:502
msgid "RFE: ability to convert VMware virtual machines via vmx"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:504
msgid "L<https://bugzilla.redhat.com/1438939>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:506
msgid "Please drop or update GnuPG (1.4.x) dependency"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:508
msgid "L<https://bugzilla.redhat.com/1438794>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:510
msgid "[RFE] Install Windows virtio-rng drivers on VMs imported"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:512
msgid "L<https://bugzilla.redhat.com/1433937>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:514
msgid "virt-inspector can't get icon info from altlinux-centaurus"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:516
msgid "L<https://bugzilla.redhat.com/1433577>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:518
msgid "policycoreutils setfiles >= 2.6 does .. nothing"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:520
msgid "L<https://bugzilla.redhat.com/1431579>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:522
msgid "Windows 8 UEFI from VMware to KVM fails to boot after conversion"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:524
msgid "L<https://bugzilla.redhat.com/1430680>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:526
msgid ""
"There is error info about \"No such file or directory\" when convert a guest "
"from ova file by v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:528
msgid "L<https://bugzilla.redhat.com/1430184>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:530
msgid "virt-dib should generate sha256 checksum instead of sha512"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:532
msgid "L<https://bugzilla.redhat.com/1429506>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:534
msgid ""
"RFE: OVMF should be detected on conversion server to prevent failed "
"conversion"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:536
msgid "L<https://bugzilla.redhat.com/1429491>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:538
msgid "Should rename network name of rhv in virt-v2v man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:540
msgid "L<https://bugzilla.redhat.com/1427529>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:542
msgid "virt-sysprep should remove DHCP_HOSTNAME"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:544
msgid "L<https://bugzilla.redhat.com/1417306>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:546
msgid "QEMU image file locking (libguestfs)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:548
msgid "L<https://bugzilla.redhat.com/1409024>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:550
msgid "[Debian] Missing db_dump abort inspection"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:552
msgid "L<https://bugzilla.redhat.com/1406906>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:554
msgid "Segmentation fault when reading corrupted path with Python 3 bindings"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:564
msgid "L<https://bugzilla.redhat.com/1376547>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:566
msgid ""
"qemu-system-s390x: -device isa-serial,chardev=charserial0,id=serial0: 'isa-"
"serial' is not a valid device model name"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:580
msgid "L<https://bugzilla.redhat.com/1172425>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:582
msgid "[RFE]virt-v2v failed to convert VMware ESX VM with snapshot"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:584
msgid "L<https://bugzilla.redhat.com/1171654>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:586
msgid ""
"Modify a file in virt-rescue with vi on some linux terminal such as yakuake, "
"can lead to abnormal display in virt-rescue shell"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.38.pod:592
msgid "L<https://bugzilla.redhat.com/1152819>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.38.pod:594
msgid ""
"Can not end a running command in virt-rescue by press ^C or other keys, the "
"only way is to exit virt-rescue"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.4.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.4"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.4"

#. type: textblock
#: ../docs/guestfs-release-notes-1.4.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.2.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.2.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:13
#, no-wrap
msgid ""
" - guestfish lets you choose a prepared disk image, eg:\n"
"     guestfish -N fs:ext4\n"
"\n"
msgstr ""
" - guestfish lets you choose a prepared disk image, eg:\n"
"     guestfish -N fs:ext4\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:16
#, no-wrap
msgid ""
" - Add write support to guestmount (FUSE) module.\n"
"\n"
msgstr ""
" - Add write support to guestmount (FUSE) module.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:18
#, no-wrap
msgid ""
" - virt-resize can now resize the content of partitions and logical\n"
"   volumes in the guest, and we have better support for shrinking guests.\n"
"\n"
msgstr ""
" - virt-resize can now resize the content of partitions and logical\n"
"   volumes in the guest, and we have better support for shrinking guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:21
#, no-wrap
msgid ""
" - Bash tab-completion script for guestfish.\n"
"\n"
msgstr ""
" - Bash tab-completion script for guestfish.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:23
#, no-wrap
msgid ""
" - Add ZFS support to virt-rescue.\n"
"\n"
msgstr ""
" - Add ZFS support to virt-rescue.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:25
#, no-wrap
msgid ""
" - New tool 'virt-make-fs' for creating filesystems with content.\n"
"\n"
msgstr ""
" - New tool 'virt-make-fs' for creating filesystems with content.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:27
#, no-wrap
msgid ""
" - Allow suffixes on any guestfish number parameter, eg. \"1M\".\n"
"\n"
msgstr ""
" - Allow suffixes on any guestfish number parameter, eg. \"1M\".\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:29
#, no-wrap
msgid ""
" - guestfish 'man' command opens the manual page.\n"
"\n"
msgstr ""
" - guestfish 'man' command opens the manual page.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:31
#, no-wrap
msgid ""
" - guestfish supports a \"heredoc\" syntax for uploading files:\n"
"     upload -<<_end_ /foo\n"
"     content\n"
"     _end_\n"
"\n"
msgstr ""
" - guestfish supports a \"heredoc\" syntax for uploading files:\n"
"     upload -<<_end_ /foo\n"
"     content\n"
"     _end_\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:36
#, no-wrap
msgid ""
" - Some guestfish commands now print their output in octal or hex\n"
"   where appropriate (RHBZ#583242).\n"
"\n"
msgstr ""
" - Some guestfish commands now print their output in octal or hex\n"
"   where appropriate (RHBZ#583242).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:39
#, no-wrap
msgid ""
" - Allow dash prefix on guestfish command line.  This ignores any\n"
"   error from the second command:                   (RHBZ#578407)\n"
"     guestfish -- cmd1 : -cmd2 : cmd3\n"
"\n"
msgstr ""
" - Allow dash prefix on guestfish command line.  This ignores any\n"
"   error from the second command:                   (RHBZ#578407)\n"
"     guestfish -- cmd1 : -cmd2 : cmd3\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:43
#, no-wrap
msgid ""
" - guestfish -h / help command now returns an error for non-existent\n"
"   commands (RHBZ#597145).\n"
"\n"
msgstr ""
" - guestfish -h / help command now returns an error for non-existent\n"
"   commands (RHBZ#597145).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:46
#, no-wrap
msgid ""
" - New 'supported' command in guestfish to list optional groups of\n"
"   commands which are supported by the daemon / configuration.\n"
"\n"
msgstr ""
" - New 'supported' command in guestfish to list optional groups of\n"
"   commands which are supported by the daemon / configuration.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:49
#, no-wrap
msgid ""
" - virt-inspector and guestfish -i now work for filenames which\n"
"   contain spaces (RHBZ#507810).\n"
"\n"
msgstr ""
" - virt-inspector and guestfish -i now work for filenames which\n"
"   contain spaces (RHBZ#507810).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:52
#, no-wrap
msgid ""
" - Change the protocol to use link-local addresses, to avoid\n"
"   conflicting with any address that the host might be using\n"
"   (RHBZ#588763).\n"
"\n"
msgstr ""
" - Change the protocol to use link-local addresses, to avoid\n"
"   conflicting with any address that the host might be using\n"
"   (RHBZ#588763).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:56
#, no-wrap
msgid ""
" - libguestfs now sets the correct time and timezone on filesystem\n"
"   modifications.\n"
"\n"
msgstr ""
" - libguestfs now sets the correct time and timezone on filesystem\n"
"   modifications.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:59
#, no-wrap
msgid ""
" - Sort the domains into alphabetical order in virt-df.\n"
"\n"
msgstr ""
" - Sort the domains into alphabetical order in virt-df.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:61
#, no-wrap
msgid ""
" - Make mkfs-b command work for FAT and NTFS by mapping the blocksize\n"
"   parameter to the cluster size (RHBZ#599464).\n"
"\n"
msgstr ""
" - Make mkfs-b command work for FAT and NTFS by mapping the blocksize\n"
"   parameter to the cluster size (RHBZ#599464).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:64
#, no-wrap
msgid ""
" - Add version numbers to Perl modules (RHBZ#521674).\n"
"\n"
msgstr ""
" - Add version numbers to Perl modules (RHBZ#521674).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:66
#, no-wrap
msgid ""
" - Localization now works for all the libguestfs tools (RHBZ#559963).\n"
"\n"
msgstr ""
" - Localisation now works for all the libguestfs tools (RHBZ#559963).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:68
#, no-wrap
msgid ""
" - Tools now support filesystem-on-image VMs (RHBZ#590167).\n"
"\n"
msgstr ""
" - Tools now support filesystem-on-image VMs (RHBZ#590167).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:70
#, no-wrap
msgid ""
" - virt-list-partitions has a '-t' option to show the total size of disks.\n"
"\n"
msgstr ""
" - virt-list-partitions has a '-t' option to show the total size of disks.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:72
#, no-wrap
msgid ""
" - Include extra Augeas lenses in the supermin appliance (Matthew Booth).\n"
"\n"
msgstr ""
" - Include extra Augeas lenses in the supermin appliance (Matthew Booth).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:74
#, no-wrap
msgid ""
" - Add error and close callbacks.\n"
"\n"
msgstr ""
" - Add error and close callbacks.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:76
#, no-wrap
msgid ""
" - Add explicit close method in the Perl API.\n"
"\n"
msgstr ""
" - Add explicit close method in the Perl API.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:78
#, no-wrap
msgid ""
" - Multiple fixes for RHEL 5 compatibility.\n"
"\n"
msgstr ""
" - Multiple fixes for RHEL 5 compatibility.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:80
#, no-wrap
msgid ""
" - Multiple fixes for Debian/Ubuntu compatibility.\n"
"\n"
msgstr ""
" - Multiple fixes for Debian/Ubuntu compatibility.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:82
#, no-wrap
msgid ""
" - Multiple revisions to improve the documentation.\n"
"\n"
msgstr ""
" - Multiple revisions to improve the documentation.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:86
#, no-wrap
msgid ""
" - Fix a potential DoS in virt-inspector and virt-v2v if a specially\n"
"   crafted disk image contained a char device in place of one of the\n"
"   configuration files that we read under /etc (RHBZ#582484).\n"
"\n"
msgstr ""
" - Fix a potential DoS in virt-inspector and virt-v2v if a specially\n"
"   crafted disk image contained a char device in place of one of the\n"
"   configuration files that we read under /etc (RHBZ#582484).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:92
#, no-wrap
msgid ""
" - aug-clear - clear Augeas path\n"
" - available-all-groups - return a list of all optional groups\n"
" - base64-in - upload base64-encoded data to file\n"
" - base64-out - download file and encode as base64\n"
" - checksum-device - compute checksums on the contents of a device\n"
" - checksums-out - compute checksums of multiple files in a directory\n"
" - debug-upload - upload a file to the appliance\n"
" - fallocate64 - preallocate a file in the guest filesystem\n"
" - fill-pattern - fill a file with a repeating pattern of bytes\n"
" - get-umask - get the current umask\n"
" - lvresize-free - expand an LV to fill free space\n"
" - ntfsresize - resize an NTFS filesystem\n"
" - ntfsresize-size - resize an NTFS filesystem (with size)\n"
" - part-del - delete a partition\n"
" - part-get-bootable - get the bootable flag of a partition\n"
" - part-get-mbr-id - get the MBR type byte of a partition\n"
" - part-set-mbr-id - set the MBR type byte of a partition\n"
" - pvresize-size - resize a physical volume (with size)\n"
" - pwrite - write to part of a file\n"
" - resize2fs-size - resize an ext2/3/4 filesystem (with size)\n"
" - txz-in - unpack compressed tarball to directory (RHBZ#580556)\n"
" - txz-out - pack directory into compressed tarball (RHBZ#580556)\n"
" - vfs-label - get the filesystem label\n"
" - vfs-uuid - get the filesystem UUID\n"
" - vgscan - rescan for LVM physical volumes, volume groups and logical volumes\n"
" - write - create a new file\n"
" - zero-device - write zeroes to an entire device\n"
"\n"
msgstr ""
" - aug-clear - clear Augeas path\n"
" - available-all-groups - return a list of all optional groups\n"
" - base64-in - upload base64-encoded data to file\n"
" - base64-out - download file and encode as base64\n"
" - checksum-device - compute checksums on the contents of a device\n"
" - checksums-out - compute checksums of multiple files in a directory\n"
" - debug-upload - upload a file to the appliance\n"
" - fallocate64 - preallocate a file in the guest filesystem\n"
" - fill-pattern - fill a file with a repeating pattern of bytes\n"
" - get-umask - get the current umask\n"
" - lvresize-free - expand an LV to fill free space\n"
" - ntfsresize - resize an NTFS filesystem\n"
" - ntfsresize-size - resize an NTFS filesystem (with size)\n"
" - part-del - delete a partition\n"
" - part-get-bootable - get the bootable flag of a partition\n"
" - part-get-mbr-id - get the MBR type byte of a partition\n"
" - part-set-mbr-id - set the MBR type byte of a partition\n"
" - pvresize-size - resize a physical volume (with size)\n"
" - pwrite - write to part of a file\n"
" - resize2fs-size - resize an ext2/3/4 filesystem (with size)\n"
" - txz-in - unpack compressed tarball to directory (RHBZ#580556)\n"
" - txz-out - pack directory into compressed tarball (RHBZ#580556)\n"
" - vfs-label - get the filesystem label\n"
" - vfs-uuid - get the filesystem UUID\n"
" - vgscan - rescan for LVM physical volumes, volume groups and logical volumes\n"
" - write - create a new file\n"
" - zero-device - write zeroes to an entire device\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:122
#, no-wrap
msgid ""
" - Extend the generator to support testing optional features.\n"
" - Stricter checks on input parameters to many calls (RHBZ#501893 RHBZ#501894)\n"
" - Extend the protocol to support sending arbitrary 8 bit data buffers.\n"
" - Ship 'BUGS' file with releases.  This is a summary of the bugs in\n"
"   the Red Hat Bugzilla database.\n"
" - Ship 'RELEASE-NOTES' file with releases, containing release notes.\n"
" - Unify supermin appliance building into one place, in febootstrap 2.7.\n"
" - Fix the protocol code to handle the case where both ends send cancel\n"
"   messages at the same time.\n"
"\n"
msgstr ""
" - Extend the generator to support testing optional features.\n"
" - Stricter checks on input parameters to many calls (RHBZ#501893 RHBZ#501894)\n"
" - Extend the protocol to support sending arbitrary 8 bit data buffers.\n"
" - Ship 'BUGS' file with releases.  This is a summary of the bugs in\n"
"   the Red Hat Bugzilla database.\n"
" - Ship 'RELEASE-NOTES' file with releases, containing release notes.\n"
" - Unify supermin appliance building into one place, in febootstrap 2.7.\n"
" - Fix the protocol code to handle the case where both ends send cancel\n"
"   messages at the same time.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.4.pod:134
#, no-wrap
msgid ""
" - 612178 guestfish: using -m option in conjunction with --listen option causes appliance to die\n"
" - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077\n"
" - 604691 OCaml bindings are not thread safe\n"
" - 603870 Updates to Spanish translation\n"
" - 602592 [RFE] expose guestfs_close in perl bindings\n"
" - 600977 virt-df -h --csv \"Argument .. isn't numeric in printf\"\n"
" - 599464 mkfs-b does not support vfat/ntfs\n"
" - 598807 add_cdrom does not work in RHEL 6\n"
" - 598309 part-list and several other cmd failed on libguestfs on RHEL5\n"
" - 597145 guestfish 'help' command should indicate error in exit status with an unknown command\n"
" - 597135 guestfish write-file cmd does not check \"size\" parameter\n"
" - 597118 A warning should be given in the help of mke2journal-L for the length of label\n"
" - 597112 get-e2uuid should use blkid instead of \"tune2fs -l\" to get filesystem UUID\n"
" - 596776 virt-inspector doesn't discover modprobe aliases on RHEL 3 guests\n"
" - 596763 Updates to Spanish translation\n"
" - 593292 Updates to Spanish translation\n"
" - 592883 can not edit files on  images mounted with guestmount cmd\n"
" - 592360 Updates to Spanish translation\n"
" - 591250 virt-tar prints \"tar_in: tar subcommand failed on directory\" if the archive is compressed or not in the right format\n"
" - 591155 virt-tar prints \"tar_in: tar subcommand failed on directory\" if a disk image is not writable\n"
" - 591142 virt-inspector should give an error for unrecognized disk images\n"
" - 590167 virt-inspector and other virt tools should be able to handle filesystem-on-image VMs\n"
" - 589039 guestfish read-file cmd will cause daemon hang when read large files\n"
" - 588851 guestfs_launch() returns -1, but guestfs_last_error() == NULL\n"
" - 588763 libguestfs should use non-public or link-local addresses for appliance network\n"
" - 588733 Updates to Spanish translation\n"
" - 588651 guestfish 'strings-e' cmd does not give proper error message or hint\n"
" - 587484 lvresize can't reduce size of a volumn\n"
" - 585961 Updates to Spanish translation\n"
" - 585223 ntfsresize should support shrinking filesystems\n"
" - 585222 pvresize should support shrinking PVs\n"
" - 585221 resize2fs should support shrinking filesystems\n"
" - 584038 Updates to Spanish translation\n"
" - 583554 [FEAT] mknod-mode command is needed to set mode explicitly\n"
" - 583242 [RFE] guestfish should print outputs in a suitable base (eg. octal for modes)\n"
" - 582993 guestfish eats words when tab completing case (in)sensitive paths\n"
" - 582953 Misleading help information about lvcreate command\n"
" - 582948 mknod command doesn't make block, character or FIFO devices\n"
" - 582929 mknod doesn't check for invalid mode\n"
" - 582901 guestfish chmod/umask commands do not check invalid mode value\n"
" - 582899 guestfish:sparse is missed from command autocomplete list\n"
" - 582891 [Feature Request] behavior and return value of guestfish umask cmd should be changed\n"
" - 582548 [mknod] umask shouldn't take effect when mode is set explicitly\n"
" - 582484 some guestfish sub commands can not handle special files properly\n"
" - 582252 Updates to Spanish translation\n"
" - 581501 Updates to Spanish translation\n"
" - 580650 virt-inspector warns \"No grub default specified at /usr/lib/perl5/Sys/Guestfs/Lib.pm at [...]\"\n"
" - 580556 request for libguestfs to support .txz tarballs\n"
" - 580246 tar-in command hangs if uploading more than available space\n"
" - 580016 aug-ls in guestfish does not take augeas variable as argument\n"
" - 579664 guestfish doesn't report error when there is not enough space for image allocation\n"
" - 579608 multiple commands in guestfish can not work for symbol links\n"
" - 579155 libguestfs hangs if qemu doesn't start (in null vmchannel mode)\n"
" - 578407 the prefix '-' in sub-command isn't handled by guestfish in remote control mode\n"
" - 576879 libguestfs protocol loses synchronization if you 'upload' before mounting disks\n"
" - 559963 libguestfs Perl programs do set locale, but still localization doesn't work\n"
" - 521674 Perl modules are unversioned, but should carry version numbers\n"
" - 516096 Race condition in test_swapon_label_0: /sbin/blockdev: BLKRRPART: Device or resource busy\n"
" - 507810 guestfish -i / virt-inspector cannot handle spaces in filenames\n"
" - 502533 Updated Polish translation of libguestfs\n"
" - 501894 Some String parameters should be OptString\n"
" - 501893 String parameters should be checked for != NULL\n"
" - 501889 write-file does not support strings containing ASCII NUL\n"
" - 484986 grub-install fails on virtio disk\n"
"\n"
msgstr ""
" - 612178 guestfish: using -m option in conjunction with --listen option causes appliance to die\n"
" - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077\n"
" - 604691 OCaml bindings are not thread safe\n"
" - 603870 Updates to Spanish translation\n"
" - 602592 [RFE] expose guestfs_close in perl bindings\n"
" - 600977 virt-df -h --csv \"Argument .. isn't numeric in printf\"\n"
" - 599464 mkfs-b does not support vfat/ntfs\n"
" - 598807 add_cdrom does not work in RHEL 6\n"
" - 598309 part-list and several other cmd failed on libguestfs on RHEL5\n"
" - 597145 guestfish 'help' command should indicate error in exit status with an unknown command\n"
" - 597135 guestfish write-file cmd does not check \"size\" parameter\n"
" - 597118 A warning should be given in the help of mke2journal-L for the length of label\n"
" - 597112 get-e2uuid should use blkid instead of \"tune2fs -l\" to get filesystem UUID\n"
" - 596776 virt-inspector doesn't discover modprobe aliases on RHEL 3 guests\n"
" - 596763 Updates to Spanish translation\n"
" - 593292 Updates to Spanish translation\n"
" - 592883 can not edit files on  images mounted with guestmount cmd\n"
" - 592360 Updates to Spanish translation\n"
" - 591250 virt-tar prints \"tar_in: tar subcommand failed on directory\" if the archive is compressed or not in the right format\n"
" - 591155 virt-tar prints \"tar_in: tar subcommand failed on directory\" if a disk image is not writable\n"
" - 591142 virt-inspector should give an error for unrecognised disk images\n"
" - 590167 virt-inspector and other virt tools should be able to handle filesystem-on-image VMs\n"
" - 589039 guestfish read-file cmd will cause daemon hang when read large files\n"
" - 588851 guestfs_launch() returns -1, but guestfs_last_error() == NULL\n"
" - 588763 libguestfs should use non-public or link-local addresses for appliance network\n"
" - 588733 Updates to Spanish translation\n"
" - 588651 guestfish 'strings-e' cmd does not give proper error message or hint\n"
" - 587484 lvresize can't reduce size of a volumn\n"
" - 585961 Updates to Spanish translation\n"
" - 585223 ntfsresize should support shrinking filesystems\n"
" - 585222 pvresize should support shrinking PVs\n"
" - 585221 resize2fs should support shrinking filesystems\n"
" - 584038 Updates to Spanish translation\n"
" - 583554 [FEAT] mknod-mode command is needed to set mode explicitly\n"
" - 583242 [RFE] guestfish should print outputs in a suitable base (eg. octal for modes)\n"
" - 582993 guestfish eats words when tab completing case (in)sensitive paths\n"
" - 582953 Misleading help information about lvcreate command\n"
" - 582948 mknod command doesn't make block, character or FIFO devices\n"
" - 582929 mknod doesn't check for invalid mode\n"
" - 582901 guestfish chmod/umask commands do not check invalid mode value\n"
" - 582899 guestfish:sparse is missed from command autocomplete list\n"
" - 582891 [Feature Request] behaviour and return value of guestfish umask cmd should be changed\n"
" - 582548 [mknod] umask shouldn't take effect when mode is set explicitly\n"
" - 582484 some guestfish sub commands can not handle special files properly\n"
" - 582252 Updates to Spanish translation\n"
" - 581501 Updates to Spanish translation\n"
" - 580650 virt-inspector warns \"No grub default specified at /usr/lib/perl5/Sys/Guestfs/Lib.pm at [...]\"\n"
" - 580556 request for libguestfs to support .txz tarballs\n"
" - 580246 tar-in command hangs if uploading more than available space\n"
" - 580016 aug-ls in guestfish does not take augeas variable as argument\n"
" - 579664 guestfish doesn't report error when there is not enough space for image allocation\n"
" - 579608 multiple commands in guestfish can not work for symbol links\n"
" - 579155 libguestfs hangs if qemu doesn't start (in null vmchannel mode)\n"
" - 578407 the prefix '-' in sub-command isn't handled by guestfish in remote control mode\n"
" - 576879 libguestfs protocol loses synchronisation if you 'upload' before mounting disks\n"
" - 559963 libguestfs Perl programs do set locale, but still localisation doesn't work\n"
" - 521674 Perl modules are unversioned, but should carry version numbers\n"
" - 516096 Race condition in test_swapon_label_0: /sbin/blockdev: BLKRRPART: Device or resource busy\n"
" - 507810 guestfish -i / virt-inspector cannot handle spaces in filenames\n"
" - 502533 Updated Polish translation of libguestfs\n"
" - 501894 Some String parameters should be OptString\n"
" - 501893 String parameters should be checked for != NULL\n"
" - 501889 write-file does not support strings containing ASCII NUL\n"
" - 484986 grub-install fails on virtio disk\n"
"\n"

#. type: =head1
#: ../docs/guestfs-release-notes-1.40.pod:5
#, fuzzy
#| msgid "RELEASE NOTES FOR LIBGUESTFS 1.4"
msgid "RELEASE NOTES FOR LIBGUESTFS 1.40"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.4"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:7
#, fuzzy
#| msgid ""
#| "These release notes only cover the differences from the previous stable/"
#| "dev branch split (1.8.0).  For detailed changelogs, please see the git "
#| "repository, or the ChangeLog file distributed in the tarball."
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.38.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.8.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:15
msgid ""
"Virt-inspector now displays the libosinfo short ID for guests (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:18
msgid ""
"Guestfish I<-N> will now generate 1G disks instead of 100M disks by default."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:21
msgid "Virt-resize supports f2fs filesystems (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:23
msgid "libguestfs-test-tool now supports bash tab completion (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:26
msgid ""
"The I<--machine-readable> option now supports sending output to files or "
"stdout/stderr.  This works uniformly across most OCaml-based virt tools, "
"specifically: virt-builder, virt-builder-repository, virt-dib, virt-get-"
"kernel, virt-resize, virt-sparsify, and virt-v2v (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:32
msgid "Virt-builder I<--uninstall> option now works on SUSE (Sebastian Meyer)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:35
msgid ""
"Virt-builder now supports Windows.  We are not able to ship Windows "
"templates in the public respository for obvious licensing reasons, but if "
"you are an MSDN subscriber you may build your own.  See L<https://rwmj."
"wordpress.com/2018/09/13/creating-windows-templates-for-virt-builder/>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:40
msgid ""
"Many tools now support a I<--key> option allowing you to pass in decryption "
"keys for filesystems stored in local files on the host rather than having to "
"feed them in over stdin (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:46
msgid ""
"New I<-o rhv-upload> mode for directly uploading images to RHV, bypassing "
"the Export Storage Domain (Tomáš Golembiovský, Nir Soffer, Daniel Erez, Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:50
msgid ""
"New I<-o openstack> mode for directly uploading images to OpenStack and "
"Cinder using OpenStack APIs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:53
msgid ""
"Virt-v2v now has a general mechanism for input and output options: I<-io> "
"and I<-oo>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:56
msgid ""
"Virt-v2v can now install the RHV tools or QEMU GA in guests (Tomáš "
"Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:59
msgid ""
"The huge manual has now been split into several smaller documents and is "
"more focused on helping users to accomplish specific v2v tasks."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:62
msgid ""
"Multiple improvements to the OVF metadata when converting to RHV (Tomáš "
"Golembiovský, Pino Toscano, Arik Hadas)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:65
msgid ""
"Virt-v2v can now convert Linux guests with split kernel packages, especially "
"Ubuntu 18.04 (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:68
msgid ""
"Virt-v2v old I<--password-file> option has been replaced by I<-ip> (the old "
"option remains for backwards compatibility)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:71
msgid "Virt-v2v now preserves the VM Generation ID."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:73
msgid ""
"Virt-v2v has a new I<--mac> option allowing specific NICs to be mapped "
"precisely to networks or bridges on the target."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:76
msgid ""
"New virt-v2v I<--print-estimate> option to estimate the size of data that "
"virt-v2v will copy."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:79
msgid ""
"Virt-v2v is now usually able to remove open-vm-tools and VMware Tools from "
"the Linux guest during conversion (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:82
msgid "Virt-v2v can now support UEFI conversions to RHV (Tomáš Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:84
msgid ""
"Virt-p2v now prefers you to shut down instead of rebooting the machine after "
"conversion has finished (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:87
msgid ""
"Virt-v2v now writes the libosinfo short ID to the libvirt metadata when "
"using I<-o local> and I<-o libvirt> output modes (Martin Kletzander)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:93
msgid "OpenJDK 10+ is supported (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:95
msgid "Java bindings fixed for Gentoo host (Martin Kletzander)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:99
msgid "Support Kali Linux (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:101
msgid ""
"When inspecting mountpoints, look for F</etc/mdadm/mdadm.conf> as well as F</"
"etc/mdadm.conf> (Nikolay Ivanets)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:104
msgid "Improved support for OpenSUSE Tumbleweed (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:108
msgid "Miscellaneous macOS build fixes (Adam Robinson)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:112
msgid "Multiple documentation typos fixed (Yuri Chornoivan)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-release-notes-1.40.pod:118 ../docs/guestfs-security.pod:385
msgid "CVE-2018-11806"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:120
msgid ""
"Qemu's slirp (userspace networking) had several buffer overflows which could "
"be triggered from the guest or network side."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:129
msgid "C<f2fs_expand>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:131
msgid "Expand an f2fs filesystem (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:133
#, fuzzy
#| msgid "inspect-get-icon"
msgid "C<inspect_get_osinfo>"
msgstr "inspect-get-icon"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:135
msgid "Get the libosinfo short ID for the inspected guest (Pino Toscano)."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:137
msgid "C<lvm_scan>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:139
msgid "This rescans all PVs, VGs and LVs, optionally activating them."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:145
msgid "C<part_get_mbr_part_type> was reimplemented in OCaml (Nikolay Ivanets)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:148
msgid ""
"C<list_filesystems> now filters out MBR extended partitions (Nikolay "
"Ivanets)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:151
msgid ""
"C<vgscan> has been deprecated.  Use the new C<lvm_scan> API in preference."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:156
msgid ""
"The JSON library switched from yajl to Jansson E<ge> 2.7 (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:158
msgid "Support for The Sleuth Kit 4.5 (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:160
msgid "Multiple improvements in the C<./configure> script (Lin Ma)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:162
msgid "More out-of-tree build fixes (Hilko Bengen)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:164
msgid "Some work on reproducible builds (Bernhard M. Wiedemann)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:168
msgid ""
"lvmetad is now used unconditionally, and is started much earlier in the "
"appliance boot process.  This fixes support for certain PV types."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:171
msgid ""
"On Debian, dash is installed inside the appliance and in virt-rescue (Pino "
"Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:174
msgid ""
"The amount of RAM assigned to the appliance has been increased from 500M to "
"768M (on x86_64, other architectures have different limits).  This enables "
"use of up to 255 disks when using recent Linux kernels."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:178
msgid "Virt-v2v now models the source machine type (eg. i440FX, Q35 or virt)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:180
msgid ""
"Virt-p2v now generates configuration code automatically, also code for "
"parsing the kernel command line."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:183
msgid "Use C<LT_INIT> instead of C<AC_PROG_LIBTOOL>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:185
msgid ""
"The OCaml C<JSON> code for parsing and serializing has been unified into a "
"single abstract data type."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:188
msgid ""
"Most OCaml tools are now built using the PIC runtime.  This has a "
"performance penalty on i686, but is relatively free on other architectures "
"and has security benefits."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:192
msgid ""
"The direct backend now queries the qemu binary for availability of KVM, "
"instead of using a heuristic based on F</dev/kvm> (Andrea Bolognani)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:196
msgid ""
"Our \"clever\" libxml2 writer macros are now used consistently across all "
"parts of the code base."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:199
msgid ""
"Qemu dropped I<-nodefconfig> without telling us.  The equivalent I<-no-user-"
"config> option is now used instead.  Qemu also moved the C<serial> option "
"from I<-drive> to I<-device>, again without any notice, and this is also "
"fixed."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:208
#, fuzzy
#| msgid "./bugs-in-changelog.sh 1.18.0.."
msgid "https_proxy= ./bugs-in-changelog.sh v1.38.0.."
msgstr "./bugs-in-changelog.sh 1.18.0.."

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:214
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/914931>"
msgid "L<https://bugzilla.redhat.com/1664310>"
msgstr "L<https://bugzilla.redhat.com/914931>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:216
msgid "[RHEL 7.6 LP] openstack output leaks passwords"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:218
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1661038>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:220
msgid ""
"virt-inspector fails with \"error: int_of_string\" on a Linux image when /"
"etc/fstab contains a partionless device"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:222
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1651432>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:224
msgid ""
"v2v - support for -insecure option to support OSP SSL connection for VM "
"migrations"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:226
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/642934>"
msgid "L<https://bugzilla.redhat.com/1642044>"
msgstr "L<https://bugzilla.redhat.com/642934>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:228
msgid ""
"[RFE] virt-p2v UI should give the option to shutdown after conversion is "
"finished"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:230
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/642934>"
msgid "L<https://bugzilla.redhat.com/1634248>"
msgstr "L<https://bugzilla.redhat.com/642934>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:232
msgid "virt-v2v cannot convert opensuse15 guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:234
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/912499>"
msgid "L<https://bugzilla.redhat.com/1624902>"
msgstr "L<https://bugzilla.redhat.com/912499>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:236
msgid "Fix rhev-apt command that virt-v2v runs in Windows guests on first boot"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:238
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/916780>"
msgid "L<https://bugzilla.redhat.com/1624878>"
msgstr "L<https://bugzilla.redhat.com/916780>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:240
msgid ""
"Update v2v docs to describe support for SHA 2 certs required for converting "
"Windows 7 and 2008 R2 guests"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:242
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/859885>"
msgid "L<https://bugzilla.redhat.com/1615885>"
msgstr "L<https://bugzilla.redhat.com/859885>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:244
msgid "Minor log issue of virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:246
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/627675>"
msgid "L<https://bugzilla.redhat.com/1614276>"
msgstr "L<https://bugzilla.redhat.com/627675>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:248
msgid ""
"VixDiskLib: VixDiskLib_Read: Read 4096 sectors at 57516160 failed. Error 2 "
"(Memory allocation failed. Out of memory.) (DiskLib error 802: "
"NBD_ERR_INSUFFICIENT_RESOURCES) at 5240."
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:250
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/916780>"
msgid "L<https://bugzilla.redhat.com/1612785>"
msgstr "L<https://bugzilla.redhat.com/916780>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:252
msgid ""
"\"warning: <target dev='sr0'> was ignored because the device name could not "
"be recognized\" should be hidden since convert cdrom is supported by virt-v2v"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:254
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/811649>"
msgid "L<https://bugzilla.redhat.com/1611690>"
msgstr "L<https://bugzilla.redhat.com/811649>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:256
msgid "part_to_dev \"/dev/sdp1\" returns \"/dev/sd\" instead of \"/dev/sdp\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:258
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/908321>"
msgid "L<https://bugzilla.redhat.com/1608131>"
msgstr "L<https://bugzilla.redhat.com/908321>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:260
msgid ""
"inspection fails when swap partition in /etc/fstab has incorrect UUID "
"compared to actual swap partition"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:262
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/921040>"
msgid "L<https://bugzilla.redhat.com/1605071>"
msgstr "L<https://bugzilla.redhat.com/921040>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:264
msgid ""
"On machines where /dev/kvm exists but KVM doesn't work, libguestfs will not "
"fall back to TCG"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:266
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/860235>"
msgid "L<https://bugzilla.redhat.com/1602353>"
msgstr "L<https://bugzilla.redhat.com/860235>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:268
msgid "virt-inspector can't inspect LUKS-encrypted RHEL7 guest image"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:270
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/948324>"
msgid "L<https://bugzilla.redhat.com/1601943>"
msgstr "L<https://bugzilla.redhat.com/948324>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:272
msgid ""
"Improve error \"No module named ovirtsdk4\" in v2v rhv-upload conversion"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:274
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/859875>"
msgid "L<https://bugzilla.redhat.com/1598715>"
msgstr "L<https://bugzilla.redhat.com/859875>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:276
msgid ""
"Adding QXL device in OVF causes Cirrus Logic device to be added to guest"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:278
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/859885>"
msgid "L<https://bugzilla.redhat.com/1598350>"
msgstr "L<https://bugzilla.redhat.com/859885>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:280
msgid "RFE: virt-v2v should preserve <genid>"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:282
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1596851>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:284
msgid "Transfer fails if local host is in maintenance mode"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:286
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1596810>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:288
msgid "Transfer fails if local host belongs to another DC"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:290
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/912499>"
msgid "L<https://bugzilla.redhat.com/1592468>"
msgstr "L<https://bugzilla.redhat.com/912499>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:292
msgid ""
"v2v to RHV transfer fails with: error: [empty name]: cannot read '//*/"
"disksection' with value: null"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:294
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1592061>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:296
msgid ""
"virt-v2v convert rhel5.3 failure when executing rpm -ql kernel-2.6.18-128."
"el5 command"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:298
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/916780>"
msgid "L<https://bugzilla.redhat.com/1591789>"
msgstr "L<https://bugzilla.redhat.com/916780>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:300
msgid "p2v: error: XML error: CPU vendor specified without CPU model"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:302
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/920225>"
msgid "L<https://bugzilla.redhat.com/1590220>"
msgstr "L<https://bugzilla.redhat.com/920225>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:304
msgid "Hide rhv-upload option in virt-p2v client"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:306
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/882417>"
msgid "L<https://bugzilla.redhat.com/1588451>"
msgstr "L<https://bugzilla.redhat.com/882417>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:308
msgid "Don't use relative socket paths for NBD"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:310
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/880801>"
msgid "L<https://bugzilla.redhat.com/1588088>"
msgstr "L<https://bugzilla.redhat.com/880801>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:312
msgid "RFE: Support for -o rhv-upload via Unix domain socket"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:314
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/858696>"
msgid "L<https://bugzilla.redhat.com/1586198>"
msgstr "L<https://bugzilla.redhat.com/858696>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:316
msgid "ovirt-imageio-daemon times out during migration"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:318
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/957380>"
msgid "L<https://bugzilla.redhat.com/1580309>"
msgstr "L<https://bugzilla.redhat.com/957380>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:320
msgid ""
"virt-v2v rhel7.6 build can't convert guest to null with qemu-kvm rhel7.5.z "
"build"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:322
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/921292>"
msgid "L<https://bugzilla.redhat.com/1580292>"
msgstr "L<https://bugzilla.redhat.com/921292>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:324
msgid ""
"Virt-v2v rhel7.6 build can't convert guest with qemu-kvm rhel7.5.z build"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:326
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/895904>"
msgid "L<https://bugzilla.redhat.com/1579047>"
msgstr "L<https://bugzilla.redhat.com/895904>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:328
msgid ""
"virt-builder: ubuntu-18.04 template has stray HTTP proxy configured for apt"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:330
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/957380>"
msgid "L<https://bugzilla.redhat.com/1575640>"
msgstr "L<https://bugzilla.redhat.com/957380>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:332
msgid ""
"virt-builder: error: host cpu (x86_64) and guest arch (unknown) are not "
"compatible"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:334
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/921040>"
msgid "L<https://bugzilla.redhat.com/1570407>"
msgstr "L<https://bugzilla.redhat.com/921040>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:336
msgid ""
"virt-v2v -i ova gives checksum error when missing files are mentioned in .mf"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:338
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/957772>"
msgid "L<https://bugzilla.redhat.com/1567763>"
msgstr "L<https://bugzilla.redhat.com/957772>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:340
msgid "guestfsd: error: /Windows/Drivers/VirtIO: Read-only file system"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:342
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/914934>"
msgid "L<https://bugzilla.redhat.com/1564983>"
msgstr "L<https://bugzilla.redhat.com/914934>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:344
msgid "The mount-vfs failed to mount the logical volume"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:346
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1561828>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:348
msgid ""
"RHV tools not properly installed in migrated Windows VM's causing boot "
"failure"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:350
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/890027>"
msgid "L<https://bugzilla.redhat.com/1559027>"
msgstr "L<https://bugzilla.redhat.com/890027>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:352
msgid "virt-v2v does not honor --network with -o rhv-upload"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:354
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/957772>"
msgid "L<https://bugzilla.redhat.com/1557273>"
msgstr "L<https://bugzilla.redhat.com/957772>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:356
msgid "[RFE] Upload images directly to oVirt (virt-v2v -o rhv-upload)"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:358
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1544842>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:360
msgid "[RFE] Add libosinfo short-id to virt-inspector output"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:362
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/916780>"
msgid "L<https://bugzilla.redhat.com/1544674>"
msgstr "L<https://bugzilla.redhat.com/916780>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:364
#, fuzzy
#| msgid ""
#| " virt-inspector [--options] -d domname\n"
#| "\n"
msgid "virt-inspector --help differs from manpage"
msgstr ""
" virt-inspector [--options] -d domname\n"
"\n"

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:366
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/921292>"
msgid "L<https://bugzilla.redhat.com/1544227>"
msgstr "L<https://bugzilla.redhat.com/921292>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:368
msgid "RFE: recognize the Kali Linux distribution"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:370
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/912499>"
msgid "L<https://bugzilla.redhat.com/1532224>"
msgstr "L<https://bugzilla.redhat.com/912499>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:372
msgid ""
"Resume=/dev/sdaX can't be updated to resume=/dev/vdaX in rhel7 guest's grub "
"file after v2v conversion"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:374
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/713678>"
msgid "L<https://bugzilla.redhat.com/1530967>"
msgstr "L<https://bugzilla.redhat.com/713678>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:376
msgid ""
"Change categories of \"Guest Operating system management by VIX API\" in v2v "
"man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.40.pod:378
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/852394>"
msgid "L<https://bugzilla.redhat.com/1527334>"
msgstr "L<https://bugzilla.redhat.com/852394>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:380
msgid ""
"Various -it vddk -io vddk* options should be documented, removed or fixed"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.40.pod:384
msgid ""
"B<Reverted:> RFE: Allow qemu-bridge-helper to be used to implement "
"guestfs_set_network"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.42.pod:5
#, fuzzy
#| msgid "RELEASE NOTES FOR LIBGUESTFS 1.4"
msgid "RELEASE NOTES FOR LIBGUESTFS 1.42"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.4"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:7
msgid ""
"Please note that virt-v2v, virt-p2v and the boot analysis tools were moved "
"out of the libguestfs package / repository into separate projects.  See:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:15
msgid "L<https://github.com/libguestfs/virt-v2v>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:19
msgid "L<https://github.com/libguestfs/virt-p2v>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:23
#, fuzzy
#| msgid ""
#| "L<https://www.redhat.com/archives/libguestfs/2012-January/msg00023.html>"
msgid "L<https://github.com/libguestfs/libguestfs-analysis-tools>"
msgstr ""
"L<https://www.redhat.com/archives/libguestfs/2012-January/msg00023.html>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:27
msgid ""
"Those projects are now on a separate release cycle.  Release notes are "
"published separately."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:32
msgid "Add support for the Vala language (Corentin Noël)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:34
msgid ""
"Add support for the Rust language (Hiroyuki Katsura, sponsored by Google "
"Summer of Code)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:37
msgid "Reproducible builds (Chris Lamb)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:39
msgid ""
"Advanced Format disks (which use 4K sectors) can now be processed by "
"libguestfs.  Use the new optional C<blocksize> parameter to "
"C<guestfs_add_drive_opts>, and the I<--blocksize> option added to several "
"tools (Nikolay Ivanets)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:44
#, fuzzy
#| msgid "Windows 8 is now supported."
msgid "Windows CompactOS (NTFS file compression) is now supported."
msgstr "Windows 8 is now supported."

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:48
msgid ""
"Advanced machine readable output in various virt tools now supports JSON "
"output, and writing logs to a numbered file descriptor (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:52
msgid ""
"virt-filesystems tool now more accurately reports filesystem total size, in "
"the case where for example the filesystem does not occupy the whole of its "
"containing device (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:58
#, fuzzy
#| msgid "febootstrap E<ge> 3.20 is required."
msgid "Python E<ge> 2.7 is required."
msgstr "febootstrap E<ge> 3.20 is required."

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:60
msgid "Python bindings are now more extensively tested (Hiroyuki Katsura)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:63
msgid "Python bindings should now work with Python E<ge> 3.8."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:65
msgid "Multiple fixes to avoid crashes in the Python bindings (Sam Eiderman)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:68
msgid ""
"OCaml bindings are compiled with C<-DCAML_NAME_SPACE> to ensure no non-caml_-"
"namespaced symbols are used (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:72
msgid "OCaml bindings should now work with OCaml 4.09 and 4.10."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:74
msgid ""
"Erlang has deprecated the old C<erl_interface> library which we use for "
"Erlang bindings.  It will be removed in OTP 22, which will permanently break "
"Erlang support unless someone steps forward to update the Erlang bindings in "
"libguestfs."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:80
msgid "Fix compatibility with newer cgo for Go bindings (Tomáš Golembiovský)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:83
msgid "Go API error handling is now more idiomatic (Csaba Henk)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:85
msgid ""
"Update documentation about how to handle boolean parameters in Ruby bindings "
"(Csaba Henk)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:90
msgid ""
"Libguestfs can now extract icons for Gentoo, newer SUSE and OpenMandriva "
"guests.  Improved extraction of RHEL icons.  (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:94
msgid ""
"Inspection returns the osinfo IDs of newer Windows versions, and rolling "
"Linux distros (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:97
msgid "OpenMandriva is now detected (Bernhard Rosenkränzer)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:99
msgid "Arch Linux detection improvements (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:103
msgid "Libguestfs can now be compiled on OpenMandriva (Bernhard Rosenkränzer)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:105
msgid "Ubuntu fix for enabling network support (Ioanna Alifieraki)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:109
msgid ""
"Use of deprecated libguestfs APIs will now cause compiler deprecation "
"warnings by default, whereas previously you have to enable these warnings.  "
"To turn off these warnings use C<-DGUESTFS_NO_WARN_DEPRECATED=1>.  A new "
"feature is that you can now disable deprecated APIs completely if you want, "
"using C<-DGUESTFS_NO_DEPRECATED=1> (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:116
msgid "Fix hostname in virt-builder templates (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:118
msgid ""
"The single large release notes file is now split into multiple documents "
"organized by version."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:121
msgid ""
"The C<--key> option of several tools was broken, especially if you tried to "
"use the option to pass multiple keys.  This has been fixed and a regression "
"test added."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:125
msgid ""
"Augeas exceptions occurring in daemon (eg. during inspection) will now "
"produced detailed errors (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:136
msgid "C<luks_uuid> returns the UUID of a LUKS device (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:140
msgid ""
"Cope with new output from the C<btrfs scrub> command.  There is no visible "
"change at the API level."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:143
msgid ""
"New optional parameter C<blocksize> added to C<guestfs_add_drive_opts> to "
"support Advanced Format disks (Nikolay Ivanets)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:148
msgid "Minimum version of Augeas required is 1.2.0 (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:150
msgid ""
"C<common/> subdirectory is now a git submodule shared with the virt-v2v "
"project."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:153
#, fuzzy
#| msgid "febootstrap E<ge> 3.20 is required."
msgid "Supermin E<ge> 5.1.18 is required."
msgstr "febootstrap E<ge> 3.20 is required."

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:155
msgid ""
"There were several bugs in libvirt 5.10.0 and 6.0 which affected "
"libguestfs.  It is highly advisable to use libvirt 6.1 where these bugs are "
"fixed (versions of libvirt E<lt> 5.10.0 are also fine)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:159
msgid ""
"Many gnulib modules which we were not using or which we used in only a few "
"places have been removed (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:162
#, fuzzy
#| msgid "Multiple fixes to allow separated (sourcedir != builddir) builds."
msgid "Multiple fixes for builddir != sourcedir builds (Pino Toscano)."
msgstr "Multiple fixes to allow separated (sourcedir != builddir) builds."

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:164
msgid ""
"A new C<bundled/> subdirectory contains one bundled library that we "
"currently use, C<ocaml-augeas> (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:168
msgid "Fix compatibility issues when being compiled with GCC 10."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:172
msgid ""
"When linking OCaml programs, automake silent rules and the C<V=1> flag are "
"both now obeyed (Pino Toscano)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:175
msgid ""
"The C<guestfs_device_index> API was reimplemented in library code instead of "
"in the daemon.  There should be no observable effect of this change."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:179
msgid ""
"Since Linux 5.6 enumerates C</dev/sdX> devices in parallel, libguestfs was "
"changed to map API device names to appliance device names, and then do the "
"reverse mapping when returning names from the appliance.  Hopefully this "
"should have no observable effect, but can produce somewhat confusing "
"debugging messages since device names in the debug might not match device "
"names passed in to APIs.  Furthermore the C<root=UUID=...> option is always "
"passed to the appliance (instead of naming the device containing the root "
"filesystem)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:188
msgid ""
"We expect to move from the Zanata service to the Weblate service for "
"translated strings.  For more information see L<https://bugzilla.redhat."
"com/1787301>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:196
#, fuzzy
#| msgid "./bugs-in-changelog.sh 1.20.0.."
msgid "https_proxy= ./bugs-in-changelog.sh v1.40.0.."
msgstr "./bugs-in-changelog.sh 1.20.0.."

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:202
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/887520>"
msgid "L<https://bugzilla.redhat.com/1773520>"
msgstr "L<https://bugzilla.redhat.com/887520>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:204
msgid "Segfault in python bindings for guestfs_int_py_event_callback_wrapper"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:206
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/912499>"
msgid "L<https://bugzilla.redhat.com/1746699>"
msgstr "L<https://bugzilla.redhat.com/912499>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:208
msgid ""
"Can't import guest from export domain to data domain on rhv4.3 due to error "
"\"Invalid parameter: 'DiskType=1'\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:210
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/713678>"
msgid "L<https://bugzilla.redhat.com/1733168>"
msgstr "L<https://bugzilla.redhat.com/713678>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:212
msgid "virt-v2v: Use scp -T in -i vmx -it ssh mode"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:214
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/752375>"
msgid "L<https://bugzilla.redhat.com/1723305>"
msgstr "L<https://bugzilla.redhat.com/752375>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:216
msgid ""
"Delete info\"export PATH=/path/to/nbdkit-1.1.x:$PATH\" in virt-v2v-input-"
"vmware manual page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:218
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1705482>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:220
msgid ""
"python 3.8 requires using -embed variant of pkgconf file, causing libguestfs "
"to fail to build Python 3.8 bindings"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:222
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1703463>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:224
msgid ""
"libguestfs cannot inspect disks using WIndows 10 NTFS compression, error "
"\"unsupported reparse point\""
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:226
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1694268>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:228
msgid "[PATCH] Add OpenMandriva support"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:230
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/811649>"
msgid "L<https://bugzilla.redhat.com/1691659>"
msgstr "L<https://bugzilla.redhat.com/811649>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:232
msgid ""
"virt-v2v should show a message when qemu-guest-agent is installed in guest "
"successfully during conversion"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:234
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/921040>"
msgid "L<https://bugzilla.redhat.com/1690574>"
msgstr "L<https://bugzilla.redhat.com/921040>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:236
msgid ""
"virt-v2v fails to import a guest while cannot find `file_architecture` for a "
"file"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:238
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/908321>"
msgid "L<https://bugzilla.redhat.com/1680361>"
msgstr "L<https://bugzilla.redhat.com/908321>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:240
msgid ""
"[v2v][RHV][Scale] v2v Migration to RHV failed on timed out waiting for "
"transfer to finalize"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:242
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1661871>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:244
msgid ""
"python bindings wrongly using str for APIs with RBufferOut/FBuffer on Python "
"3"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:246
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1626503>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:248
msgid "Unable to maintain static IP address configuration post VM migration"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:250
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/916780>"
msgid "L<https://bugzilla.redhat.com/1612653>"
msgstr "L<https://bugzilla.redhat.com/916780>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:252
msgid ""
"Guest has no disk after rhv-upload converting if target data domain has "
"similar name with other data domain on rhv4.2"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:254
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/961812>"
msgid "L<https://bugzilla.redhat.com/1605242>"
msgstr "L<https://bugzilla.redhat.com/961812>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:256
msgid "Update nbdkit info for vddk in v2v man page"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:258
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/858696>"
msgid "L<https://bugzilla.redhat.com/1584678>"
msgstr "L<https://bugzilla.redhat.com/858696>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:260
msgid ""
"On W2K12r2 rhev-apt does not run non-interactively, causing race when "
"starting rhev-apt service from the command line"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:262
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/916780>"
msgid "L<https://bugzilla.redhat.com/1518539>"
msgstr "L<https://bugzilla.redhat.com/916780>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:264
msgid "Macvtap network will be lost during v2v conversion"
msgstr ""

#. type: =item
#: ../docs/guestfs-release-notes-1.42.pod:266
#, fuzzy
#| msgid "L<https://bugzilla.redhat.com/914931>"
msgid "L<https://bugzilla.redhat.com/1351000>"
msgstr "L<https://bugzilla.redhat.com/914931>"

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:268
msgid ""
"virt-customize --commands-from-file will fail if there is an extra blank in "
"the file"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:285
msgid "Ioanna Alifieraki"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:287
msgid "Sam Eiderman"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:289
msgid "Tomáš Golembiovský"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:291
msgid "Csaba Henk"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:293
msgid "Nikolay Ivanets"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:297
msgid "Hiroyuki Katsura"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:299
msgid "Chris Lamb"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:301
msgid "Corentin Noël"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:303
msgid "Bernhard Rosenkränzer"
msgstr ""

#. type: textblock
#: ../docs/guestfs-release-notes-1.42.pod:305
msgid "Pino Toscano"
msgstr ""

#. type: =head1
#: ../docs/guestfs-release-notes-1.6.pod:5
msgid "RELEASE NOTES FOR LIBGUESTFS 1.6"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.6"

#. type: textblock
#: ../docs/guestfs-release-notes-1.6.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.4.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.4.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:13
#, no-wrap
msgid ""
" - Use a new method for creating and caching the appliance.  This\n"
"   greatly improves the performance of libguestfs, often by a factor\n"
"   of x 4 to x 5.\n"
"\n"
msgstr ""
" - Use a new method for creating and caching the appliance.  This\n"
"   greatly improves the performance of libguestfs, often by a factor\n"
"   of x 4 to x 5.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:17
#, no-wrap
msgid ""
" - Support for guest inspection (like virt-inspector) via the ordinary\n"
"   API and all language bindings.  'guestfish -i' option is as a side-\n"
"   effect much quicker.\n"
"\n"
msgstr ""
" - Support for guest inspection (like virt-inspector) via the ordinary\n"
"   API and all language bindings.  'guestfish -i' option is as a side-\n"
"   effect much quicker.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:21
#, no-wrap
msgid ""
" - virt-inspector and core inspection API can now detect guests running:\n"
"   Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS,\n"
"   Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.\n"
"\n"
msgstr ""
" - virt-inspector and core inspection API can now detect guests running:\n"
"   Fedora, Debian, Ubuntu, Windows, Red Hat Enterprise Linux, CentOS,\n"
"   Scientific Linux, Gentoo, Pardus, Arch Linux, MeeGo.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:25
#, no-wrap
msgid ""
" - Support for LUKS whole-disk encryption in guests.\n"
"\n"
msgstr ""
" - Support for LUKS whole-disk encryption in guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:27
#, no-wrap
msgid ""
" - PHP bindings.\n"
"\n"
msgstr ""
" - PHP bindings.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:29
#, no-wrap
msgid ""
" - Progress messages (and progress bars in guestfish and virt-resize)\n"
"   for certain long-running operations.\n"
"\n"
msgstr ""
" - Progress messages (and progress bars in guestfish and virt-resize)\n"
"   for certain long-running operations.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:32
#, no-wrap
msgid ""
" - virt-df is now much more efficient.  Use '--one-per-guest' to restore\n"
"   the old per-guest isolation behaviour.\n"
"\n"
msgstr ""
" - virt-df is now much more efficient.  Use '--one-per-guest' to restore\n"
"   the old per-guest isolation behaviour.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:35
#, no-wrap
msgid ""
" - guestfish 'copy-in' and 'copy-out' commands for copying files and\n"
"   directories recursively in and out of the guest.\n"
"\n"
msgstr ""
" - guestfish 'copy-in' and 'copy-out' commands for copying files and\n"
"   directories recursively in and out of the guest.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:38
#, no-wrap
msgid ""
" - guestfish 'hexedit' command for doing binary edits to devices and\n"
"   files.\n"
"\n"
msgstr ""
" - guestfish 'hexedit' command for doing binary edits to devices and\n"
"   files.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:41
#, no-wrap
msgid ""
" - Change guestfish -i syntax to allow commands to be specified on the\n"
"   command line (retaining backwards compatibility).\n"
"\n"
msgstr ""
" - Change guestfish -i syntax to allow commands to be specified on the\n"
"   command line (retaining backwards compatibility).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:44
#, no-wrap
msgid ""
" - guestfish '-d <domain>' for adding disks from libvirt domains.\n"
"\n"
msgstr ""
" - guestfish '-d <domain>' for adding disks from libvirt domains.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:46
#, no-wrap
msgid ""
" - guestfish '-N' option supports several new prepared disk image types:\n"
"         lvfs : disk with LV formatted with filesystem\n"
"           lv : disk with LV\n"
"     bootroot : boot+root\n"
"   bootrootlv : boot and root on LV\n"
"\n"
msgstr ""
" - guestfish '-N' option supports several new prepared disk image types:\n"
"         lvfs : disk with LV formatted with filesystem\n"
"           lv : disk with LV\n"
"     bootroot : boot+root\n"
"   bootrootlv : boot and root on LV\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:52
#, no-wrap
msgid ""
" - guestfish 'more' and 'edit' commands now work with arbitrary files.\n"
"\n"
msgstr ""
" - guestfish 'more' and 'edit' commands now work with arbitrary files.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:54
#, no-wrap
msgid ""
" - guestfish '--echo-keys' option allows you to echo keys/passphrases\n"
"   while typing them.\n"
"\n"
msgstr ""
" - guestfish '--echo-keys' option allows you to echo keys/passphrases\n"
"   while typing them.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:57
#, no-wrap
msgid ""
" - guestmount now supports -a / -d / -i options, like guestfish.\n"
"\n"
msgstr ""
" - guestmount now supports -a / -d / -i options, like guestfish.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:59
#, no-wrap
msgid ""
" - Use virtio-serial for communications with the appliance.  This\n"
"   also has a major performance benefit.\n"
"\n"
msgstr ""
" - Use virtio-serial for communications with the appliance.  This\n"
"   also has a major performance benefit.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:62
#, no-wrap
msgid ""
" - virt-edit '-b' option to create a backup of edited files.\n"
"\n"
msgstr ""
" - virt-edit '-b' option to create a backup of edited files.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:64
#, no-wrap
msgid ""
" - virt-edit '-e' option for non-interactive edits to files.\n"
"\n"
msgstr ""
" - virt-edit '-e' option for non-interactive edits to files.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:66
#, no-wrap
msgid ""
" - Ability to capture core dumps from the appliance (thanks Matthew Booth).\n"
"\n"
msgstr ""
" - Ability to capture core dumps from the appliance (thanks Matthew Booth).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:68
#, no-wrap
msgid ""
" - virt-rescue now shuts down cleanly (thanks Matthew Booth).\n"
"\n"
msgstr ""
" - virt-rescue now shuts down cleanly (thanks Matthew Booth).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:70
#, no-wrap
msgid ""
" - virt-rescue now has a --network option to enable network access.\n"
"\n"
msgstr ""
" - virt-rescue now has a --network option to enable network access.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:72
#, no-wrap
msgid ""
" - virt-resize can now handle guests which use GPT partition table format.\n"
"\n"
msgstr ""
" - virt-resize can now handle guests which use GPT partition table format.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:74
#, no-wrap
msgid ""
" - virt-resize has better support for shrinking guests.\n"
"\n"
msgstr ""
" - virt-resize has better support for shrinking guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:76
#, no-wrap
msgid ""
" - virt-resize supports qcow2-format guests.\n"
"\n"
msgstr ""
" - virt-resize supports qcow2-format guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:78
#, no-wrap
msgid ""
" - $TMPDIR can be used to override almost all temporary directory usage.\n"
"\n"
msgstr ""
" - $TMPDIR can be used to override almost all temporary directory usage.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:80
#, no-wrap
msgid ""
" - OCaml users can use an alternate OO-style of coding, eg. g#launch ()\n"
"\n"
msgstr ""
" - OCaml users can use an alternate OO-style of coding, eg. g#launch ()\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:82
#, no-wrap
msgid ""
" - The API supports calls which take optional parameters, eg.\n"
"     $g->add_drive_opts (\"disk\", readonly => 1);\n"
"\n"
msgstr ""
" - The API supports calls which take optional parameters, eg.\n"
"     $g->add_drive_opts (\"disk\", readonly => 1);\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:85
#, no-wrap
msgid ""
" - Trace output now escapes and shortens large strings (thanks\n"
"   Matthew Booth).\n"
"\n"
msgstr ""
" - Trace output now escapes and shortens large strings (thanks\n"
"   Matthew Booth).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:88
#, no-wrap
msgid ""
" - Autosync is now on by default, resulting in more reliable behaviour\n"
"   when the handle is closed.\n"
"\n"
msgstr ""
" - Autosync is now on by default, resulting in more reliable behaviour\n"
"   when the handle is closed.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:91
#, no-wrap
msgid ""
" - virt-df --uuid option allows you to follow a domain across migration\n"
"   and renaming.\n"
"\n"
msgstr ""
" - virt-df --uuid option allows you to follow a domain across migration\n"
"   and renaming.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:94
#, no-wrap
msgid ""
" - Translations of manual pages.\n"
"\n"
msgstr ""
" - Translations of manual pages.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:98
#, no-wrap
msgid ""
" - CVE-2010-3851 libguestfs: missing disk format specifier when adding a disk\n"
"   https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html\n"
"   This is comprehensively fixed in this release, and the fix will be\n"
"   backported to the other stable branches after more testing.\n"
"\n"
msgstr ""
" - CVE-2010-3851 libguestfs: missing disk format specifier when adding a disk\n"
"   https://www.redhat.com/archives/libguestfs/2010-October/msg00036.html\n"
"   This is comprehensively fixed in this release, and the fix will be\n"
"   backported to the other stable branches after more testing.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:103
#, no-wrap
msgid ""
" - virt-inspector no longer relies on untrusted guest code to list\n"
"   applications in some guests.\n"
"\n"
msgstr ""
" - virt-inspector no longer relies on untrusted guest code to list\n"
"   applications in some guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:108
#, no-wrap
msgid ""
"  download-offset, file-architecture, findfs-label, findfs-uuid,\n"
"  inspect-os, inspect-get-arch, inspect-get-distro,\n"
"  inspect-get-filesystems, inspect-get-major-version,\n"
"  inspect-get-minor-version, inspect-get-mountpoints,\n"
"  inspect-get-product-name, inspect-get-type, is-blockdev, is-chardev,\n"
"  is-fifo, is-lv, is-socket, is-symlink, list-filesystems, luks-add-key,\n"
"  luks-close, luks-format, luks-format-cipher, luks-kill-slot,\n"
"  luks-open, luks-open-ro, lvm-clear-filter, lvm-canonical-lv-name,\n"
"  lvm-set-filter, part-to-dev, pread-device, pwrite-device,\n"
"  upload-offset\n"
"\n"
msgstr ""
"  download-offset, file-architecture, findfs-label, findfs-uuid,\n"
"  inspect-os, inspect-get-arch, inspect-get-distro,\n"
"  inspect-get-filesystems, inspect-get-major-version,\n"
"  inspect-get-minor-version, inspect-get-mountpoints,\n"
"  inspect-get-product-name, inspect-get-type, is-blockdev, is-chardev,\n"
"  is-fifo, is-lv, is-socket, is-symlink, list-filesystems, luks-add-key,\n"
"  luks-close, luks-format, luks-format-cipher, luks-kill-slot,\n"
"  luks-open, luks-open-ro, lvm-clear-filter, lvm-canonical-lv-name,\n"
"  lvm-set-filter, part-to-dev, pread-device, pwrite-device,\n"
"  upload-offset\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:121
#, no-wrap
msgid ""
" - Use size_t for loop iterators.\n"
" - Refactor the library code into separate files.\n"
" - Refactor the generator code into separate files.\n"
" - Generate guestfish commands.\n"
" - guestfish & guestmount options processing is unified.\n"
" - Protocol changes:\n"
"     error message size increased to 64K\n"
"     send errno to library\n"
" - Add 'make bindist' to make a binary distribution.\n"
" - Cleaner behaviour under valgrind.\n"
" - More testing of the guestfish command line options and libvirt\n"
"   integration.\n"
" - The Perl inspection code is no longer used by any of the tools.\n"
"\n"
msgstr ""
" - Use size_t for loop iterators.\n"
" - Refactor the library code into separate files.\n"
" - Refactor the generator code into separate files.\n"
" - Generate guestfish commands.\n"
" - guestfish & guestmount options processing is unified.\n"
" - Protocol changes:\n"
"     error message size increased to 64K\n"
"     send errno to library\n"
" - Add 'make bindist' to make a binary distribution.\n"
" - Cleaner behaviour under valgrind.\n"
" - More testing of the guestfish command line options and libvirt\n"
"   integration.\n"
" - The Perl inspection code is no longer used by any of the tools.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.6.pod:137
#, no-wrap
msgid ""
" - 646822 libguestfs trace mode should not print long binary strings\n"
" - 646821 virt-df should have --uuid option\n"
" - 646432 /dev/mapper paths should not be returned from guestfs_mountpoints\n"
" - 643624 libguestfs tools documentation should describe how to quote guest domain names from shell\n"
" - 642934 No way to specify disk format when adding a disk to libguestfs\n"
" - 642933 guestfs_list_filesystems should be used in all possible places\n"
" - 642932 guestmount options should match guestfish options\n"
" - 642930 virt-inspector (Sys::Guestfs::Lib) should use C inspection APIs\n"
" - 642929 C inspection code should ignore /dev/fd* in /etc/fstab\n"
" - 642826 virt-resize converts any other image format to raw without notifying user, instructions do not account for this\n"
" - 640961 Document that grub-install might be needed for old Linux guests after virt-resize\n"
" - 639986 virt-df --csv does not properly quote \" in libvirt domain names\n"
" - 639405 Interrupted cached appliance creation leaves libguestfs unusable\n"
" - 638901 Appliance filename should not contain repository name\n"
" - 638899 /dev/mapper paths should not be returned from C inspection APIs\n"
" - 636918 Updates to Spanish translation\n"
" - 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: Process /usr/bin/guestfish was killed by signal 11 (SIGSEGV)\n"
" - 635969 glob echo mkfs ext2 /dev/vd[b-t]1 prints garbage\n"
" - 634246 guestfs_part_get_parttype returns \"loop\" when run against a partition, LV or filesystem\n"
" - 633766 virt-resize --shrink fails\n"
" - 633357 Updates to Spanish translation\n"
" - 633096 virt-resize calculates block device size incorrectly, doesn't work with qcow2 target\n"
" - 629593 Dutch translation added\n"
" - 627556 Updates to Spanish translations of libguestfs\n"
" - 626843 Updates to Spanish translations\n"
" - 619793 [RFE] Need a way to determine if a particular block device is a logical volume\n"
" - 618556 virt-rescue return none zero value when exit\n"
" - 617200 mount operation failed and hung on some images which running in read-only mode\n"
" - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077\n"
" - 599503 document that mkmountpoint and umount-all cannot be mixed\n"
" - 571714 Running virt-df on disk image relabels it, so qemu can no longer write to it.\n"
" - 502533 Updated Polish translation of libguestfs\n"
"\n"
msgstr ""
" - 646822 libguestfs trace mode should not print long binary strings\n"
" - 646821 virt-df should have --uuid option\n"
" - 646432 /dev/mapper paths should not be returned from guestfs_mountpoints\n"
" - 643624 libguestfs tools documentation should describe how to quote guest domain names from shell\n"
" - 642934 No way to specify disk format when adding a disk to libguestfs\n"
" - 642933 guestfs_list_filesystems should be used in all possible places\n"
" - 642932 guestmount options should match guestfish options\n"
" - 642930 virt-inspector (Sys::Guestfs::Lib) should use C inspection APIs\n"
" - 642929 C inspection code should ignore /dev/fd* in /etc/fstab\n"
" - 642826 virt-resize converts any other image format to raw without notifying user, instructions do not account for this\n"
" - 640961 Document that grub-install might be needed for old Linux guests after virt-resize\n"
" - 639986 virt-df --csv does not properly quote \" in libvirt domain names\n"
" - 639405 Interrupted cached appliance creation leaves libguestfs unusable\n"
" - 638901 Appliance filename should not contain repository name\n"
" - 638899 /dev/mapper paths should not be returned from C inspection APIs\n"
" - 636918 Updates to Spanish translation\n"
" - 636061 [abrt] guestfish-1.2.11-1.fc12: malloc_consolidate: Process /usr/bin/guestfish was killed by signal 11 (SIGSEGV)\n"
" - 635969 glob echo mkfs ext2 /dev/vd[b-t]1 prints garbage\n"
" - 634246 guestfs_part_get_parttype returns \"loop\" when run against a partition, LV or filesystem\n"
" - 633766 virt-resize --shrink fails\n"
" - 633357 Updates to Spanish translation\n"
" - 633096 virt-resize calculates block device size incorrectly, doesn't work with qcow2 target\n"
" - 629593 Dutch translation added\n"
" - 627556 Updates to Spanish translations of libguestfs\n"
" - 626843 Updates to Spanish translations\n"
" - 619793 [RFE] Need a way to determine if a particular block device is a logical volume\n"
" - 618556 virt-rescue return none zero value when exit\n"
" - 617200 mount operation failed and hung on some images which running in read-only mode\n"
" - 610880 libguestfs should set broader read perms on tmpdir, so works in some situations when executed with umask 077\n"
" - 599503 document that mkmountpoint and umount-all cannot be mixed\n"
" - 571714 Running virt-df on disk image relabels it, so qemu can no longer write to it.\n"
" - 502533 Updated Polish translation of libguestfs\n"
"\n"

#. type: =head1
#: ../docs/guestfs-release-notes-1.8.pod:5
#, fuzzy
#| msgid "RELEASE NOTES FOR LIBGUESTFS 1.18"
msgid "RELEASE NOTES FOR LIBGUESTFS 1.8"
msgstr "RELEASE NOTES FOR LIBGUESTFS 1.18"

#. type: textblock
#: ../docs/guestfs-release-notes-1.8.pod:7
msgid ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.6.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."
msgstr ""
"These release notes only cover the differences from the previous stable/dev "
"branch split (1.6.0).  For detailed changelogs, please see the git "
"repository, or the ChangeLog file distributed in the tarball."

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:13
#, no-wrap
msgid ""
" - Support and packages for Debian and Ubuntu.\n"
"\n"
msgstr ""
" - Support and packages for Debian and Ubuntu.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:15
#, no-wrap
msgid ""
" - Daily builds from git repository on Debian and Ubuntu to reduce risk\n"
"   of regressions.\n"
"\n"
msgstr ""
" - Daily builds from git repository on Debian and Ubuntu to reduce risk\n"
"   of regressions.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:18
#, no-wrap
msgid ""
" - Port to ArchLinux 'pacman' (thanks Thomas S Hatch).\n"
"\n"
msgstr ""
" - Port to ArchLinux 'pacman' (thanks Thomas S Hatch).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:20
#, no-wrap
msgid ""
" - The following tools have been rewritten in C (originally in Perl):\n"
"\n"
msgstr ""
" - The following tools have been rewritten in C (originally in Perl):\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:22
#, no-wrap
msgid ""
"     . virt-cat\n"
"     . virt-df\n"
"     . virt-inspector\n"
"     . virt-ls\n"
"     . virt-rescue\n"
"\n"
msgstr ""
"     . virt-cat\n"
"     . virt-df\n"
"     . virt-inspector\n"
"     . virt-ls\n"
"     . virt-rescue\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:28
#, no-wrap
msgid ""
" - Some C tools support encrypted guests automatically.  This is\n"
"   supported in: guestfish, guestmount, virt-cat, virt-inspector,\n"
"   virt-ls.\n"
"\n"
msgstr ""
" - Some C tools support encrypted guests automatically.  This is\n"
"   supported in: guestfish, guestmount, virt-cat, virt-inspector,\n"
"   virt-ls.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:32
#, no-wrap
msgid ""
" - New tool virt-filesystems (in C) which is a replacement for\n"
"   virt-list-filesystems and virt-list-partitions, and has a superset\n"
"   of the functionality of those tools.\n"
"\n"
msgstr ""
" - New tool virt-filesystems (in C) which is a replacement for\n"
"   virt-list-filesystems and virt-list-partitions, and has a superset\n"
"   of the functionality of those tools.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:36
#, no-wrap
msgid ""
" - guestfish, guestmount and the C tools use unified command line option\n"
"   parsing, so they support many common options such as '-a disk.img',\n"
"   '-d libvirt-domain', '-x', '-v'.  The old command line option\n"
"   parsing is preserved for compatibility in scripts etc.\n"
"\n"
msgstr ""
" - guestfish, guestmount and the C tools use unified command line option\n"
"   parsing, so they support many common options such as '-a disk.img',\n"
"   '-d libvirt-domain', '-x', '-v'.  The old command line option\n"
"   parsing is preserved for compatibility in scripts etc.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:41
#, no-wrap
msgid ""
" - guestfish no longer has any dependencies on Perl\n"
"\n"
msgstr ""
" - guestfish no longer has any dependencies on Perl\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:43
#, no-wrap
msgid ""
" - New man pages containing programming examples: guestfs-examples(3) (C/C++),\n"
"   guestfs-ocaml(3), guestfs-python(3), guestfs-ruby(3).\n"
"\n"
msgstr ""
" - New man pages containing programming examples: guestfs-examples(3) (C/C++),\n"
"   guestfs-ocaml(3), guestfs-python(3), guestfs-ruby(3).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:46
#, no-wrap
msgid ""
" - Trace mode prints return values from API functions.\n"
"\n"
msgstr ""
" - Trace mode prints return values from API functions.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:48
#, no-wrap
msgid ""
" - virt-inspector can list applications installed in Windows guests, along\n"
"   with a great deal of information about those applications.\n"
"\n"
msgstr ""
" - virt-inspector can list applications installed in Windows guests, along\n"
"   with a great deal of information about those applications.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:51
#, no-wrap
msgid ""
" - Add support for inspecting: Linux Mint, Mandriva, FreeBSD.\n"
"\n"
msgstr ""
" - Add support for inspecting: Linux Mint, Mandriva, FreeBSD.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:53
#, no-wrap
msgid ""
" - guestfish --rw option (with no effect currently) to make potentially\n"
"   dangerous write access explicit.\n"
"\n"
msgstr ""
" - guestfish --rw option (with no effect currently) to make potentially\n"
"   dangerous write access explicit.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:56
#, no-wrap
msgid ""
" - guestfish --listen --csh for compatibility with csh, tcsh (thanks\n"
"   Eric Blake).\n"
"\n"
msgstr ""
" - guestfish --listen --csh for compatibility with csh, tcsh (thanks\n"
"   Eric Blake).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:59
#, no-wrap
msgid ""
" - The first upstream version that introduced each API function is now\n"
"   documented in guestfs(3).\n"
"\n"
msgstr ""
" - The first upstream version that introduced each API function is now\n"
"   documented in guestfs(3).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:62
#, no-wrap
msgid ""
" - guestfs_last_errno allows you to retrieve the errno from the\n"
"   daemon, correctly translated to the local operating system.\n"
"\n"
msgstr ""
" - guestfs_last_errno allows you to retrieve the errno from the\n"
"   daemon, correctly translated to the local operating system.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:65
#, no-wrap
msgid ""
" - Functions can now have optional parameters.\n"
"\n"
msgstr ""
" - Functions can now have optional parameters.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:67
#, no-wrap
msgid ""
" - Progress bars and progress notifications can now happen for upload\n"
"   commands.\n"
"\n"
msgstr ""
" - Progress bars and progress notifications can now happen for upload\n"
"   commands.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:70
#, no-wrap
msgid ""
" - Appliance builder more careful about not leaving temporary files\n"
"   around in /tmp.\n"
"\n"
msgstr ""
" - Appliance builder more careful about not leaving temporary files\n"
"   around in /tmp.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:73
#, no-wrap
msgid ""
" - getfattr/setfattr commands added to virt-rescue.\n"
"\n"
msgstr ""
" - getfattr/setfattr commands added to virt-rescue.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:75
#, no-wrap
msgid ""
" - ROADMAP file covers roadmap and goals for future releases.\n"
"\n"
msgstr ""
" - ROADMAP file covers roadmap and goals for future releases.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:79
#, no-wrap
msgid ""
" - New SECURITY section in guestfs(3) API documentation.\n"
"\n"
msgstr ""
" - New SECURITY section in guestfs(3) API documentation.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:81
#, no-wrap
msgid ""
" - virt-inspector no longer runs any guest commands.\n"
"\n"
msgstr ""
" - virt-inspector no longer runs any guest commands.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:83
#, no-wrap
msgid ""
" - Inspection code is more careful about avoiding very large files\n"
"   from guests which might previously have caused a denial of service.\n"
"\n"
msgstr ""
" - Inspection code is more careful about avoiding very large files\n"
"   from guests which might previously have caused a denial of service.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:86
#, no-wrap
msgid ""
" - FUSE calls into guestmount are now traced when using guestmount -x.\n"
"\n"
msgstr ""
" - FUSE calls into guestmount are now traced when using guestmount -x.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:90
#, no-wrap
msgid ""
" - add-domain\n"
" - add-drive-opts\n"
" - getxattr\n"
" - inspect-get-hostname\n"
" - inspect-get-package-format\n"
" - inspect-get-package-management\n"
" - inspect-get-roots\n"
" - inspect-list-applications\n"
" - lgetxattr\n"
" - mkfs-opts\n"
"\n"
msgstr ""
" - add-domain\n"
" - add-drive-opts\n"
" - getxattr\n"
" - inspect-get-hostname\n"
" - inspect-get-package-format\n"
" - inspect-get-package-management\n"
" - inspect-get-roots\n"
" - inspect-list-applications\n"
" - lgetxattr\n"
" - mkfs-opts\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:103
#, no-wrap
msgid ""
" - C programs now only link precisely with the libraries that they use.\n"
"\n"
msgstr ""
" - C programs now only link precisely with the libraries that they use.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:105
#, no-wrap
msgid ""
" - PCRE, libmagic, hivex and libvirt libraries are now completely\n"
"   optional for building.\n"
"\n"
msgstr ""
" - PCRE, libmagic, hivex and libvirt libraries are now completely\n"
"   optional for building.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:108
#, no-wrap
msgid ""
" - Multiple memory leaks and file descriptor leaks fixed.\n"
"\n"
msgstr ""
" - Multiple memory leaks and file descriptor leaks fixed.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:110
#, no-wrap
msgid ""
" - Add a POD wrapper to unify generation of man pages and HTML files\n"
"   across all programs.\n"
"\n"
msgstr ""
" - Add a POD wrapper to unify generation of man pages and HTML files\n"
"   across all programs.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:113
#, no-wrap
msgid ""
" - Source includes phony images of Fedora, Debian, Ubuntu and\n"
"   Windows guests.\n"
"\n"
msgstr ""
" - Source includes phony images of Fedora, Debian, Ubuntu and\n"
"   Windows guests.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:116
#, no-wrap
msgid ""
" - Ruby bindings have 'make install' rule.\n"
"\n"
msgstr ""
" - Ruby bindings have 'make install' rule.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:118
#, no-wrap
msgid ""
" - <guestfs.h> is now a single file.\n"
"\n"
msgstr ""
" - <guestfs.h> is now a single file.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:120
#, no-wrap
msgid ""
" - <guestfs.h> does not require XDR headers.\n"
"\n"
msgstr ""
" - <guestfs.h> does not require XDR headers.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:122
#, no-wrap
msgid ""
" - ocaml xml-light library is no longer required to build (thanks\n"
"   Maxim Koltsov).\n"
"\n"
msgstr ""
" - ocaml xml-light library is no longer required to build (thanks\n"
"   Maxim Koltsov).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:125
#, no-wrap
msgid ""
" - ./configure --disable-[...] for each language binding (thanks\n"
"   Maxim Koltsov).\n"
"\n"
msgstr ""
" - ./configure --disable-[...] for each language binding (thanks\n"
"   Maxim Koltsov).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:128
#, no-wrap
msgid ""
" - Old ocaml-viewer program removed (use guestfs-browser instead).\n"
"\n"
msgstr ""
" - Old ocaml-viewer program removed (use guestfs-browser instead).\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:130
#, no-wrap
msgid ""
" - New C API test type 'InitScratchFS' makes the tests run a little\n"
"   more quickly.\n"
"\n"
msgstr ""
" - New C API test type 'InitScratchFS' makes the tests run a little\n"
"   more quickly.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:133
#, no-wrap
msgid ""
" - Excluded packages in the appliance are now listed in a separate\n"
"   file appliance/excludelist.in, and can be customized per-distro.\n"
"\n"
msgstr ""
" - Excluded packages in the appliance are now listed in a separate\n"
"   file appliance/excludelist.in, and can be customised per-distro.\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-release-notes-1.8.pod:138
#, no-wrap
msgid ""
" - 663407 readlink and readlinklist returns /sysroot/ in some paths\n"
" - 661280 virt-rescue: panic when shutting down: \"/sbin/reboot: No such file or directory\"\n"
" - 657499 checksum: wrong check sum type causes umount to fail\n"
" - 655554 Whole disk paths are not made canonical by virt-inspector\n"
" - 654638 openssl updated to 1.0.0b libguestfs depends on exact file names\n"
" - 652796 ruby bindings not installed by 'make install', hence omitted from the binary distribution\n"
"\n"
msgstr ""
" - 663407 readlink and readlinklist returns /sysroot/ in some paths\n"
" - 661280 virt-rescue: panic when shutting down: \"/sbin/reboot: No such file or directory\"\n"
" - 657499 checksum: wrong check sum type causes umount to fail\n"
" - 655554 Whole disk paths are not made canonical by virt-inspector\n"
" - 654638 openssl updated to 1.0.0b libguestfs depends on exact file names\n"
" - 652796 ruby bindings not installed by 'make install', hence omitted from the binary distribution\n"
"\n"

#. type: =head1
#: ../docs/guestfs-release-notes-historical.pod:5
msgid "RELEASE NOTES FOR HISTORICAL VERSIONS OF LIBGUESTFS"
msgstr "RELEASE NOTES FOR HISTORICAL VERSIONS OF LIBGUESTFS"

#. type: textblock
#: ../docs/guestfs-release-notes-historical.pod:7
msgid ""
"Before 2010 libguestfs did not have official release notes or a formalized "
"version numbering system.  However these are links to historically "
"significant versions."
msgstr ""
"Before 2010 libguestfs did not have official release notes or a formalised "
"version numbering system.  However these are links to historically "
"significant versions."

#. type: =item
#: ../docs/guestfs-release-notes-historical.pod:13
msgid "2009-11-10 (1.0.78)"
msgstr "2009-11-10 (1.0.78)"

#. type: textblock
#: ../docs/guestfs-release-notes-historical.pod:15
msgid ""
"L<https://www.redhat.com/archives/libguestfs/2009-November/msg00095.html>"
msgstr ""
"L<https://www.redhat.com/archives/libguestfs/2009-November/msg00095.html>"

#. type: =item
#: ../docs/guestfs-release-notes-historical.pod:17
msgid "2009-09-13 (1.0.67)"
msgstr "2009-09-13 (1.0.67)"

#. type: textblock
#: ../docs/guestfs-release-notes-historical.pod:19
msgid "L<https://www.redhat.com/archives/libguestfs/2009-August/msg00281.html>"
msgstr ""
"L<https://www.redhat.com/archives/libguestfs/2009-August/msg00281.html>"

#. type: =item
#: ../docs/guestfs-release-notes-historical.pod:21
msgid "2009-07-23 (1.0.64)"
msgstr "2009-07-23 (1.0.64)"

#. type: textblock
#: ../docs/guestfs-release-notes-historical.pod:23
msgid "L<https://www.redhat.com/archives/libguestfs/2009-July/msg00059.html>"
msgstr "L<https://www.redhat.com/archives/libguestfs/2009-July/msg00059.html>"

#. type: =item
#: ../docs/guestfs-release-notes-historical.pod:25
msgid "2009-07-14 (1.0.59)"
msgstr "2009-07-14 (1.0.59)"

#. type: textblock
#: ../docs/guestfs-release-notes-historical.pod:27
msgid "L<https://www.redhat.com/archives/libguestfs/2009-July/msg00023.html>"
msgstr "L<https://www.redhat.com/archives/libguestfs/2009-July/msg00023.html>"

#. type: =item
#: ../docs/guestfs-release-notes-historical.pod:29
msgid "2009-04-01 (the initial announcement)"
msgstr "2009-04-01 (the initial announcement)"

#. type: textblock
#: ../docs/guestfs-release-notes-historical.pod:31
msgid ""
"L<http://rwmj.wordpress.com/2009/04/01/libguestfs-access-and-modify-virtual-"
"machine-disk-images/>"
msgstr ""
"L<http://rwmj.wordpress.com/2009/04/01/libguestfs-access-and-modify-virtual-"
"machine-disk-images/>"

#. type: textblock
#: ../docs/guestfs-security.pod:3
msgid "guestfs-security - security of libguestfs"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:7
msgid ""
"This manual page discusses security implications of using libguestfs, "
"particularly with untrusted or malicious guests or disk images."
msgstr ""

#. type: =head1
#: ../docs/guestfs-security.pod:10
msgid "REPORTING SECURITY PROBLEMS"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:12
msgid ""
"If you wish to privately report a security issue, please follow the Red Hat "
"security procedure at L<https://access.redhat.com/security/team/contact>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:16
msgid ""
"If the security problem is not so serious, you can simply file a bug (see L</"
"BUGS> below), or send an email to our mailing list (L<https://www.redhat.com/"
"mailman/listinfo/libguestfs>).  You do not need to subscribe to the mailing "
"list to send email, but there will be a delay while the message is moderated."
msgstr ""

#. type: =head1
#: ../docs/guestfs-security.pod:22
msgid "GENERAL ISSUES"
msgstr ""

#. type: =head2
#: ../docs/guestfs-security.pod:24
msgid "Security of mounting filesystems"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:26
msgid ""
"You should never mount an untrusted guest filesystem directly on your host "
"kernel (eg. using loopback or kpartx)."
msgstr ""
"You should never mount an untrusted guest filesystem directly on your host "
"kernel (eg. using loopback or kpartx)."

#. type: textblock
#: ../docs/guestfs-security.pod:29
msgid ""
"When you mount a filesystem, mistakes in the kernel filesystem (VFS)  can be "
"escalated into exploits by attackers creating a malicious filesystem.  These "
"exploits are very severe for two reasons.  Firstly there are very many "
"filesystem drivers in the kernel, and many of them are infrequently used and "
"not much developer attention has been paid to the code.  Linux userspace "
"helps potential crackers by detecting the filesystem type and automatically "
"choosing the right VFS driver, even if that filesystem type is unexpected.  "
"Secondly, a kernel-level exploit is like a local root exploit (worse in some "
"ways), giving immediate and total access to the system right down to the "
"hardware level."
msgstr ""
"When you mount a filesystem, mistakes in the kernel filesystem (VFS)  can be "
"escalated into exploits by attackers creating a malicious filesystem.  These "
"exploits are very severe for two reasons.  Firstly there are very many "
"filesystem drivers in the kernel, and many of them are infrequently used and "
"not much developer attention has been paid to the code.  Linux userspace "
"helps potential crackers by detecting the filesystem type and automatically "
"choosing the right VFS driver, even if that filesystem type is unexpected.  "
"Secondly, a kernel-level exploit is like a local root exploit (worse in some "
"ways), giving immediate and total access to the system right down to the "
"hardware level."

#. type: textblock
#: ../docs/guestfs-security.pod:41
msgid ""
"These exploits can be present in the kernel for a very long time (L<https://"
"lwn.net/Articles/538898/>)."
msgstr ""
"These exploits can be present in the kernel for a very long time (L<https://"
"lwn.net/Articles/538898/>)."

#. type: textblock
#: ../docs/guestfs-security.pod:44
msgid "Libguestfs provides a layered approach to protecting you from exploits:"
msgstr ""
"Libguestfs provides a layered approach to protecting you from exploits:"

#. type: verbatim
#: ../docs/guestfs-security.pod:47
#, no-wrap
msgid ""
"   untrusted filesystem\n"
" --------------------------------------\n"
"   appliance kernel\n"
" --------------------------------------\n"
"   qemu process running as non-root\n"
" --------------------------------------\n"
"   sVirt [if using libvirt + SELinux]\n"
" --------------------------------------\n"
"   host kernel\n"
"\n"
msgstr ""
"   untrusted filesystem\n"
" --------------------------------------\n"
"   appliance kernel\n"
" --------------------------------------\n"
"   qemu process running as non-root\n"
" --------------------------------------\n"
"   sVirt [if using libvirt + SELinux]\n"
" --------------------------------------\n"
"   host kernel\n"
"\n"

#. type: textblock
#: ../docs/guestfs-security.pod:57
msgid ""
"We run a Linux kernel inside a qemu virtual machine, usually running as a "
"non-root user.  The attacker would need to write a filesystem which first "
"exploited the kernel, and then exploited either qemu virtualization (eg. a "
"faulty qemu driver) or the libguestfs protocol, and finally to be as serious "
"as the host kernel exploit it would need to escalate its privileges to "
"root.  Additionally if you use the libvirt back end and SELinux, sVirt is "
"used to confine the qemu process.  This multi-step escalation, performed by "
"a static piece of data, is thought to be extremely hard to do, although we "
"never say ‘never’ about security issues."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:68
msgid ""
"Callers can also reduce the attack surface by forcing the filesystem type "
"when mounting (use L<guestfs(3)/guestfs_mount_vfs>)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-security.pod:71
msgid "General security considerations"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:73
msgid ""
"Be careful with any files or data that you download from a guest (by "
"\"download\" we mean not just the L<guestfs(3)/guestfs_download> command but "
"any command that reads files, filenames, directories or anything else from a "
"disk image).  An attacker could manipulate the data to fool your program "
"into doing the wrong thing.  Consider cases such as:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:83
msgid "the data (file etc) not being present"
msgstr "the data (file etc) not being present"

#. type: textblock
#: ../docs/guestfs-security.pod:87
msgid "being present but empty"
msgstr "being present but empty"

#. type: textblock
#: ../docs/guestfs-security.pod:91
msgid "being much larger than normal"
msgstr "being much larger than normal"

#. type: textblock
#: ../docs/guestfs-security.pod:95
msgid "containing arbitrary 8 bit data"
msgstr "containing arbitrary 8 bit data"

#. type: textblock
#: ../docs/guestfs-security.pod:99
msgid "being in an unexpected character encoding"
msgstr "being in an unexpected character encoding"

#. type: textblock
#: ../docs/guestfs-security.pod:103
msgid "containing homoglyphs."
msgstr "containing homoglyphs."

#. type: =head2
#: ../docs/guestfs-security.pod:107
msgid "Protocol security"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:109
msgid ""
"The protocol is designed to be secure, being based on RFC 4506 (XDR)  with a "
"defined upper message size.  However a program that uses libguestfs must "
"also take care - for example you can write a program that downloads a binary "
"from a disk image and executes it locally, and no amount of protocol "
"security will save you from the consequences."
msgstr ""
"The protocol is designed to be secure, being based on RFC 4506 (XDR)  with a "
"defined upper message size.  However a program that uses libguestfs must "
"also take care - for example you can write a program that downloads a binary "
"from a disk image and executes it locally, and no amount of protocol "
"security will save you from the consequences."

#. type: =head2
#: ../docs/guestfs-security.pod:115
msgid "Inspection security"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:117
msgid ""
"Parts of the inspection API (see L<guestfs(3)/INSPECTION>) return untrusted "
"strings directly from the guest, and these could contain any 8 bit data.  "
"Callers should be careful to escape these before printing them to a "
"structured file (for example, use HTML escaping if creating a web page)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:123
msgid ""
"Guest configuration may be altered in unusual ways by the administrator of "
"the virtual machine, and may not reflect reality (particularly for untrusted "
"or actively malicious guests).  For example we parse the hostname from "
"configuration files like F</etc/sysconfig/network> that we find in the "
"guest, but the guest administrator can easily manipulate these files to "
"provide the wrong hostname."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:131
msgid ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry).  Both are "
"designed to be robust in the face of malicious data, although denial of "
"service attacks are still possible, for example with oversized configuration "
"files."
msgstr ""
"The inspection API parses guest configuration using two external libraries: "
"Augeas (Linux configuration) and hivex (Windows Registry).  Both are "
"designed to be robust in the face of malicious data, although denial of "
"service attacks are still possible, for example with oversized configuration "
"files."

#. type: =head2
#: ../docs/guestfs-security.pod:137
msgid "Running untrusted guest commands"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:139
msgid ""
"Be very cautious about running commands from the guest.  By running a "
"command in the guest, you are giving CPU time to a binary that you do not "
"control, under the same user account as the library, albeit wrapped in qemu "
"virtualization.  More information and alternatives can be found in "
"L<guestfs(3)/RUNNING COMMANDS>."
msgstr ""

#. type: =head1
#: ../docs/guestfs-security.pod:145
msgid "HISTORICAL SECURITY ISSUES IN LIBGUESTFS"
msgstr ""

#. type: =head2
#: ../docs/guestfs-security.pod:147
msgid "CVE-2010-3851"
msgstr "CVE-2010-3851"

#. type: textblock
#: ../docs/guestfs-security.pod:149
msgid "L<https://bugzilla.redhat.com/642934>"
msgstr "L<https://bugzilla.redhat.com/642934>"

#. type: textblock
#: ../docs/guestfs-security.pod:151
msgid ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."
msgstr ""
"This security bug concerns the automatic disk format detection that qemu "
"does on disk images."

#. type: textblock
#: ../docs/guestfs-security.pod:154
msgid ""
"A raw disk image is just the raw bytes, there is no header.  Other disk "
"images like qcow2 contain a special header.  Qemu deals with this by looking "
"for one of the known headers, and if none is found then assuming the disk "
"image must be raw."
msgstr ""
"A raw disk image is just the raw bytes, there is no header.  Other disk "
"images like qcow2 contain a special header.  Qemu deals with this by looking "
"for one of the known headers, and if none is found then assuming the disk "
"image must be raw."

#. type: textblock
#: ../docs/guestfs-security.pod:159
msgid ""
"This allows a guest which has been given a raw disk image to write some "
"other header.  At next boot (or when the disk image is accessed by "
"libguestfs) qemu would do autodetection and think the disk image format was, "
"say, qcow2 based on the header written by the guest."
msgstr ""
"This allows a guest which has been given a raw disk image to write some "
"other header.  At next boot (or when the disk image is accessed by "
"libguestfs) qemu would do autodetection and think the disk image format was, "
"say, qcow2 based on the header written by the guest."

#. type: textblock
#: ../docs/guestfs-security.pod:164
msgid ""
"This in itself would not be a problem, but qcow2 offers many features, one "
"of which is to allow a disk image to refer to another image (called the "
"\"backing disk\").  It does this by placing the path to the backing disk "
"into the qcow2 header.  This path is not validated and could point to any "
"host file (eg. \"/etc/passwd\").  The backing disk is then exposed through "
"\"holes\" in the qcow2 disk image, which of course is completely under the "
"control of the attacker."
msgstr ""
"This in itself would not be a problem, but qcow2 offers many features, one "
"of which is to allow a disk image to refer to another image (called the "
"\"backing disk\").  It does this by placing the path to the backing disk "
"into the qcow2 header.  This path is not validated and could point to any "
"host file (eg. \"/etc/passwd\").  The backing disk is then exposed through "
"\"holes\" in the qcow2 disk image, which of course is completely under the "
"control of the attacker."

#. type: textblock
#: ../docs/guestfs-security.pod:172
msgid ""
"In libguestfs this is rather hard to exploit except under two circumstances:"
msgstr ""
"In libguestfs this is rather hard to exploit except under two circumstances:"

#. type: textblock
#: ../docs/guestfs-security.pod:179
msgid "You have enabled the network or have opened the disk in write mode."
msgstr "You have enabled the network or have opened the disk in write mode."

#. type: textblock
#: ../docs/guestfs-security.pod:183
msgid ""
"You are also running untrusted code from the guest (see L<guestfs(3)/RUNNING "
"COMMANDS>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:188
msgid ""
"The way to avoid this is to specify the expected disk format when adding "
"disks (the optional C<format> option to L<guestfs(3)/"
"guestfs_add_drive_opts>).  You should always do this if the disk is raw "
"format, and it’s a good idea for other cases too.  (See also L<guestfs(3)/"
"DISK IMAGE FORMATS>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:194
msgid ""
"For disks added from libvirt using calls like L<guestfs(3)/"
"guestfs_add_domain>, the format is fetched from libvirt and passed through."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:198
msgid ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."
msgstr ""
"For libguestfs tools, use the I<--format> command line parameter as "
"appropriate."

#. type: =head2
#: ../docs/guestfs-security.pod:201
msgid "CVE-2011-4127"
msgstr "CVE-2011-4127"

#. type: textblock
#: ../docs/guestfs-security.pod:203
msgid "L<https://bugzilla.redhat.com/752375>"
msgstr "L<https://bugzilla.redhat.com/752375>"

#. type: textblock
#: ../docs/guestfs-security.pod:205
msgid ""
"This is a bug in the kernel which allowed guests to overwrite parts of the "
"host’s drives which they should not normally have access to."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:209
msgid ""
"It is sufficient to update libguestfs to any version E<ge> 1.16 which "
"contains a change that mitigates the problem."
msgstr ""
"It is sufficient to update libguestfs to any version E<ge> 1.16 which "
"contains a change that mitigates the problem."

#. type: textblock
#: ../docs/guestfs-security.pod:214
msgid "L<https://bugzilla.redhat.com/831117>"
msgstr "L<https://bugzilla.redhat.com/831117>"

#. type: textblock
#: ../docs/guestfs-security.pod:216
msgid ""
"Old versions of both virt-edit and the guestfish C<edit> command created a "
"new file containing the changes but did not set the permissions, etc of the "
"new file to match the old one.  The result of this was that if you edited a "
"security sensitive file such as F</etc/shadow> then it would be left world-"
"readable after the edit."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:222
msgid "It is sufficient to update libguestfs to any version E<ge> 1.16."
msgstr "It is sufficient to update libguestfs to any version E<ge> 1.16."

#. type: textblock
#: ../docs/guestfs-security.pod:226
msgid "L<https://bugzilla.redhat.com/968306>"
msgstr "L<https://bugzilla.redhat.com/968306>"

#. type: textblock
#: ../docs/guestfs-security.pod:228
msgid ""
"This security bug was a flaw in inspection where an untrusted guest using a "
"specially crafted file in the guest OS could cause a double-free in the C "
"library (denial of service)."
msgstr ""
"This security bug was a flaw in inspection where an untrusted guest using a "
"specially crafted file in the guest OS could cause a double-free in the C "
"library (denial of service)."

#. type: textblock
#: ../docs/guestfs-security.pod:232
msgid ""
"It is sufficient to update libguestfs to a version that is not vulnerable: "
"libguestfs E<ge> 1.20.8, E<ge> 1.22.2 or E<ge> 1.23.2."
msgstr ""
"It is sufficient to update libguestfs to a version that is not vulnerable: "
"libguestfs E<ge> 1.20.8, E<ge> 1.22.2 or E<ge> 1.23.2."

#. type: textblock
#: ../docs/guestfs-security.pod:237
msgid "L<https://bugzilla.redhat.com/1016960>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:239
msgid ""
"When using the L<guestfish(1)> I<--remote> or guestfish I<--listen> options, "
"guestfish would create a socket in a known location (F</tmp/.guestfish-$UID/"
"socket-$PID>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:243
msgid ""
"The location has to be a known one in order for both ends to communicate.  "
"However no checking was done that the containing directory (F</tmp/."
"guestfish-$UID>) is owned by the user.  Thus another user could create this "
"directory and potentially hijack sockets owned by another user’s guestfish "
"client or server."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:249
msgid ""
"It is sufficient to update libguestfs to a version that is not vulnerable: "
"libguestfs E<ge> 1.20.12, E<ge> 1.22.7 or E<ge> 1.24."
msgstr ""

#. type: =head2
#: ../docs/guestfs-security.pod:266
msgid "CVE-2014-0191"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:277
msgid ""
"This was fixed in libguestfs E<ge> 1.27.9 and the fix was backported to "
"stable versions E<ge> 1.26.2, E<ge> 1.24.9, E<ge> 1.22.10 and E<ge> 1.20.13."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:291
msgid ""
"These two bugs in binutils affect the GNU L<strings(1)> program, and thus "
"the L<guestfs(3)/guestfs_strings> and L<guestfs(3)/guestfs_strings_e> APIs "
"in libguestfs.  Running strings on an untrusted file could cause arbitrary "
"code execution (confined to the libguestfs appliance)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:297
msgid ""
"In libguestfs E<ge> 1.29.5 and E<ge> 1.28.3, libguestfs uses the C<strings> "
"I<-a> option to avoid BFD parsing on the file."
msgstr ""

#. type: =head2
#: ../docs/guestfs-security.pod:300
msgid "CVE-2015-5745"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:302
msgid "L<https://bugzilla.redhat.com/show_bug.cgi?id=1251157>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:313
msgid ""
"your libguestfs program runs untrusted programs out of the guest (using "
"L<guestfs(3)/guestfs_sh> etc), or"
msgstr ""

#. type: =head2
#: ../docs/guestfs-security.pod:325
msgid "Permissions of F<.ssh> and F<.ssh/authorized_keys>"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:329
msgid ""
"The tools L<virt-customize(1)>, L<virt-sysprep(1)> and L<virt-builder(1)> "
"have an I<--ssh-inject> option for injecting an SSH key into virtual machine "
"disk images.  They may create a F<~user/.ssh> directory and F<~user/.ssh/"
"authorized_keys> file in the guest to do this."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:335
msgid ""
"In libguestfs E<lt> 1.31.5 and libguestfs E<lt> 1.30.2, the new directory "
"and file would get mode C<0755> and mode C<0644> respectively.  However "
"these permissions (especially for F<~user/.ssh>) are wider than the "
"permissions that OpenSSH uses.  In current libguestfs, the directory and "
"file are created with mode C<0700> and mode C<0600>."
msgstr ""

#. type: =head2
#: ../docs/guestfs-security.pod:354
msgid ""
"CVE-2017-5208, CVE-2017-5331, CVE-2017-5332, CVE-2017-5333, CVE-2017-6009, "
"CVE-2017-6010, CVE-2017-6011"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:357
msgid ""
"Multiple vulnerabilities in the L<wrestool(1)> program in the C<icoutils> "
"package can be exploited for local code execution on the host."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:361
msgid ""
"When libguestfs inspection (see L</Inspection security> above) detects a "
"Windows XP or Windows 7 guest and is asked to find an associated icon for "
"the guest, it will download an untrusted file from the guest and run "
"C<wrestool -x> on that file.  This can lead to local code execution on the "
"host.  Any disk image or guest can be crafted to look like a Windows guest "
"to libguestfs inspection, so just because you do not have Windows guests "
"does not help."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:369
msgid ""
"Any program calling the libguestfs API C<guestfs_inspect_get_icon> could be "
"vulnerable.  This includes L<virt-inspector(1)> and L<virt-manager(1)>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:373
msgid ""
"The solution is to update to the non-vulnerable version of icoutils (at "
"least 0.31.1)."
msgstr ""

#. type: =head2
#: ../docs/guestfs-security.pod:376
msgid "CVE-2017-7244, CVE-2017-7245, CVE-2017-7246"
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:378
msgid ""
"Multiple vulnerabilities in PCRE could be exploited to crash libguestfs (ie. "
"cause a denial of service) when performing inspection on an untrusted "
"virtual machine."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:382
msgid ""
"The solution is to update to a version of PCRE with these bugs fixed "
"(upstream version E<ge> 8.41)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:387
msgid ""
"Vulnerabilities affecting qemu user networking (SLIRP) allow a malicious "
"filesystem image to take control of qemu and from there attack the host."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:391
msgid ""
"This affects libguestfs when the backend is set to C<direct> I<and> "
"networking is enabled."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:394
msgid ""
"The direct backend is the default upstream, but not in some downstream Linux "
"distributions including Fedora, Red Hat Enterprise Linux and CentOS.  It "
"might also have been selected if you set the C<LIBGUESTFS_BACKEND=direct> "
"environment variable or called S<C<guestfs_set_backend (g, \"direct\")>>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:400
msgid ""
"Networking is enabled automatically by some tools (eg. L<virt-builder(1)>), "
"or is enabled if your code called S<C<guestfs_set_network (g, 1)>> (which is "
"not the default)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:404
msgid "The libvirt backend is not affected."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:406
msgid ""
"The solution is to update qemu to a version containing the fix (see "
"L<https://lists.gnu.org/archive/html/qemu-devel/2018-06/msg01012.html>)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-security.pod:411
msgid ""
"L<guestfs(3)>, L<guestfs-internals(1)>, L<guestfs-release-notes(1)>, "
"L<guestfs-testing(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:3
msgid "guestfs-testing - manual testing of libguestfs, you can help!"
msgstr "guestfs-testing - manual testing of libguestfs, you can help!"

#. type: textblock
#: ../docs/guestfs-testing.pod:7
msgid ""
"This page has manual tests you can try on libguestfs.  Everyone has a "
"slightly different combination of platform, hardware and guests, so this "
"testing is very valuable.  Thanks for helping out!"
msgstr ""
"This page has manual tests you can try on libguestfs.  Everyone has a "
"slightly different combination of platform, hardware and guests, so this "
"testing is very valuable.  Thanks for helping out!"

#. type: textblock
#: ../docs/guestfs-testing.pod:11
msgid ""
"Tests marked with a B<*> (asterisk) can B<destroy data> if you're not "
"careful.  The others are safe and won't modify anything."
msgstr ""
"Tests marked with a B<*> (asterisk) can B<destroy data> if you're not "
"careful.  The others are safe and won't modify anything."

#. type: textblock
#: ../docs/guestfs-testing.pod:14
msgid "These tests B<require libguestfs E<ge> 1.22>."
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:16
msgid "You can report bugs you find through this link:"
msgstr "You can report bugs you find through this link:"

#. type: textblock
#: ../docs/guestfs-testing.pod:20
msgid ""
"or post on the mailing list (registration is B<not> required, but if you're "
"not registered then you'll have to wait for a moderator to manually approve "
"your message):"
msgstr ""
"or post on the mailing list (registration is B<not> required, but if you're "
"not registered then you'll have to wait for a moderator to manually approve "
"your message):"

#. type: textblock
#: ../docs/guestfs-testing.pod:24
msgid "L<https://www.redhat.com/mailman/listinfo/libguestfs>"
msgstr "L<https://www.redhat.com/mailman/listinfo/libguestfs>"

#. type: =head1
#: ../docs/guestfs-testing.pod:26
msgid "TESTS"
msgstr "TESTS"

#. type: =head2
#: ../docs/guestfs-testing.pod:28
msgid "Run libguestfs-test-tool"
msgstr "Run libguestfs-test-tool"

#. type: textblock
#: ../docs/guestfs-testing.pod:34
msgid ""
"This command does a very simple, non-destructive test that basic libguestfs "
"is functioning.  You don't need to run it as root."
msgstr ""
"This command does a very simple, non-destructive test that basic libguestfs "
"is functioning.  You don't need to run it as root."

#. type: textblock
#: ../docs/guestfs-testing.pod:37
msgid ""
"If it I<doesn't> print C<===== TEST FINISHED OK =====>, report it as a bug.  "
"It is very important that you include the B<complete, unedited> output of "
"C<libguestfs-test-tool> in your bug report.  See the L</BUGS> section at the "
"end of this page."
msgstr ""
"If it I<doesn't> print C<===== TEST FINISHED OK =====>, report it as a bug.  "
"It is very important that you include the B<complete, unedited> output of "
"C<libguestfs-test-tool> in your bug report.  See the L</BUGS> section at the "
"end of this page."

#. type: =head2
#: ../docs/guestfs-testing.pod:42
msgid "Check KVM acceleration is being used."
msgstr "Check KVM acceleration is being used."

#. type: textblock
#: ../docs/guestfs-testing.pod:44
msgid ""
"If your host has hardware virt acceleration, then with a hot cache "
"libguestfs should be able to start up in a few seconds.  Run the following "
"command a few times:"
msgstr ""
"If your host has hardware virt acceleration, then with a hot cache "
"libguestfs should be able to start up in a few seconds.  Run the following "
"command a few times:"

#. type: textblock
#: ../docs/guestfs-testing.pod:50
msgid ""
"After a few runs, the time should settle down to a few seconds (under 3 "
"seconds on fast 64 bit hardware)."
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:53
msgid ""
"If the command above does not work at all, use L<libguestfs-test-tool(1)>."
msgstr ""
"If the command above does not work at all, use L<libguestfs-test-tool(1)>."

#. type: =head2
#: ../docs/guestfs-testing.pod:56
msgid "Check which version of libguestfs, qemu, libvirt, etc is being used."
msgstr "Check which version of libguestfs, qemu, libvirt, etc is being used."

#. type: textblock
#: ../docs/guestfs-testing.pod:58
msgid "Look at the output of C<libguestfs-test-tool> and check:"
msgstr "Look at the output of C<libguestfs-test-tool> and check:"

#. type: textblock
#: ../docs/guestfs-testing.pod:64
msgid ""
"Which version of libguestfs is being used? Near the beginning of the output "
"you'll see a line like:"
msgstr ""
"Which version of libguestfs is being used? Near the beginning of the output "
"you'll see a line like:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:67
#, no-wrap
msgid ""
" library version: 1.22.0fedora=19,release=1.fc19,libvirt\n"
"\n"
msgstr ""
" library version: 1.22.0fedora=19,release=1.fc19,libvirt\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:71
msgid ""
"Is libvirt being used? You can tell the difference by looking for the "
"backend:"
msgstr ""
"Is libvirt being used? You can tell the difference by looking for the "
"backend:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:74
#, no-wrap
msgid ""
" guestfs_get_backend: direct\n"
"\n"
msgstr ""
" guestfs_get_backend: direct\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:78
#, no-wrap
msgid ""
" guestfs_get_backend: libvirt\n"
"\n"
msgstr ""
" guestfs_get_backend: libvirt\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:82
msgid "Which version of qemu is being used? It may be printed out:"
msgstr "Which version of qemu is being used? It may be printed out:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:84
#, no-wrap
msgid ""
" libguestfs: qemu version 1.5\n"
"\n"
msgstr ""
" libguestfs: qemu version 1.5\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:88
msgid ""
"Which kernel is being used? L<supermin(1)> will try to pick the latest "
"kernel installed on your machine.  You can see the version in the appliance "
"output, eg:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-testing.pod:92
#, no-wrap
msgid ""
" [    0.000000] Linux version 3.9.2-200.fc18.x86_64 [...]\n"
"\n"
msgstr ""
" [    0.000000] Linux version 3.9.2-200.fc18.x86_64 [...]\n"
"\n"

#. type: =head2
#: ../docs/guestfs-testing.pod:96
msgid "Try to open a local guest image with guestfish."
msgstr "Try to open a local guest image with guestfish."

#. type: textblock
#: ../docs/guestfs-testing.pod:98
msgid ""
"You can use any guest disk image for this test.  Make sure you use the C<--"
"ro> flag so that L<guestfish(1)> will open the disk image read-only."
msgstr ""
"You can use any guest disk image for this test.  Make sure you use the C<--"
"ro> flag so that L<guestfish(1)> will open the disk image read-only."

#. type: verbatim
#: ../docs/guestfs-testing.pod:102
#, no-wrap
msgid ""
" guestfish --ro -a /path/to/disk.img -i\n"
"\n"
msgstr ""
" guestfish --ro -a /path/to/disk.img -i\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:104
msgid ""
"If the command is successful, it should print out the guest operating system "
"name and put you at the guestfish C<E<gt>E<lt>fsE<gt>> prompt.  You can use "
"guestfish commands like S<C<ll />> to look inside the disk image.  To exit, "
"type C<exit>."
msgstr ""
"If the command is successful, it should print out the guest operating system "
"name and put you at the guestfish C<E<gt>E<lt>fsE<gt>> prompt.  You can use "
"guestfish commands like S<C<ll />> to look inside the disk image.  To exit, "
"type C<exit>."

#. type: textblock
#: ../docs/guestfs-testing.pod:109 ../docs/guestfs-testing.pod:129
msgid ""
"If you get an error, try enabling debugging (add C<-v> to the command "
"line).  Also make sure that L<libguestfs-test-tool(1)> succeeds."
msgstr ""
"If you get an error, try enabling debugging (add C<-v> to the command "
"line).  Also make sure that L<libguestfs-test-tool(1)> succeeds."

#. type: =head2
#: ../docs/guestfs-testing.pod:112
msgid "Try to open a remote guest image with guestfish."
msgstr "Try to open a remote guest image with guestfish."

#. type: textblock
#: ../docs/guestfs-testing.pod:114
msgid "You may also have to disable libvirt by setting this:"
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:118
msgid "If you have a disk image available over HTTP/FTP, try to open it."
msgstr "If you have a disk image available over HTTP/FTP, try to open it."

#. type: verbatim
#: ../docs/guestfs-testing.pod:120
#, no-wrap
msgid ""
" guestfish --ro -i --format=raw -a http://www.example.com/disk.img\n"
"\n"
msgstr ""
" guestfish --ro -i --format=raw -a http://www.example.com/disk.img\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:122
msgid ""
"For SSH you will need to make sure that ssh-agent is set up so you don't "
"need a password to log in to the remote machine.  Then a command similar to "
"this should work:"
msgstr ""
"For SSH you will need to make sure that ssh-agent is set up so you don't "
"need a password to log in to the remote machine.  Then a command similar to "
"this should work:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:126
#, no-wrap
msgid ""
" guestfish --ro -i --format=raw \\\n"
"   -a ssh://remote.example.com/path/to/disk.img\n"
"\n"
msgstr ""
" guestfish --ro -i --format=raw \\\n"
"   -a ssh://remote.example.com/path/to/disk.img\n"
"\n"

#. type: =head2
#: ../docs/guestfs-testing.pod:132
msgid "Run virt-alignment-scan on all your guests."
msgstr "Run virt-alignment-scan on all your guests."

#. type: textblock
#: ../docs/guestfs-testing.pod:134
msgid "Run L<virt-alignment-scan(1)> on guests or disk images:"
msgstr "Run L<virt-alignment-scan(1)> on guests or disk images:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:136
#, no-wrap
msgid ""
" virt-alignment-scan -a /path/to/disk.img\n"
"\n"
msgstr ""
" virt-alignment-scan -a /path/to/disk.img\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:140
#, no-wrap
msgid ""
" virt-alignment-scan -d Guest\n"
"\n"
msgstr ""
" virt-alignment-scan -d Guest\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:142
msgid "Does the alignment report match how the guest partitions are aligned?"
msgstr "Does the alignment report match how the guest partitions are aligned?"

#. type: =head2
#: ../docs/guestfs-testing.pod:144
msgid "Run virt-cat on some files in guests."
msgstr "Run virt-cat on some files in guests."

#. type: textblock
#: ../docs/guestfs-testing.pod:146
msgid "L<virt-cat(1)> can display files from guests.  For a Linux guest, try:"
msgstr "L<virt-cat(1)> can display files from guests.  For a Linux guest, try:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:148
#, no-wrap
msgid ""
" virt-cat LinuxGuest /etc/passwd\n"
"\n"
msgstr ""
" virt-cat LinuxGuest /etc/passwd\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:150
msgid "A recent feature is support for Windows paths, for example:"
msgstr "A recent feature is support for Windows paths, for example:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:152
#, no-wrap
msgid ""
" virt-cat WindowsGuest 'c:\\windows\\win.ini'\n"
"\n"
msgstr ""
" virt-cat WindowsGuest 'c:\\windows\\win.ini'\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:154
msgid ""
"An even better test is if you have a Windows guest with multiple drives.  Do "
"C<D:>, C<E:> etc paths work correctly?"
msgstr ""
"An even better test is if you have a Windows guest with multiple drives.  Do "
"C<D:>, C<E:> etc paths work correctly?"

#. type: =head2
#: ../docs/guestfs-testing.pod:157
msgid "B<*> Copy some files into a B<shut off> guest."
msgstr "B<*> Copy some files into a B<shut off> guest."

#. type: textblock
#: ../docs/guestfs-testing.pod:159
msgid ""
"L<virt-copy-in(1)> can recursively copy files and directories into a guest "
"or disk image."
msgstr ""
"L<virt-copy-in(1)> can recursively copy files and directories into a guest "
"or disk image."

#. type: verbatim
#: ../docs/guestfs-testing.pod:162
#, no-wrap
msgid ""
" virt-copy-in -d Guest /etc /tmp\n"
"\n"
msgstr ""
" virt-copy-in -d Guest /etc /tmp\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:164
msgid ""
"This should copy local directory F</etc> to F</tmp/etc> in the guest "
"(recursively).  If you boot the guest, can you see all of the copied files "
"and directories?"
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:168
msgid "Shut the guest down and try copying multiple files and directories:"
msgstr "Shut the guest down and try copying multiple files and directories:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:170
#, no-wrap
msgid ""
" virt-copy-in -d Guest /home /etc/issue /tmp\n"
"\n"
msgstr ""
" virt-copy-in -d Guest /home /etc/issue /tmp\n"
"\n"

#. type: =head2
#: ../docs/guestfs-testing.pod:172
msgid "Copy some files out of a guest."
msgstr "Copy some files out of a guest."

#. type: textblock
#: ../docs/guestfs-testing.pod:174
msgid ""
"L<virt-copy-out(1)> can recursively copy files and directories out of a "
"guest or disk image."
msgstr ""
"L<virt-copy-out(1)> can recursively copy files and directories out of a "
"guest or disk image."

#. type: textblock
#: ../docs/guestfs-testing.pod:179
msgid "Note the final space and period in the command is not a typo."
msgstr "Note the final space and period in the command is not a typo."

#. type: textblock
#: ../docs/guestfs-testing.pod:181
msgid "This should copy F</home> from the guest into the current directory."
msgstr ""

#. type: =head2
#: ../docs/guestfs-testing.pod:183
msgid "Run virt-df."
msgstr "Run virt-df."

#. type: textblock
#: ../docs/guestfs-testing.pod:185
msgid "L<virt-df(1)> lists disk space.  Run:"
msgstr "L<virt-df(1)> lists disk space.  Run:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:187
#, no-wrap
msgid ""
" virt-df\n"
"\n"
msgstr ""
" virt-df\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:189
msgid ""
"You can try comparing this to the results from L<df(1)> inside the guest, "
"but there are some provisos:"
msgstr ""
"You can try comparing this to the results from L<df(1)> inside the guest, "
"but there are some provisos:"

#. type: textblock
#: ../docs/guestfs-testing.pod:196
msgid "The guest must be idle."
msgstr "The guest must be idle."

#. type: textblock
#: ../docs/guestfs-testing.pod:200
msgid "The guest disks must be synched using L<sync(1)>."
msgstr "The guest disks must be synched using L<sync(1)>."

#. type: textblock
#: ../docs/guestfs-testing.pod:204
msgid ""
"Any action such as booting the guest will write log files causing the "
"numbers to change."
msgstr ""
"Any action such as booting the guest will write log files causing the "
"numbers to change."

#. type: textblock
#: ../docs/guestfs-testing.pod:209
msgid ""
"We don’t guarantee that the numbers will be identical even under these "
"circumstances.  They should be similar.  It would indicate a bug if you saw "
"greatly differing numbers."
msgstr ""

#. type: =head2
#: ../docs/guestfs-testing.pod:213
msgid "Try importing virt-df CSV output into a spreadsheet or database."
msgstr "Try importing virt-df CSV output into a spreadsheet or database."

#. type: verbatim
#: ../docs/guestfs-testing.pod:217
#, no-wrap
msgid ""
" virt-df --csv > /tmp/report.csv\n"
"\n"
msgstr ""
" virt-df --csv > /tmp/report.csv\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:219
msgid ""
"Now try to load this into your favorite spreadsheet or database.  Are the "
"results reproduced faithfully in the spreadsheet/database?"
msgstr ""
"Now try to load this into your favourite spreadsheet or database.  Are the "
"results reproduced faithfully in the spreadsheet/database?"

#. type: textblock
#: ../docs/guestfs-testing.pod:222
msgid ""
"L<http://www.postgresql.org/docs/8.1/static/sql-copy.html> L<http://dev."
"mysql.com/doc/refman/5.1/en/load-data.html>"
msgstr ""
"L<http://www.postgresql.org/docs/8.1/static/sql-copy.html> L<http://dev."
"mysql.com/doc/refman/5.1/en/load-data.html>"

#. type: =head2
#: ../docs/guestfs-testing.pod:225
msgid "B<*> Edit a file in a B<shut off> guest."
msgstr "B<*> Edit a file in a B<shut off> guest."

#. type: textblock
#: ../docs/guestfs-testing.pod:227
msgid ""
"L<virt-edit(1)> can edit files in guests.  Try this command on a RHEL or "
"Fedora guest:"
msgstr ""
"L<virt-edit(1)> can edit files in guests.  Try this command on a RHEL or "
"Fedora guest:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:230
#, no-wrap
msgid ""
" virt-edit LinuxGuest /etc/sysconfig/network\n"
"\n"
msgstr ""
" virt-edit LinuxGuest /etc/sysconfig/network\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:232
msgid "On other Linux guests try editing other files such as:"
msgstr "On other Linux guests try editing other files such as:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:234
#, no-wrap
msgid ""
" virt-edit LinuxGuest /etc/motd\n"
"\n"
msgstr ""
" virt-edit LinuxGuest /etc/motd\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:236
msgid "Are the changes seen inside the guest when it is booted?"
msgstr "Are the changes seen inside the guest when it is booted?"

#. type: =head2
#: ../docs/guestfs-testing.pod:238
msgid "Display the filesystems / partitions / LVs in a guest."
msgstr "Display the filesystems / partitions / LVs in a guest."

#. type: textblock
#: ../docs/guestfs-testing.pod:240
msgid ""
"L<virt-filesystems(1)> can be used to display filesystems in a guest.  Try "
"this command on any disk image or guest:"
msgstr ""
"L<virt-filesystems(1)> can be used to display filesystems in a guest.  Try "
"this command on any disk image or guest:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:243
#, no-wrap
msgid ""
" virt-filesystems -a /path/to/disk.img --all --long -h\n"
"\n"
msgstr ""
" virt-filesystems -a /path/to/disk.img --all --long -h\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:247
#, no-wrap
msgid ""
" virt-filesystems -d Guest --all --long -h\n"
"\n"
msgstr ""
" virt-filesystems -d Guest --all --long -h\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:249
msgid "Do the results match what is seen in the guest?"
msgstr "Do the results match what is seen in the guest?"

#. type: =head2
#: ../docs/guestfs-testing.pod:251
msgid "Run virt-inspector on all your guests."
msgstr "Run virt-inspector on all your guests."

#. type: textblock
#: ../docs/guestfs-testing.pod:253
msgid ""
"Use L<virt-inspector(1)> to get a report on all of your guests or disk "
"images:"
msgstr ""
"Use L<virt-inspector(1)> to get a report on all of your guests or disk "
"images:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:256
#, no-wrap
msgid ""
" virt-inspector -a /path/to/disk.img | less\n"
"\n"
msgstr ""
" virt-inspector -a /path/to/disk.img | less\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:260
#, no-wrap
msgid ""
" virt-inspector -d Guest | less\n"
"\n"
msgstr ""
" virt-inspector -d Guest | less\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:262
msgid "Do the results match what is actually in the guest?"
msgstr "Do the results match what is actually in the guest?"

#. type: textblock
#: ../docs/guestfs-testing.pod:264
msgid ""
"If you have an unusual guest (a rare Linux distro, a very new version of "
"Windows), does virt-inspector recognize it? If not, then it's probably a bug."
msgstr ""

#. type: =head2
#: ../docs/guestfs-testing.pod:268
msgid "Try the auditing features of virt-ls on all your guests."
msgstr "Try the auditing features of virt-ls on all your guests."

#. type: verbatim
#: ../docs/guestfs-testing.pod:272
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^- [42]'\n"
"\n"
msgstr ""
" virt-ls -lR -d Guest / | grep '^- [42]'\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:276
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^d ...7'\n"
"\n"
msgstr ""
" virt-ls -lR -d Guest / | grep '^d ...7'\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:280
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep '^s'\n"
"\n"
msgstr ""
" virt-ls -lR -d Guest / | grep '^s'\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:284
#, no-wrap
msgid ""
" virt-ls -lR -d Guest / | grep -i '^-.*\\.png$'\n"
"\n"
msgstr ""
" virt-ls -lR -d Guest / | grep -i '^-.*\\.png$'\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:286
msgid "Display files larger than 10MB in home directories:"
msgstr "Display files larger than 10MB in home directories:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:288
#, no-wrap
msgid ""
" virt-ls -lR -d Guest /home | awk '$3 > 10*1024*1024'\n"
"\n"
msgstr ""
" virt-ls -lR -d Guest /home | awk '$3 > 10*1024*1024'\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:292
#, no-wrap
msgid ""
" virt-ls -lR -d Guest --time-days / | awk '$6 <= 7'\n"
"\n"
msgstr ""
" virt-ls -lR -d Guest --time-days / | awk '$6 <= 7'\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:296
#, no-wrap
msgid ""
" virt-ls -lR -d Guest --time-days / | grep '^-' | awk '$6 < 1'\n"
"\n"
msgstr ""
" virt-ls -lR -d Guest --time-days / | grep '^-' | awk '$6 < 1'\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:298
msgid "Do the results match what is in the guest?"
msgstr "Do the results match what is in the guest?"

#. type: =head2
#: ../docs/guestfs-testing.pod:300
msgid "Create a disk image from a tarball."
msgstr "Create a disk image from a tarball."

#. type: textblock
#: ../docs/guestfs-testing.pod:302
msgid ""
"Use L<virt-make-fs(1)> to create a disk image from any tarball that you "
"happen to have:"
msgstr ""
"Use L<virt-make-fs(1)> to create a disk image from any tarball that you "
"happen to have:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:305
#, no-wrap
msgid ""
" virt-make-fs --partition=mbr --type=vfat /any/tarball.tar.gz output.img\n"
"\n"
msgstr ""
" virt-make-fs --partition=mbr --type=vfat /any/tarball.tar.gz output.img\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:307
msgid ""
"Add ‘output.img’ as a raw disk to an existing guest.  Check the guest can "
"see the files.  This test is particularly useful if you try it with a "
"Windows guest."
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:311
msgid "Try other partitioning schemes, eg. I<--partition=gpt>."
msgstr "Try other partitioning schemes, eg. I<--partition=gpt>."

#. type: textblock
#: ../docs/guestfs-testing.pod:313
msgid "Try other filesystem formats, eg. I<--type=ntfs>, I<--type=ext2>."
msgstr "Try other filesystem formats, eg. I<--type=ntfs>, I<--type=ext2>."

#. type: =head2
#: ../docs/guestfs-testing.pod:315
msgid "B<*> Run virt-rescue on a B<shut off> disk image or guest."
msgstr "B<*> Run virt-rescue on a B<shut off> disk image or guest."

#. type: textblock
#: ../docs/guestfs-testing.pod:317
msgid ""
"Use L<virt-rescue(1)> to examine, rescue or repair a B<shut off> guest or "
"disk image:"
msgstr ""
"Use L<virt-rescue(1)> to examine, rescue or repair a B<shut off> guest or "
"disk image:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:320
#, no-wrap
msgid ""
" virt-rescue -a /path/to/disk.img\n"
"\n"
msgstr ""
" virt-rescue -a /path/to/disk.img\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:324
#, no-wrap
msgid ""
" virt-rescue -d Guest\n"
"\n"
msgstr ""
" virt-rescue -d Guest\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:326
msgid "Can you use ordinary shell commands to examine the guest?"
msgstr "Can you use ordinary shell commands to examine the guest?"

#. type: =head2
#: ../docs/guestfs-testing.pod:328
msgid "B<*> Resize your guests."
msgstr "B<*> Resize your guests."

#. type: textblock
#: ../docs/guestfs-testing.pod:330
msgid ""
"Use L<virt-resize(1)> to give a guest some more disk space.  For example, if "
"you have a disk image that is smaller than 30G, increase it to 30G by doing:"
msgstr ""
"Use L<virt-resize(1)> to give a guest some more disk space.  For example, if "
"you have a disk image that is smaller than 30G, increase it to 30G by doing:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:334
#, no-wrap
msgid ""
" truncate -s 30G newdisk.img\n"
" virt-filesystems -a /path/to/olddisk.img --all --long -h\n"
" virt-resize /path/to/olddisk.img newdisk.img --expand /dev/sda1\n"
" qemu-kvm -m 1024 -hda newdisk.img\n"
"\n"
msgstr ""
" truncate -s 30G newdisk.img\n"
" virt-filesystems -a /path/to/olddisk.img --all --long -h\n"
" virt-resize /path/to/olddisk.img newdisk.img --expand /dev/sda1\n"
" qemu-kvm -m 1024 -hda newdisk.img\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:339
msgid "Does the guest still boot? Try expanding other partitions."
msgstr "Does the guest still boot? Try expanding other partitions."

#. type: =head2
#: ../docs/guestfs-testing.pod:341
msgid "B<*> Sparsify a guest disk."
msgstr "B<*> Sparsify a guest disk."

#. type: textblock
#: ../docs/guestfs-testing.pod:343
msgid "Using L<virt-sparsify(1)>, make a disk image more sparse:"
msgstr "Using L<virt-sparsify(1)>, make a disk image more sparse:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:345
#, no-wrap
msgid ""
" virt-sparsify /path/to/olddisk.img newdisk.img\n"
"\n"
msgstr ""
" virt-sparsify /path/to/olddisk.img newdisk.img\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:347
msgid ""
"Is F<newdisk.img> still bootable after sparsifying? Is the resulting disk "
"image smaller (use C<du> to check)?"
msgstr ""

#. type: =head2
#: ../docs/guestfs-testing.pod:350
msgid "Build and boot a guest"
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:352
msgid "Using L<virt-builder(1)>, choose a guest from the list:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-testing.pod:354
#, no-wrap
msgid ""
" virt-builder -l\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:356
msgid "build it:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-testing.pod:358
#, no-wrap
msgid ""
" virt-builder -o disk.img [os-version from list above]\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:360
msgid "and boot it:"
msgstr ""

#. type: verbatim
#: ../docs/guestfs-testing.pod:362
#, no-wrap
msgid ""
" qemu-kvm -cpu host -m 2048 -drive file=disk.img,format=raw\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:364
msgid "Does it boot?"
msgstr ""

#. type: =head2
#: ../docs/guestfs-testing.pod:366
msgid "B<*> \"Sysprep\" a B<shut off> Linux guest."
msgstr ""

#. type: textblock
#: ../docs/guestfs-testing.pod:368
msgid ""
"B<Note> that this really will mess up an existing guest, so it's better to "
"clone the guest before trying this."
msgstr ""
"B<Note> that this really will mess up an existing guest, so it's better to "
"clone the guest before trying this."

#. type: verbatim
#: ../docs/guestfs-testing.pod:371
#, no-wrap
msgid ""
" virt-sysprep --hostname newhost.example.com -a /path/to/disk.img\n"
"\n"
msgstr ""
" virt-sysprep --hostname newhost.example.com -a /path/to/disk.img\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:373
msgid ""
"Was the sysprep successful? After booting, what changes were made and were "
"they successful?"
msgstr ""
"Was the sysprep successful? After booting, what changes were made and were "
"they successful?"

#. type: =head2
#: ../docs/guestfs-testing.pod:376
msgid "Dump the Windows Registry from your Windows guests."
msgstr "Dump the Windows Registry from your Windows guests."

#. type: textblock
#: ../docs/guestfs-testing.pod:378
msgid ""
"Use L<virt-win-reg(1)> to dump out the Windows Registry from any Windows "
"guests that you have."
msgstr ""
"Use L<virt-win-reg(1)> to dump out the Windows Registry from any Windows "
"guests that you have."

#. type: verbatim
#: ../docs/guestfs-testing.pod:381
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\Software' |\n"
"   less\n"
"\n"
msgstr ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\Software' |\n"
"   less\n"
"\n"

#. type: verbatim
#: ../docs/guestfs-testing.pod:384
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\System' |\n"
"   less\n"
"\n"
msgstr ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKLM\\System' |\n"
"   less\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:387
msgid "Does the output match running C<regedit> inside the guest?"
msgstr "Does the output match running C<regedit> inside the guest?"

#. type: textblock
#: ../docs/guestfs-testing.pod:389
msgid ""
"A recent feature is the ability to dump user registries, so try this, "
"replacing I<username> with the name of a local user in the guest:"
msgstr ""
"A recent feature is the ability to dump user registries, so try this, "
"replacing I<username> with the name of a local user in the guest:"

#. type: verbatim
#: ../docs/guestfs-testing.pod:392
#, no-wrap
msgid ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\\username' |\n"
"   less\n"
"\n"
msgstr ""
" virt-win-reg --unsafe-printable-strings WindowsGuest 'HKEY_USERS\\username' |\n"
"   less\n"
"\n"

#. type: textblock
#: ../docs/guestfs-testing.pod:397
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<http://libguestfs."
"org/>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestfs-examples(3)>, L<http://libguestfs."
"org/>."

#. type: textblock
#: ../docs/guestfs-testing.pod:408 ../erlang/examples/guestfs-erlang.pod:117
#: ../fish/virt-copy-in.pod:58 ../fish/virt-copy-out.pod:53
#: ../fish/virt-tar-in.pod:56 ../fish/virt-tar-out.pod:55
#: ../java/examples/guestfs-java.pod:181 ../perl/examples/guestfs-perl.pod:60
msgid "Copyright (C) 2011-2012 Red Hat Inc."
msgstr "Copyright (C) 2011-2012 Red Hat Inc."

#. type: =head2
#: ../docs/internal-documentation.pod:1
msgid "Subdirectory F<lib>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3
msgid "File F<lib/actions-support.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:5
msgid "Helper functions for the actions code in F<lib/actions-*.c>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:7
msgid "File F<lib/appliance-cpu.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:9
msgid "The appliance choice of CPU model."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:11
msgid "Function C<lib/appliance-cpu.c:guestfs_int_get_cpu_model>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:13
#, no-wrap
msgid ""
" const char *\n"
" guestfs_int_get_cpu_model (int kvm)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:16
msgid ""
"Return the right CPU model to use as the qemu C<-cpu> parameter or its "
"equivalent in libvirt.  This returns:"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:21
msgid "C<\"host\">"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:23
msgid "The literal string C<\"host\"> means use C<-cpu host>."
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:25
msgid "some string"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:27
msgid "Some string such as C<\"cortex-a57\"> means use C<-cpu cortex-a57>."
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:29
msgid "C<NULL>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:31
msgid ""
"C<NULL> means no C<-cpu> option at all.  Note returning C<NULL> does not "
"indicate an error."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:36
msgid ""
"This is made unnecessarily hard and fragile because of two stupid choices in "
"QEMU:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:43
msgid ""
"The default for C<qemu-system-aarch64 -M virt> is to emulate a C<cortex-a15> "
"(WTF?)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:48
msgid ""
"We don't know for sure if KVM will work, but C<-cpu host> is broken with "
"TCG, so we almost always pass a broken C<-cpu> flag if KVM is semi-broken in "
"any way."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:54
msgid "File F<lib/appliance-kcmdline.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:56
msgid "The appliance kernel command line."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:58
msgid "Definition C<lib/appliance-kcmdline.c:VALID_TERM>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:60
#, no-wrap
msgid ""
" #define VALID_TERM\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:62
msgid ""
"Check that the $TERM environment variable is reasonable before we pass it "
"through to the appliance."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:65
msgid "Function C<lib/appliance-kcmdline.c:get_root_uuid>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:67
#, fuzzy, no-wrap
#| msgid ""
#| " char *\n"
#| " guestfs_lvuuid (guestfs_h *g,\n"
#| "                 const char *device);\n"
#| "\n"
msgid ""
" static char *\n"
" get_root_uuid (guestfs_h *g, const char *appliance)\n"
"\n"
msgstr ""
" char *\n"
" guestfs_lvuuid (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"

#. type: textblock
#: ../docs/internal-documentation.pod:70
msgid ""
"Given a disk image containing an extX filesystem, return the UUID.  The "
"L<file(1)> command does the hard work."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:73
msgid "Function C<lib/appliance-kcmdline.c:guestfs_int_appliance_command_line>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:75
#, fuzzy, no-wrap
#| msgid ""
#| " char *\n"
#| " guestfs_inspect_get_package_format (guestfs_h *g,\n"
#| "                                     const char *root);\n"
#| "\n"
msgid ""
" char *\n"
" guestfs_int_appliance_command_line (guestfs_h *g,\n"
"                                     const char *appliance,\n"
" \t\t\t\t    int flags)\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_package_format (guestfs_h *g,\n"
"                                     const char *root);\n"
"\n"

#. type: textblock
#: ../docs/internal-documentation.pod:80
msgid ""
"Construct the Linux command line passed to the appliance.  This is used by "
"the C<direct> and C<libvirt> backends, and is simply located in this file "
"because it's a convenient place for this common code."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:85
msgid ""
"The C<appliance> parameter is the filename of the appliance (could be NULL) "
"from which we obtain the root UUID."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:88
msgid ""
"The C<flags> parameter can contain the following flags logically or'd "
"together (or 0):"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:93
msgid "C<APPLIANCE_COMMAND_LINE_IS_TCG>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:95
msgid ""
"If we are launching a qemu TCG guest (ie. KVM is known to be disabled or "
"unavailable).  If you don't know, don't pass this flag."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:100
msgid ""
"Note that this function returns a newly allocated buffer which must be freed "
"by the caller."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:103
msgid "File F<lib/appliance-uefi.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:105
msgid "Find the UEFI firmware needed to boot the appliance."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:107
msgid ""
"See also F<lib/uefi.c> (autogenerated file) containing the firmware file "
"locations."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:110
msgid "Function C<lib/appliance-uefi.c:guestfs_int_get_uefi>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:112
#, fuzzy, no-wrap
#| msgid ""
#| " int\n"
#| " guestfs_part_get_mbr_id (guestfs_h *g,\n"
#| "                          const char *device,\n"
#| "                          int partnum);\n"
#| "\n"
msgid ""
" int\n"
" guestfs_int_get_uefi (guestfs_h *g, char *const *firmwares,\n"
"                       const char **firmware, char **code, char **vars,\n"
"                       int *flags)\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_get_mbr_id (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int partnum);\n"
"\n"

#. type: textblock
#: ../docs/internal-documentation.pod:117
msgid ""
"Return the location of firmware needed to boot the appliance.  This is "
"aarch64 only currently, since that's the only architecture where UEFI is "
"mandatory (and that only for RHEL)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:121
msgid ""
"C<firmwares> is an optional list of allowed values for the firmware "
"autoselection of libvirt. It is C<NULL> to indicate it is not supported. "
"C<*firmware> is set to one of the strings in C<firmwares> in case one can be "
"used."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:126
msgid ""
"C<*code> is initialized with the path to the read-only UEFI code file.  "
"C<*vars> is initialized with the path to a copy of the UEFI vars file (which "
"is cleaned up automatically on exit)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:130
msgid ""
"In case a UEFI firmare is available, either C<*firmware> is set to a non-"
"C<NULL> value, or C<*code> and C<*vars> are."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:133
msgid ""
"C<*code> and C<*vars> should be freed by the caller, and C<*firmware> "
"B<must> not."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:136
msgid ""
"If the function returns C<-1> then there was a real error which should cause "
"appliance building to fail (no UEFI firmware is not an error)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:140
msgid "See also F<virt-v2v.git/v2v/utils.ml>:find_uefi_firmware"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:142
msgid "File F<lib/appliance.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:144
msgid "This file deals with building the libguestfs appliance."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:146
msgid "Function C<lib/appliance.c:guestfs_int_build_appliance>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:148
#, no-wrap
msgid ""
" int\n"
" guestfs_int_build_appliance (guestfs_h *g,\n"
" \t\t\t     char **kernel_rtn,\n"
" \t\t\t     char **initrd_rtn,\n"
" \t\t\t     char **appliance_rtn)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:154
msgid "Locate or build the appliance."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:156
msgid ""
"This function locates or builds the appliance as necessary, handling the "
"supermin appliance, caching of supermin-built appliances, or using either a "
"fixed or old-style appliance."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:160
msgid ""
"The return value is C<0> = good, C<-1> = error.  Returned in C<appliance."
"kernel> will be the name of the kernel to use, C<appliance.initrd> the name "
"of the initrd, C<appliance.image> the name of the ext2 root filesystem.  "
"C<appliance.image> can be C<NULL>, meaning that we are using an old-style "
"(non-ext2) appliance.  All three strings must be freed by the caller.  "
"However the referenced files themselves must I<not> be deleted."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:168
msgid "The process is as follows:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:174
msgid ""
"Look in C<path> which contains a supermin appliance skeleton.  If no element "
"has this, skip straight to step 3."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:179
msgid ""
"Call C<supermin --build> to build the full appliance (if it needs to be "
"rebuilt).  If this is successful, return the full appliance."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:184
msgid ""
"Check C<path>, looking for a fixed appliance.  If one is found, return it."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:188
msgid ""
"Check C<path>, looking for an old-style appliance.  If one is found, return "
"it."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:193
msgid ""
"The supermin appliance cache directory lives in F<$TMPDIR/.guestfs-$UID/> "
"and consists of up to four files:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:196
#, no-wrap
msgid ""
"  $TMPDIR/.guestfs-$UID/lock            - the supermin lock file\n"
"  $TMPDIR/.guestfs-$UID/appliance.d/kernel - the kernel\n"
"  $TMPDIR/.guestfs-$UID/appliance.d/initrd - the supermin initrd\n"
"  $TMPDIR/.guestfs-$UID/appliance.d/root   - the appliance\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:201
msgid ""
"Multiple instances of libguestfs with the same UID may be racing to create "
"an appliance.  However (since supermin E<ge> 5) supermin provides a I<--"
"lock> flag and atomic update of the F<appliance.d> subdirectory."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:206
msgid "Function C<lib/appliance.c:locate_or_build_appliance>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:208
#, no-wrap
msgid ""
" static int\n"
" locate_or_build_appliance (guestfs_h *g,\n"
"                            struct appliance_files *appliance,\n"
"                            const char *path)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:213
msgid ""
"Check C<path>, looking for one of appliances: supermin appliance, fixed "
"appliance or old-style appliance.  If one of the fixed appliances is found, "
"return it.  If the supermin appliance skeleton is found, build and return "
"appliance."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:218
#: ../docs/internal-documentation.pod:232
msgid "Return values:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:220
#, no-wrap
msgid ""
"  1 = appliance is found, returns C<appliance>,\n"
"  0 = appliance not found,\n"
" -1 = error which aborts the launch process.\n"
"\n"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:224
msgid "Function C<lib/appliance.c:search_appliance>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:226
#, no-wrap
msgid ""
" static int\n"
" search_appliance (guestfs_h *g, struct appliance_files *appliance)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:229
msgid ""
"Search elements of C<g-E<gt>path>, returning the first C<appliance> element "
"which matches the predicate function C<locate_or_build_appliance>."
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:234
#, no-wrap
msgid ""
"  1 = a path element matched, returns C<appliance>,\n"
"  0 = no path element matched,\n"
" -1 = error which aborts the launch process.\n"
"\n"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:238
msgid "Function C<lib/appliance.c:build_supermin_appliance>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:240
#, no-wrap
msgid ""
" static int\n"
" build_supermin_appliance (guestfs_h *g,\n"
"                           const char *supermin_path,\n"
"                           struct appliance_files *appliance)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:245
msgid ""
"Build supermin appliance from C<supermin_path> to F<$TMPDIR/.guestfs-$UID>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:248
msgid "Returns: C<0> = built or C<-1> = error (aborts launch)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:250
msgid "Function C<lib/appliance.c:run_supermin_build>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:252
#, no-wrap
msgid ""
" static int\n"
" run_supermin_build (guestfs_h *g,\n"
"                     const char *lockfile,\n"
"                     const char *appliancedir,\n"
"                     const char *supermin_path)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:258
msgid "Run C<supermin --build> and tell it to generate the appliance."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:260
msgid "Function C<lib/appliance.c:dir_contains_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:262
#, no-wrap
msgid ""
" static int\n"
" dir_contains_file (guestfs_h *g, const char *dir, const char *file)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:265
msgid "Returns true iff C<file> is contained in C<dir>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:267
msgid "Function C<lib/appliance.c:dir_contains_files>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:269
#, no-wrap
msgid ""
" static int\n"
" dir_contains_files (guestfs_h *g, const char *dir, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:272
msgid "Returns true iff every listed file is contained in C<dir>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:274
msgid "File F<lib/command.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:276
msgid ""
"A wrapper for running external commands, loosely based on libvirt's "
"C<virCommand> interface."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:279
msgid "In outline to use this interface you must:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:285
msgid "Create a new command handle:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:287
#, no-wrap
msgid ""
" struct command *cmd;\n"
" cmd = guestfs_int_new_command (g);\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:292
msgid "I<Either> add arguments:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:294
#, no-wrap
msgid ""
" guestfs_int_cmd_add_arg (cmd, \"qemu-img\");\n"
" guestfs_int_cmd_add_arg (cmd, \"info\");\n"
" guestfs_int_cmd_add_arg (cmd, filename);\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:298
msgid "(B<NB:> You don't need to add a C<NULL> argument at the end.)"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:302
msgid ""
"I<Or> construct a command using a mix of quoted and unquoted strings.  (This "
"is useful for L<system(3)>/C<popen(\"r\")>-style shell commands, with the "
"added safety of allowing args to be quoted properly)."
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:307
#, no-wrap
msgid ""
" guestfs_int_cmd_add_string_unquoted (cmd, \"qemu-img info \");\n"
" guestfs_int_cmd_add_string_quoted (cmd, filename);\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:312
msgid ""
"Set various flags, such as whether you want to capture errors in the regular "
"libguestfs error log."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:317
msgid ""
"Run the command.  This is what does the L<fork(2)> call, optionally loops "
"over the output, and then does a L<waitpid(3)> and returns the exit status "
"of the command."
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:321
#, no-wrap
msgid ""
" r = guestfs_int_cmd_run (cmd);\n"
" if (r == -1)\n"
"   // error\n"
" // else test r using the WIF* functions\n"
"\n"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:326 ../rescue/virt-rescue.pod:454
msgid "6."
msgstr "6."

#. type: textblock
#: ../docs/internal-documentation.pod:328
msgid "Close the handle:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:330
#, no-wrap
msgid ""
" guestfs_int_cmd_close (cmd);\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:332
msgid "(or use C<CLEANUP_CMD_CLOSE>)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:336
msgid "Function C<lib/command.c:guestfs_int_new_command>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:338
#, no-wrap
msgid ""
" struct command *\n"
" guestfs_int_new_command (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:341
msgid "Create a new command handle."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:343
msgid "Function C<lib/command.c:guestfs_int_cmd_add_arg>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:345
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_add_arg (struct command *cmd, const char *arg)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:348
msgid "Add single arg (for C<execv>-style command execution)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:350
msgid "Function C<lib/command.c:guestfs_int_cmd_add_arg_format>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:352
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_add_arg_format (struct command *cmd, const char *fs, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:355
msgid ""
"Add single arg (for C<execv>-style command execution)  using a L<printf(3)>-"
"style format string."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:358
msgid "Function C<lib/command.c:guestfs_int_cmd_add_string_unquoted>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:360
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_add_string_unquoted (struct command *cmd, const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:363
#: ../docs/internal-documentation.pod:373
msgid "Add a string (for L<system(3)>-style command execution)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:365
msgid ""
"This variant adds the strings without quoting them, which is dangerous if "
"the string contains untrusted content."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:368
msgid "Function C<lib/command.c:guestfs_int_cmd_add_string_quoted>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:370
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_add_string_quoted (struct command *cmd, const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:375
msgid ""
"The string is enclosed in double quotes, with any special characters within "
"the string which need escaping done.  This is used to add a single argument "
"to a L<system(3)>-style command string."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:380
msgid "Function C<lib/command.c:guestfs_int_cmd_set_stdout_callback>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:382
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_set_stdout_callback (struct command *cmd,\n"
"                                      cmd_stdout_callback stdout_callback,\n"
"                                      void *stdout_data, unsigned flags)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:387
msgid "Set a callback which will capture stdout."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:389
msgid ""
"If flags contains C<CMD_STDOUT_FLAG_LINE_BUFFER> (the default), then the "
"callback is called line by line on the output.  If there is a trailing C<"
"\\n> then it is automatically removed before the callback is called.  The "
"line buffer is C<\\0>-terminated."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:394
msgid ""
"If flags contains C<CMD_STDOUT_FLAG_UNBUFFERED>, then buffers are passed to "
"the callback as it is received from the command.  Note in this case the "
"buffer is I<not> C<\\0>-terminated, so you need to may attention to the "
"length field in the callback."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:399
msgid ""
"If flags contains C<CMD_STDOUT_FLAG_WHOLE_BUFFER>, then the callback is "
"called exactly once, with the entire buffer.  Note in this case the buffer "
"is I<not> C<\\0>-terminated, so you need to may attention to the length "
"field in the callback."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:404
msgid "Function C<lib/command.c:guestfs_int_cmd_set_stderr_to_stdout>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:406
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_set_stderr_to_stdout (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:409
msgid ""
"Equivalent to adding C<2E<gt>&1> to the end of the command.  This is "
"incompatible with the C<capture_errors> flag, because it doesn't make sense "
"to combine them."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:413
msgid "Function C<lib/command.c:guestfs_int_cmd_clear_capture_errors>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:415
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_clear_capture_errors (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:418
msgid ""
"Clear the C<capture_errors> flag.  This means that any errors will go to "
"stderr, instead of being captured in the event log, and that is usually "
"undesirable."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:422
msgid "Function C<lib/command.c:guestfs_int_cmd_clear_close_files>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:424
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_clear_close_files (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:427
msgid "Don't close file descriptors after the fork."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:429
msgid "XXX Should allow single fds to be sent to child process."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:431
msgid "Function C<lib/command.c:guestfs_int_cmd_set_child_callback>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:433
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_set_child_callback (struct command *cmd,\n"
"                                     cmd_child_callback child_callback,\n"
"                                     void *data)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:438
msgid ""
"Set a function to be executed in the child, right before the execution.  Can "
"be used to setup the child, for example changing its current directory."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:442
msgid "Function C<lib/command.c:guestfs_int_cmd_set_child_rlimit>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:444
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_set_child_rlimit (struct command *cmd, int resource, long limit)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:447
msgid ""
"Set up child rlimits, in case the process we are running could consume lots "
"of space or time."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:450
msgid "Function C<lib/command.c:finish_command>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:452
#, no-wrap
msgid ""
" static void\n"
" finish_command (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:455
msgid ""
"Finish off the command by either C<NULL>-terminating the argv array or "
"adding a terminating C<\\0> to the string, or die with an internal error if "
"no command has been added."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:459
msgid "Function C<lib/command.c:loop>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:461
#, no-wrap
msgid ""
" static int\n"
" loop (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:464
msgid ""
"The loop which reads errors and output and directs it either to the log or "
"to the stdout callback as appropriate."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:467
msgid "Function C<lib/command.c:guestfs_int_cmd_run>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:469
#, no-wrap
msgid ""
" int\n"
" guestfs_int_cmd_run (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:472
msgid "Fork, run the command, loop over the output, and waitpid."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:474
msgid "Returns the exit status.  Test it using C<WIF*> macros."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:476
msgid "On error: Calls C<error> and returns C<-1>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:478
msgid "Function C<lib/command.c:guestfs_int_cmd_pipe_run>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:480
#, no-wrap
msgid ""
" int\n"
" guestfs_int_cmd_pipe_run (struct command *cmd, const char *mode)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:483
msgid ""
"Fork and run the command, but don't wait.  Roughly equivalent to S<C<popen "
"(..., \"r\"|\"w\")>>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:486
msgid ""
"Returns the file descriptor of the pipe, connected to stdout (C<\"r\">) or "
"stdin (C<\"w\">) of the child process."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:489
msgid ""
"After reading/writing to this pipe, call C<guestfs_int_cmd_pipe_wait> to "
"wait for the status of the child."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:492
msgid ""
"Errors from the subcommand cannot be captured to the error log using this "
"interface.  Instead the caller should call "
"C<guestfs_int_cmd_get_pipe_errors> (after C<guestfs_int_cmd_pipe_wait> "
"returns an error)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:497
msgid "Function C<lib/command.c:guestfs_int_cmd_pipe_wait>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:499
#, no-wrap
msgid ""
" int\n"
" guestfs_int_cmd_pipe_wait (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:502
msgid ""
"Wait for a subprocess created by C<guestfs_int_cmd_pipe_run> to finish.  On "
"error (eg. failed syscall) this returns C<-1> and sets the error.  If the "
"subcommand fails, then use C<WIF*> macros to check this, and call "
"C<guestfs_int_cmd_get_pipe_errors> to read the error messages printed by the "
"child."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:508
msgid "Function C<lib/command.c:guestfs_int_cmd_get_pipe_errors>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:510
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_cmd_get_pipe_errors (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:513
msgid ""
"Read the error messages printed by the child.  The caller must free the "
"returned buffer after use."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:516
msgid "Function C<lib/command.c:guestfs_int_cmd_close>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:518
#, no-wrap
msgid ""
" void\n"
" guestfs_int_cmd_close (struct command *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:521
msgid "Close the C<cmd> object and free all resources."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:523
msgid "Function C<lib/command.c:process_line_buffer>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:525
#, no-wrap
msgid ""
" static void\n"
" process_line_buffer (struct command *cmd, int closed)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:528
msgid "Deal with buffering stdout for the callback."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:530
msgid "File F<lib/conn-socket.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:532
msgid ""
"This file handles connections to the child process where this is done over "
"regular POSIX sockets."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:535
msgid "Function C<lib/conn-socket.c:handle_log_message>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:537
#, no-wrap
msgid ""
" static int\n"
" handle_log_message (guestfs_h *g,\n"
"                     struct connection_socket *conn)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:541
msgid ""
"This is called if C<conn-E<gt>console_sock> becomes ready to read while we "
"are doing one of the connection operations above.  It reads and deals with "
"the log message."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:545
msgid "Returns:"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:549
#: ../docs/internal-documentation.pod:3973 ../fuse/guestunmount.pod:131
msgid "C<1>"
msgstr "C<1>"

#. type: textblock
#: ../docs/internal-documentation.pod:551
msgid "log message(s) were handled successfully"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:553
#: ../docs/internal-documentation.pod:3977
msgid "C<0>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:555
msgid "connection to appliance closed"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:557
#: ../docs/internal-documentation.pod:3981
msgid "C<-1>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:559
#: ../docs/internal-documentation.pod:1556
msgid "error"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:563
msgid "Function C<lib/conn-socket.c:guestfs_int_new_conn_socket_listening>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:565
#, no-wrap
msgid ""
" struct connection *\n"
" guestfs_int_new_conn_socket_listening (guestfs_h *g,\n"
" \t\t\t\t       int daemon_accept_sock,\n"
" \t\t\t\t       int console_sock)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:570
msgid "Create a new socket connection, listening."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:572
msgid ""
"Note that it's OK for C<console_sock> to be passed as C<-1>, meaning there's "
"no console available for this appliance."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:575
msgid ""
"After calling this, C<daemon_accept_sock> is owned by the connection, and "
"will be closed properly either in C<accept_connection> or C<free_connection>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:579
msgid "Function C<lib/conn-socket.c:guestfs_int_new_conn_socket_connected>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:581
#, no-wrap
msgid ""
" struct connection *\n"
" guestfs_int_new_conn_socket_connected (guestfs_h *g,\n"
" \t\t\t\t       int daemon_sock,\n"
" \t\t\t\t       int console_sock)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:586
msgid "Create a new socket connection, connected."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:588
msgid ""
"As above, but the caller passes us a connected C<daemon_sock> and promises "
"not to call C<accept_connection>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:591
msgid "File F<lib/create.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:593
msgid "APIs for creating empty disks."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:595
msgid "Mostly this consists of wrappers around the L<qemu-img(1)> program."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:597
msgid "Definition C<lib/create.c:VALID_FORMAT>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:599
#, no-wrap
msgid ""
" #define VALID_FORMAT\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:601
msgid ""
"Check for valid backing format.  Allow any C<^[[:alnum]]+$> (in C locale), "
"but limit the length to something reasonable."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:604
msgid "File F<lib/drives.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:606
msgid ""
"Drives added are stored in an array in the handle.  Code here manages that "
"array and the individual C<struct drive> data."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:609
msgid "Function C<lib/drives.c:create_overlay>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:611
#, no-wrap
msgid ""
" static int\n"
" create_overlay (guestfs_h *g, struct drive *drv)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:614
msgid ""
"For readonly drives, create an overlay to protect the original drive "
"content.  Note we never need to clean up these overlays since they are "
"created in the temporary directory and deleted when the handle is closed."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:619
msgid "Function C<lib/drives.c:create_drive_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:621
#, no-wrap
msgid ""
" static struct drive *\n"
" create_drive_file (guestfs_h *g,\n"
"                    const struct drive_create_data *data)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:625
msgid "Create and free the C<struct drive>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:627
msgid "Function C<lib/drives.c:create_drive_dev_null>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:629
#, no-wrap
msgid ""
" static struct drive *\n"
" create_drive_dev_null (guestfs_h *g,\n"
"                        struct drive_create_data *data)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:633
msgid "Create the special F</dev/null> drive."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:635
msgid ""
"Traditionally you have been able to use F</dev/null> as a filename, as many "
"times as you like.  Ancient KVM (RHEL 5) cannot handle adding F</dev/null> "
"readonly.  qemu 1.2 + virtio-scsi segfaults when you use any zero-sized file "
"including F</dev/null>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:640
msgid ""
"Because of these problems, we replace F</dev/null> with a non-zero sized "
"temporary file.  This shouldn't make any difference since users are not "
"supposed to try and access a null drive."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:644
msgid "Function C<lib/drives.c:drive_to_string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:646
#, no-wrap
msgid ""
" static char *\n"
" drive_to_string (guestfs_h *g, const struct drive *drv)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:649
msgid ""
"Convert a C<struct drive> to a string for debugging.  The caller must free "
"this string."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:652
msgid "Function C<lib/drives.c:add_drive_to_handle_at>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:654
#, no-wrap
msgid ""
" static void\n"
" add_drive_to_handle_at (guestfs_h *g, struct drive *d, size_t drv_index)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:657
msgid ""
"Add C<struct drive> to the C<g-E<gt>drives> vector at the given index "
"C<drv_index>.  If the array isn't large enough it is reallocated.  The index "
"must not contain a drive already."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:661
msgid "Function C<lib/drives.c:add_drive_to_handle>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:663
#, no-wrap
msgid ""
" static void\n"
" add_drive_to_handle (guestfs_h *g, struct drive *d)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:666
msgid ""
"Add struct drive to the end of the C<g-E<gt>drives> vector in the handle."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:669
msgid "Function C<lib/drives.c:guestfs_int_add_dummy_appliance_drive>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:671
#, no-wrap
msgid ""
" void\n"
" guestfs_int_add_dummy_appliance_drive (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:674
msgid "Called during launch to add a dummy slot to C<g-E<gt>drives>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:676
msgid "Function C<lib/drives.c:guestfs_int_free_drives>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:678
#, no-wrap
msgid ""
" void\n"
" guestfs_int_free_drives (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:681
msgid "Free up all the drives in the handle."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:683
msgid "Definition C<lib/drives.c:VALID_FORMAT_IFACE>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:685
#, no-wrap
msgid ""
" #define VALID_FORMAT_IFACE\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:687
msgid ""
"Check string parameter matches regular expression C<^[-_[:alnum:]]+$> (in C "
"locale)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:690
msgid "Definition C<lib/drives.c:VALID_DISK_LABEL>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:692
#, no-wrap
msgid ""
" #define VALID_DISK_LABEL\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:694
msgid ""
"Check the disk label is reasonable.  It can't contain certain characters, "
"eg. C<'/'>, C<','>.  However be stricter here and ensure it's just "
"alphabetic and E<le> 20 characters in length."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:698
msgid "Definition C<lib/drives.c:VALID_HOSTNAME>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:700
#, no-wrap
msgid ""
" #define VALID_HOSTNAME\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:702
msgid "Check the server hostname is reasonable."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:704
msgid "Function C<lib/drives.c:valid_port>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:706
#, no-wrap
msgid ""
" static int\n"
" valid_port (int port)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:709
msgid "Check the port number is reasonable."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:711
msgid "Function C<lib/drives.c:valid_blocksize>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:713
#, no-wrap
msgid ""
" static int\n"
" valid_blocksize (int blocksize)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:716
msgid ""
"Check the block size is reasonable.  It can't be other then 512 or 4096."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:718
msgid "Function C<lib/drives.c:guestfs_impl_remove_drive>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:720
#, no-wrap
msgid ""
" int\n"
" guestfs_impl_remove_drive (guestfs_h *g, const char *label)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:723
msgid "This function implements L<guestfs(3)/guestfs_remove_drive>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:725
msgid ""
"Depending on whether we are hotplugging or not, this function does slightly "
"different things: If not hotplugging, then the drive just disappears as if "
"it had never been added.  The later drives \"move up\" to fill the space.  "
"When hotplugging we have to do some complex stuff, and we usually end up "
"leaving an empty (C<NULL>) slot in the C<g-E<gt>drives> vector."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:732
msgid "Function C<lib/drives.c:guestfs_int_checkpoint_drives>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:734
#, no-wrap
msgid ""
" size_t\n"
" guestfs_int_checkpoint_drives (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:737
msgid ""
"Checkpoint and roll back drives, so that groups of drives can be added "
"atomically.  Only used by L<guestfs(3)/guestfs_add_domain>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:740
msgid "Function C<lib/drives.c:guestfs_impl_debug_drives>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:742
#, no-wrap
msgid ""
" char **\n"
" guestfs_impl_debug_drives (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:745
msgid "Internal function to return the list of drives."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:747
msgid "File F<lib/errors.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:749
msgid "This file handles errors, and also debug, trace and warning messages."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:751
msgid ""
"Errors in libguestfs API calls are handled by setting an error message and "
"optional errno in the handle.  The caller has the choice of testing API "
"calls to find out if they failed and then querying the last error from the "
"handle, and/or getting a callback."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:756
msgid ""
"From the point of view of the library source, generally you should use the "
"C<error> or C<perrorf> macros along error paths, eg:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:759
#, no-wrap
msgid ""
" if (something_bad) {\n"
"   error (g, \"something bad happened\");\n"
"   return -1;\n"
" }\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:764
msgid ""
"Make sure to call the C<error> or C<perrorf> macro exactly once along each "
"error path, since the handle can only store a single error and the previous "
"error will be overwritten."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:768
msgid "Function C<lib/errors.c:guestfs_int_warning>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:770
#, no-wrap
msgid ""
" void\n"
" guestfs_int_warning (guestfs_h *g, const char *fs, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:773
msgid "Print a warning."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:775
msgid ""
"Code should I<not> call this function directly.  Use the S<C<warning (g, "
"fs, ...)>> macro."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:778
msgid ""
"Warnings are printed unconditionally.  We try to make these rare: Generally "
"speaking, a warning should either be an error, or if it's not important for "
"end users then it should be a debug message."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:782
msgid "Function C<lib/errors.c:guestfs_int_debug>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:784
#, no-wrap
msgid ""
" void\n"
" guestfs_int_debug (guestfs_h *g, const char *fs, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:787
msgid "Print a debug message."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:789
msgid ""
"Code should I<not> call this function directly.  To add debug messages in "
"the library, use the S<C<debug (g, fs, ...)>> macro.  The macro checks if "
"C<g-E<gt>verbose> is false and avoids the function call, meaning the macro "
"is more efficient."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:794
msgid "Function C<lib/errors.c:guestfs_int_trace>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:796
#, no-wrap
msgid ""
" void\n"
" guestfs_int_trace (guestfs_h *g, const char *fs, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:799
msgid "Print a trace message."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:801
msgid "Do not call this function.  All calls are generated automatically."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:803
msgid "Function C<lib/errors.c:guestfs_int_error_errno>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:805
#, no-wrap
msgid ""
" void\n"
" guestfs_int_error_errno (guestfs_h *g, int errnum, const char *fs, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:808
msgid ""
"Set the last error and errno in the handle, and optionally raise the error "
"callback if one is defined."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:811
msgid ""
"If you don't need to set errno, use the S<C<error (g, fs, ...)>> macro "
"instead of calling this directly.  If you need to set errno then there is no "
"macro wrapper, so calling this function directly is fine."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:816
msgid "Function C<lib/errors.c:guestfs_int_perrorf>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:818
#, no-wrap
msgid ""
" void\n"
" guestfs_int_perrorf (guestfs_h *g, const char *fs, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:821
msgid ""
"Similar to L<perror(3)>, but it sets the last error in the handle, raises "
"the error callback if one is defined, and supports format strings."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:825
msgid ""
"You should probably use the S<C<perrorf (g, fs, ...)>> macro instead of "
"calling this directly."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:828
msgid "Function C<lib/errors.c:guestfs_int_launch_failed_error>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:830
#, no-wrap
msgid ""
" void\n"
" guestfs_int_launch_failed_error (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:833
msgid "Raise a launch failed error in a standard format."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:835
msgid ""
"Since this is the most common error seen by people who have installation "
"problems, buggy qemu, etc, and since no one reads the FAQ, describe in this "
"error message what resources are available to debug launch problems."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:840
msgid "Function C<lib/errors.c:guestfs_int_unexpected_close_error>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:842
#, no-wrap
msgid ""
" void\n"
" guestfs_int_unexpected_close_error (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:845
msgid "Raise an error if the appliance unexpectedly crashes after launch."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:847
msgid "Function C<lib/errors.c:guestfs_int_launch_timeout>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:849
#, no-wrap
msgid ""
" void\n"
" guestfs_int_launch_timeout (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:852
msgid "Raise an error if the appliance hangs during launch."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:854
msgid "Function C<lib/errors.c:guestfs_int_external_command_failed>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:856
#, no-wrap
msgid ""
" void\n"
" guestfs_int_external_command_failed (guestfs_h *g, int status,\n"
" \t\t\t\t     const char *cmd_name, const char *extra)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:860
msgid "Raise an error if an external command fails."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:862
msgid ""
"C<status> is the status code of the command (eg. returned from L<waitpid(2)> "
"or L<system(3)>).  This function turns the status code into an explanatory "
"string."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:866
msgid "File F<lib/events.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:868
msgid "Function C<lib/events.c:replace_old_style_event_callback>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:870
#, no-wrap
msgid ""
" static void\n"
" replace_old_style_event_callback (guestfs_h *g,\n"
"                                   guestfs_event_callback cb,\n"
"                                   uint64_t event_bitmask,\n"
"                                   void *opaque,\n"
"                                   void *opaque2)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:877
msgid "Emulate old-style callback API."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:879
msgid ""
"There were no event handles, so multiple callbacks per event were not "
"supported.  Calling the same C<guestfs_set_*_callback> function would "
"replace the existing event.  Calling it with C<cb == NULL> meant that the "
"caller wanted to remove the callback."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:884
msgid "File F<lib/guestfs-internal-all.h>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:886
msgid ""
"This header contains definitions which are shared by all parts of "
"libguestfs, ie. the daemon, the library, language bindings and virt tools "
"(ie. I<all> C code)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:890
msgid ""
"If you need a definition used by only the library, put it in F<lib/guestfs-"
"internal.h> instead."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:893
msgid ""
"If a definition is used by only a single tool, it should not be in any "
"shared header file at all."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:896
msgid "File F<lib/guestfs-internal.h>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:898
msgid "This header file is included in the libguestfs library (F<lib/>)  only."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:901
msgid "See also F<lib/guestfs-internal-all.h>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:903
msgid "Structure C<lib/guestfs-internal.h:event>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:905
#, no-wrap
msgid ""
" struct event {\n"
"   uint64_t event_bitmask;\n"
"   guestfs_event_callback cb;\n"
"   void *opaque;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:910
#, no-wrap
msgid ""
"   /* opaque2 is not exposed through the API, but is used internally to\n"
"    * emulate the old-style callback API.\n"
"    */\n"
"   void *opaque2;\n"
" };\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:916
msgid ""
"This struct is used to maintain a list of events registered against the "
"handle.  See C<g-E<gt>events> in the handle."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:919
msgid "Structure C<lib/guestfs-internal.h:drive>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:921
#, no-wrap
msgid ""
" struct drive {\n"
"   /* Original source of the drive, eg. file:..., http:... */\n"
"   struct drive_source src;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:925
#, no-wrap
msgid ""
"   /* If the drive is readonly, then an overlay [a local file] is\n"
"    * created before launch to protect the original drive content, and\n"
"    * the filename is stored here.  Backends should open this file if\n"
"    * it is non-NULL, else consult the original source above.\n"
"    *\n"
"    * Note that the overlay is in a backend-specific format, probably\n"
"    * different from the source format.  eg. qcow2, UML COW.\n"
"    */\n"
"   char *overlay;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:935
#, no-wrap
msgid ""
"   /* Various per-drive flags. */\n"
"   bool readonly;\n"
"   char *iface;\n"
"   char *name;\n"
"   char *disk_label;\n"
"   char *cachemode;\n"
"   enum discard discard;\n"
"   bool copyonread;\n"
"   int blocksize;\n"
" };\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:946
msgid "There is one C<struct drive> per drive, including hot-plugged drives."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:948
msgid "Structure C<lib/guestfs-internal.h:backend_ops>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:950
#, no-wrap
msgid ""
" struct backend_ops {\n"
"   /* Size (in bytes) of the per-handle data structure needed by this\n"
"    * backend.  The data pointer is allocated and freed by libguestfs\n"
"    * and passed to the functions in the 'void *data' parameter.\n"
"    * Inside the data structure is opaque to libguestfs.  Any strings\n"
"    * etc pointed to by it must be freed by the backend during\n"
"    * shutdown.\n"
"    */\n"
"   size_t data_size;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:960
#, no-wrap
msgid ""
"   /* Create a COW overlay on top of a drive.  This must be a local\n"
"    * file, created in the temporary directory.  This is called when\n"
"    * the drive is added to the handle.\n"
"    */\n"
"   char *(*create_cow_overlay) (guestfs_h *g, void *data, struct drive *drv);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:966
#, no-wrap
msgid ""
"   /* Launch and shut down. */\n"
"   int (*launch) (guestfs_h *g, void *data, const char *arg);\n"
"   int (*shutdown) (guestfs_h *g, void *data, int check_for_errors);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:970
#, no-wrap
msgid ""
"   /* Miscellaneous. */\n"
"   int (*get_pid) (guestfs_h *g, void *data);\n"
"   int (*max_disks) (guestfs_h *g, void *data);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:974
#, no-wrap
msgid ""
"   /* Hotplugging drives. */\n"
"   int (*hot_add_drive) (guestfs_h *g, void *data, struct drive *drv, size_t drv_index);\n"
"   int (*hot_remove_drive) (guestfs_h *g, void *data, struct drive *drv, size_t drv_index);\n"
" };\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:979
msgid "Backend operations."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:981
msgid ""
"Each backend (eg. libvirt, direct) defines some functions which get run at "
"various places in the handle lifecycle (eg. at launch, shutdown).  The "
"backend defines this struct pointing to those functions."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:986
msgid "Structure C<lib/guestfs-internal.h:connection>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:988
#, no-wrap
msgid ""
" struct connection {\n"
"   const struct connection_ops *ops;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:991
#, no-wrap
msgid ""
"   /* In the real struct, private data used by each connection module\n"
"    * follows here.\n"
"    */\n"
" };\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:996
msgid "Connection module."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:998
msgid ""
"A C<connection> represents the appliance console connection plus the daemon "
"connection.  It hides the underlying representation (POSIX sockets, "
"C<virStreamPtr>)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1002
msgid "Structure C<lib/guestfs-internal.h:cached_feature>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1004
#, no-wrap
msgid ""
" struct cached_feature {\n"
"   char *group;\n"
"   int result;\n"
" };\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1009
msgid "Cache of queried features."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1011
msgid "Used to cache the appliance features (see F<lib/available.c>)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1013
msgid "Structure C<lib/guestfs-internal.h:guestfs_h>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1015
#, no-wrap
msgid ""
" struct guestfs_h {\n"
"   struct guestfs_h *next;\t/* Linked list of open handles. */\n"
"   enum state state;             /* See the state machine diagram in guestfs(3)*/\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1019
#, no-wrap
msgid ""
"   /* Lock acquired when entering any public guestfs_* function to\n"
"    * protect the handle.\n"
"    */\n"
"   gl_recursive_lock_define (, lock);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1024
#, no-wrap
msgid ""
"   /**** Configuration of the handle. ****/\n"
"   bool verbose;                 /* Debugging. */\n"
"   bool trace;                   /* Trace calls. */\n"
"   bool autosync;                /* Autosync. */\n"
"   bool direct_mode;             /* Direct mode. */\n"
"   bool recovery_proc;           /* Create a recovery process. */\n"
"   bool enable_network;          /* Enable the network. */\n"
"   bool selinux;                 /* selinux enabled? */\n"
"   bool pgroup;                  /* Create process group for children? */\n"
"   bool close_on_exit;           /* Is this handle on the atexit list? */\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1035
#, no-wrap
msgid ""
"   int smp;                      /* If > 1, -smp flag passed to hv. */\n"
"   int memsize;\t\t\t/* Size of RAM (megabytes). */\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1038
#, no-wrap
msgid ""
"   char *path;\t\t\t/* Path to the appliance. */\n"
"   char *hv;\t\t\t/* Hypervisor (HV) binary. */\n"
"   char *append;\t\t\t/* Append to kernel command line. */\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1042
#, no-wrap
msgid ""
"   struct hv_param *hv_params;   /* Extra hv parameters. */\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1044
#, no-wrap
msgid ""
"   char *program;                /* Program name. */\n"
"   char *identifier;             /* Handle identifier. */\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1047
#, no-wrap
msgid ""
"   /* Array of drives added by add-drive* APIs.\n"
"    *\n"
"    * Before launch this list can be empty or contain some drives.\n"
"    *\n"
"    * During launch, a dummy slot may be added which represents the\n"
"    * slot taken up by the appliance drive.\n"
"    *\n"
"    * When hotplugging is supported by the backend, drives can be\n"
"    * added to the end of this list after launch.  Also hot-removing a\n"
"    * drive causes a NULL slot to appear in the list.\n"
"    *\n"
"    * During shutdown, this list is deleted, so that each launch gets a\n"
"    * fresh set of drives (however callers: don't do this, create a new\n"
"    * handle each time).\n"
"    *\n"
"    * Always use ITER_DRIVES macro to iterate over this list!\n"
"    */\n"
"   struct drive **drives;\n"
"   size_t nr_drives;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1067
#, no-wrap
msgid ""
" #define ITER_DRIVES(g,i,drv)              \\\n"
"   for (i = 0; i < (g)->nr_drives; ++i)    \\\n"
"     if (((drv) = (g)->drives[i]) != NULL)\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1071
#, no-wrap
msgid ""
"   /* Backend.  NB: Use guestfs_int_set_backend to change the backend. */\n"
"   char *backend;                /* The full string, always non-NULL. */\n"
"   char *backend_arg;            /* Pointer to the argument part. */\n"
"   const struct backend_ops *backend_ops;\n"
"   void *backend_data;           /* Per-handle data. */\n"
"   char **backend_settings;      /* Backend settings (can be NULL). */\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1078
#, no-wrap
msgid ""
"   /**** Runtime information. ****/\n"
"   /* Temporary and cache directories. */\n"
"   /* The actual temporary directory - this is not created with the\n"
"    * handle, you have to call guestfs_int_lazy_make_tmpdir.\n"
"    */\n"
"   char *tmpdir;\n"
"   char *sockdir;\n"
"   /* Environment variables that affect tmpdir/cachedir/sockdir locations. */\n"
"   char *env_tmpdir;             /* $TMPDIR (NULL if not set) */\n"
"   char *env_runtimedir;         /* $XDG_RUNTIME_DIR (NULL if not set)*/\n"
"   char *int_tmpdir;   /* $LIBGUESTFS_TMPDIR or guestfs_set_tmpdir or NULL */\n"
"   char *int_cachedir; /* $LIBGUESTFS_CACHEDIR or guestfs_set_cachedir or NULL */\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1091
#, no-wrap
msgid ""
"   /* Error handler, plus stack of old error handlers. */\n"
"   gl_tls_key_t error_data;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1094
#, no-wrap
msgid ""
"   /* Linked list of error_data structures allocated for this handle,\n"
"    * plus a mutex to protect the linked list.\n"
"    */\n"
"   gl_lock_define (, error_data_list_lock);\n"
"   struct error_data *error_data_list;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1100
#, no-wrap
msgid ""
"   /* Out of memory error handler. */\n"
"   guestfs_abort_cb           abort_cb;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1103
#, no-wrap
msgid ""
"   /* Events. */\n"
"   struct event *events;\n"
"   size_t nr_events;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1107
#, no-wrap
msgid ""
"   /* Private data area. */\n"
"   struct hash_table *pda;\n"
"   struct pda_entry *pda_next;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1111
#, no-wrap
msgid ""
"   /* User cancelled transfer.  Not signal-atomic, but it doesn't\n"
"    * matter for this case because we only care if it is != 0.\n"
"    */\n"
"   int user_cancel;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1116
#, no-wrap
msgid ""
"   struct timeval launch_t;      /* The time that we called guestfs_launch. */\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1118
#, no-wrap
msgid ""
"   /* Used by bindtests. */\n"
"   FILE *test_fp;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1121
#, no-wrap
msgid ""
"   /* Used to generate unique numbers, eg for temp files.  To use this,\n"
"    * '++g->unique'.  Note these are only unique per-handle, not\n"
"    * globally unique.\n"
"    */\n"
"   int unique;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1127
#, no-wrap
msgid ""
"   /*** Protocol. ***/\n"
"   struct connection *conn;              /* Connection to appliance. */\n"
"   int msg_next_serial;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1131
#, no-wrap
msgid ""
" #if HAVE_FUSE\n"
"   /**** Used by the mount-local APIs. ****/\n"
"   char *localmountpoint;\n"
"   struct fuse *fuse;                    /* FUSE handle. */\n"
"   int ml_dir_cache_timeout;             /* Directory cache timeout. */\n"
"   Hash_table *lsc_ht, *xac_ht, *rlc_ht; /* Directory cache. */\n"
"   int ml_read_only;                     /* If mounted read-only. */\n"
"   int ml_debug_calls;        /* Extra debug info on each FUSE call. */\n"
" #endif\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1141
#, no-wrap
msgid ""
" #ifdef HAVE_LIBVIRT_BACKEND\n"
"   /* Used by lib/libvirt-auth.c. */\n"
" #define NR_CREDENTIAL_TYPES 9\n"
"   unsigned int nr_supported_credentials;\n"
"   int supported_credentials[NR_CREDENTIAL_TYPES];\n"
"   const char *saved_libvirt_uri; /* Doesn't need to be freed. */\n"
"   bool wrapper_warning_done;\n"
"   unsigned int nr_requested_credentials;\n"
"   virConnectCredentialPtr requested_credentials;\n"
" #endif\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1152
#, no-wrap
msgid ""
"   /* Cached features. */\n"
"   struct cached_feature *features;\n"
"   size_t nr_features;\n"
" \n"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1156
#, no-wrap
msgid ""
"   /* Used by lib/info.c.  -1 = not tested or error; else 0 or 1. */\n"
"   int qemu_img_supports_U_option;\n"
" };\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1160
msgid "The libguestfs handle."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1162
msgid "Structure C<lib/guestfs-internal.h:version>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1164
#, no-wrap
msgid ""
" struct version {\n"
"   int v_major;\n"
"   int v_minor;\n"
"   int v_micro;\n"
" };\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1170
msgid ""
"Used for storing major.minor.micro version numbers.  See F<lib/version.c> "
"for more information."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1173
msgid "File F<lib/guid.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1175
msgid "Function C<lib/guid.c:guestfs_int_validate_guid>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1177
#, no-wrap
msgid ""
" int\n"
" guestfs_int_validate_guid (const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1180
msgid ""
"Check whether a string supposed to contain a GUID actually contains it.  It "
"can recognize strings either as C<{21EC2020-3AEA-1069-A2DD-08002B30309D}> or "
"C<21EC2020-3AEA-1069-A2DD-08002B30309D>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1185
msgid "File F<lib/handle.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1187
msgid ""
"This file deals with the C<guestfs_h> handle, creating it, closing it, and "
"initializing/setting/getting fields."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1190
msgid "Function C<lib/handle.c:init_libguestfs>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1192
#, no-wrap
msgid ""
" static void\n"
" init_libguestfs (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1195
msgid ""
"No initialization is required by libguestfs, but libvirt and libxml2 require "
"initialization if they might be called from multiple threads.  Hence this "
"constructor function which is called when libguestfs is first loaded."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1200
msgid "Function C<lib/handle.c:shutdown_backend>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1202
#, no-wrap
msgid ""
" static int\n"
" shutdown_backend (guestfs_h *g, int check_for_errors)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1205
msgid ""
"This function is the common path for shutting down the backend qemu process."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1208
msgid ""
"C<guestfs_shutdown> calls C<shutdown_backend> with C<check_for_errors=1>.  "
"C<guestfs_close> calls C<shutdown_backend> with C<check_for_errors=0>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1212
msgid ""
"C<check_for_errors> is a hint to the backend about whether we care about "
"errors or not.  In the libvirt case it can be used to optimize the shutdown "
"for speed when we don't care."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1216
msgid "Function C<lib/handle.c:close_handles>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1218
#, no-wrap
msgid ""
" static void\n"
" close_handles (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1221
msgid "Close all open handles (called from L<atexit(3)>)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1223
msgid "Function C<lib/handle.c:guestfs_int_get_backend_setting_bool>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1225
#, no-wrap
msgid ""
" int\n"
" guestfs_int_get_backend_setting_bool (guestfs_h *g, const char *name)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1228
msgid ""
"This is a convenience function, but we might consider exporting it as an API "
"in future."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1231
msgid "File F<lib/info.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1233
msgid "Function C<lib/info.c:qemu_img_supports_U_option>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1235
#, no-wrap
msgid ""
" static int\n"
" qemu_img_supports_U_option (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1238
msgid ""
"Test if the qemu-img info command supports the C<-U> option to disable "
"locking.  The result is memoized in the handle."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1241
msgid ""
"Note this option was added in qemu 2.11.  We can remove this test when we "
"can assume everyone is using qemu >= 2.11."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1244
msgid "File F<lib/inspect-icon.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1246
msgid "Function C<lib/inspect-icon.c:guestfs_int_download_to_tmp>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1248
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_download_to_tmp (guestfs_h *g, const char *filename,\n"
"                              const char *extension,\n"
"                              uint64_t max_size)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1253
msgid "Download a guest file to a local temporary file."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1255
msgid ""
"The name of the temporary (downloaded) file is returned.  The caller must "
"free the pointer, but does I<not> need to delete the temporary file.  It "
"will be deleted when the handle is closed."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1259
msgid ""
"The name of the temporary file is randomly generated, but an extension can "
"be specified using C<extension> (or pass C<NULL> for none)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1262
msgid ""
"Refuse to download the guest file if it is larger than C<max_size>.  On this "
"and other errors, C<NULL> is returned."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1265
msgid "File F<lib/launch-direct.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1267
msgid "Implementation of the C<direct> backend."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1269
msgid "For more details see L<guestfs(3)/BACKENDS>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1271
msgid "Function C<lib/launch-direct.c:add_drive_standard_params>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1273
#, no-wrap
msgid ""
" static int\n"
" add_drive_standard_params (guestfs_h *g, struct backend_direct_data *data,\n"
"                            struct qemuopts *qopts,\n"
"                            size_t i, struct drive *drv)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1278
msgid "Add the standard elements of the C<-drive> parameter."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1280
msgid "Function C<lib/launch-direct.c:add_device_blocksize_params>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1282
#, fuzzy, no-wrap
#| msgid ""
#| " int\n"
#| " guestfs_blockdev_rereadpt (guestfs_h *g,\n"
#| "                            const char *device);\n"
#| "\n"
msgid ""
" static int\n"
" add_device_blocksize_params (guestfs_h *g, struct qemuopts *qopts,\n"
"                            struct drive *drv)\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_rereadpt (guestfs_h *g,\n"
"                            const char *device);\n"
"\n"

#. type: textblock
#: ../docs/internal-documentation.pod:1286
msgid ""
"Add the physical_block_size and logical_block_size elements of the C<-"
"device> parameter."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1289
msgid "File F<lib/launch-libvirt.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1291
msgid "Function C<lib/launch-libvirt.c:get_source_format_or_autodetect>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1293
#, no-wrap
msgid ""
" static char *\n"
" get_source_format_or_autodetect (guestfs_h *g, struct drive *drv)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1296
msgid ""
"Return C<drv-E<gt>src.format>, but if it is C<NULL>, autodetect the format."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1299
msgid ""
"libvirt has disabled the feature of detecting the disk format, unless the "
"administrator sets C<allow_disk_format_probing=1> in F</etc/libvirt/qemu."
"conf>.  There is no way to detect if this option is set, so we have to do "
"format detection here using C<qemu-img> and pass that to libvirt."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1305
msgid ""
"This can still be a security issue, so in most cases it is recommended the "
"users pass the format to libguestfs which will faithfully pass that straight "
"through to libvirt without doing autodetection."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1310
msgid ""
"Caller must free the returned string.  On error this function sets the error "
"in the handle and returns C<NULL>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1313
msgid "Function C<lib/launch-libvirt.c:make_qcow2_overlay>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1315
#, no-wrap
msgid ""
" static char *\n"
" make_qcow2_overlay (guestfs_h *g, const char *backing_drive,\n"
"                     const char *format)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1319
msgid ""
"Create a qcow2 format overlay, with the given C<backing_drive> (file).  The "
"C<format> parameter is the backing file format.  The C<format> parameter can "
"be NULL, in this case the backing format will be determined automatically.  "
"This is used to create the appliance overlay, and also for read-only drives."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1325
msgid "File F<lib/launch.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1327
msgid "This file implements L<guestfs(3)/guestfs_launch>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1329
msgid ""
"Most of the work is done by the backends (see L<guestfs(3)/BACKEND>), which "
"are implemented in F<lib/launch-direct.c>, F<lib/launch-libvirt.c> etc, so "
"this file mostly passes calls through to the current backend."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1334
msgid "Function C<lib/launch.c:guestfs_int_launch_send_progress>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1336
#, no-wrap
msgid ""
" void\n"
" guestfs_int_launch_send_progress (guestfs_h *g, int perdozen)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1339
msgid "This function sends a launch progress message."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1341
msgid ""
"Launching the appliance generates approximate progress messages.  Currently "
"these are defined as follows:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1344
#, no-wrap
msgid ""
"   0 / 12: launch clock starts\n"
"   3 / 12: appliance created\n"
"   6 / 12: detected that guest kernel started\n"
"   9 / 12: detected that /init script is running\n"
"  12 / 12: launch completed successfully\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1356
msgid ""
"This is not a documented ABI and the behaviour may be changed or removed in "
"future."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1361
msgid ""
"Messages are only sent if more than 5 seconds has elapsed since the launch "
"clock started."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1366
msgid "There is a hack in F<lib/proto.c> to make this work."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1370
msgid "Function C<lib/launch.c:guestfs_int_timeval_diff>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1372
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_int_timeval_diff (const struct timeval *x, const struct timeval *y)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1375
msgid "Compute C<y - x> and return the result in milliseconds."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1377
msgid ""
"Approximately the same as this code: L<http://www.mpp.mpg.de/~huber/util/"
"timevaldiff.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1380
msgid "Function C<lib/launch.c:guestfs_int_unblock_sigterm>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1382
#, no-wrap
msgid ""
" void\n"
" guestfs_int_unblock_sigterm (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1385
msgid ""
"Unblock the C<SIGTERM> signal.  Call this after L<fork(2)> so that the "
"parent process can send C<SIGTERM> to the child process in case C<SIGTERM> "
"is blocked.  See L<https://bugzilla.redhat.com/1460338>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1389
msgid "Function C<lib/launch.c:guestfs_impl_max_disks>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1391
#, no-wrap
msgid ""
" int\n"
" guestfs_impl_max_disks (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1394
msgid ""
"Returns the maximum number of disks allowed to be added to the backend "
"(backend dependent)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1397
msgid "Function C<lib/launch.c:guestfs_impl_wait_ready>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1399
#, no-wrap
msgid ""
" int\n"
" guestfs_impl_wait_ready (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1402
msgid ""
"Implementation of L<guestfs(3)/guestfs_wait_ready>.  You had to call this "
"function after launch in versions E<le> 1.0.70, but it is now an (almost) no-"
"op."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1406
msgid "Function C<lib/launch.c:guestfs_int_create_socketname>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1408
#, no-wrap
msgid ""
" int\n"
" guestfs_int_create_socketname (guestfs_h *g, const char *filename,\n"
"                                char (*sockpath)[UNIX_PATH_MAX])\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1412
msgid "Create the path for a socket with the selected filename in the tmpdir."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1415
msgid "Function C<lib/launch.c:guestfs_int_register_backend>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1417
#, no-wrap
msgid ""
" void\n"
" guestfs_int_register_backend (const char *name, const struct backend_ops *ops)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1420
msgid ""
"When the library is loaded, each backend calls this function to register "
"itself in a global list."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1423
msgid "Function C<lib/launch.c:guestfs_int_set_backend>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1425
#, no-wrap
msgid ""
" int\n"
" guestfs_int_set_backend (guestfs_h *g, const char *method)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1428
msgid "Implementation of L<guestfs(3)/guestfs_set_backend>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1434
msgid "Callers must ensure this is only called in the config state."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1438
msgid ""
"This shouldn't call C<error> since it may be called early in handle "
"initialization.  It can return an error code however."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1443
msgid "File F<lib/private-data.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1445
msgid ""
"Implement a private data area where libguestfs C API users can attach "
"arbitrary pieces of data to a C<guestfs_h> handle."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1448
msgid "For more information see L<guestfs(3)/PRIVATE DATA AREA>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1450
msgid ""
"Language bindings do not generally expose this, largely because in non-C "
"languages it is easy to associate data with handles in other ways (using "
"hash tables or maps)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1454
msgid "Structure C<lib/private-data.c:pda_entry>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1456
#, no-wrap
msgid ""
" struct pda_entry {\n"
"   char *key;                    /* key */\n"
"   void *data;                   /* opaque user data pointer */\n"
" };\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1461
msgid ""
"The private data area is internally stored as a gnulib hash table containing "
"C<pda_entry> structures."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1464
msgid ""
"Note the private data area is allocated lazily, since the vast majority of "
"callers will never use it.  This means C<g-E<gt>pda> is likely to be C<NULL>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1468
msgid "File F<lib/proto.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1470
msgid ""
"This is the code used to send and receive RPC messages and (for certain "
"types of message) to perform file transfers.  This code is driven from the "
"generated actions (F<lib/actions-*.c>).  There are five different cases to "
"consider:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1479
msgid ""
"A non-daemon function (eg. L<guestfs(3)/guestfs_set_verbose>).  There is no "
"RPC involved at all, it's all handled inside the library."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1485
msgid ""
"A simple RPC (eg. L<guestfs(3)/guestfs_mount>).  We write the request, then "
"read the reply.  The sequence of calls is:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1488
#, no-wrap
msgid ""
"  guestfs_int_send\n"
"  guestfs_int_recv\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1493
msgid ""
"An RPC with C<FileIn> parameters (eg. L<guestfs(3)/guestfs_upload>).  We "
"write the request, then write the file(s), then read the reply.  The "
"sequence of calls is:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1497
#, no-wrap
msgid ""
"  guestfs_int_send\n"
"  guestfs_int_send_file  (possibly multiple times)\n"
"  guestfs_int_recv\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1503
msgid ""
"An RPC with C<FileOut> parameters (eg. L<guestfs(3)/guestfs_download>).  We "
"write the request, then read the reply, then read the file(s).  The sequence "
"of calls is:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1507
#, no-wrap
msgid ""
"  guestfs_int_send\n"
"  guestfs_int_recv\n"
"  guestfs_int_recv_file  (possibly multiple times)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1513
msgid ""
"Both C<FileIn> and C<FileOut> parameters.  There are no calls like this in "
"the current API, but they would be implemented as a combination of cases 3 "
"and 4."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1519
msgid ""
"All read/write/etc operations are performed using the current connection "
"module (C<g-E<gt>conn>).  During operations the connection module "
"transparently handles log messages that appear on the console."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1524
msgid "Function C<lib/proto.c:child_cleanup>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1526
#, no-wrap
msgid ""
" static void\n"
" child_cleanup (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1529
msgid "This is called if we detect EOF, ie. qemu died."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1531
msgid "Function C<lib/proto.c:guestfs_int_progress_message_callback>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1533
#, no-wrap
msgid ""
" void\n"
" guestfs_int_progress_message_callback (guestfs_h *g,\n"
" \t\t\t\t       const guestfs_progress *message)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1537
msgid "Convenient wrapper to generate a progress message callback."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1539
msgid "Function C<lib/proto.c:guestfs_int_log_message_callback>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1541
#, no-wrap
msgid ""
" void\n"
" guestfs_int_log_message_callback (guestfs_h *g, const char *buf, size_t len)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1544
msgid "Connection modules call us back here when they get a log message."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1546
msgid "Function C<lib/proto.c:check_daemon_socket>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1548
#, no-wrap
msgid ""
" static ssize_t\n"
" check_daemon_socket (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1551
msgid ""
"Before writing to the daemon socket, check the read side of the daemon "
"socket for any of these conditions:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1558
msgid "return -1"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:1560
msgid "daemon cancellation message"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1562
msgid "return -2"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:1564
msgid "progress message"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1566
msgid "handle it here"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:1568
msgid "end of input or appliance exited unexpectedly"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1570
msgid "return 0"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:1572
msgid "anything else"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1574
msgid "return 1"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1578
msgid "Function C<lib/proto.c:guestfs_int_send_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1580
#, no-wrap
msgid ""
" int\n"
" guestfs_int_send_file (guestfs_h *g, const char *filename)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1583
msgid "Send a file."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1585
msgid ""
"Returns C<0> on success, C<-1> for error, C<-2> if the daemon cancelled (we "
"must read the error message)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1588
msgid "Function C<lib/proto.c:send_file_data>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1590
#, no-wrap
msgid ""
" static int\n"
" send_file_data (guestfs_h *g, const char *buf, size_t len)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1593
msgid "Send a chunk of file data."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1595
msgid "Function C<lib/proto.c:send_file_cancellation>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1597
#, no-wrap
msgid ""
" static int\n"
" send_file_cancellation (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1600
msgid "Send a cancellation message."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1602
msgid "Function C<lib/proto.c:send_file_complete>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1604
#, no-wrap
msgid ""
" static int\n"
" send_file_complete (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1607
msgid "Send a file complete chunk."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1609
msgid "Function C<lib/proto.c:recv_from_daemon>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1611
#, no-wrap
msgid ""
" static int\n"
" recv_from_daemon (guestfs_h *g, uint32_t *size_rtn, void **buf_rtn)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1614
msgid ""
"This function reads a single message, file chunk, launch flag or "
"cancellation flag from the daemon.  If something was read, it returns C<0>, "
"otherwise C<-1>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1618
msgid ""
"Both C<size_rtn> and C<buf_rtn> must be passed by the caller as non-NULL."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1621
msgid ""
"C<*size_rtn> returns the size of the returned message or it may be "
"C<GUESTFS_LAUNCH_FLAG> or C<GUESTFS_CANCEL_FLAG>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1624
msgid ""
"C<*buf_rtn> is returned containing the message (if any) or will be set to "
"C<NULL>.  C<*buf_rtn> must be freed by the caller."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1627
msgid ""
"This checks for EOF (appliance died) and passes that up through the "
"child_cleanup function above."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1630
msgid "Log message, progress messages are handled transparently here."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1632
msgid "Function C<lib/proto.c:guestfs_int_recv>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1634
#, no-wrap
msgid ""
" int\n"
" guestfs_int_recv (guestfs_h *g, const char *fn,\n"
" \t\t  guestfs_message_header *hdr,\n"
" \t\t  guestfs_message_error *err,\n"
" \t\t  xdrproc_t xdrp, char *ret)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1640
msgid "Receive a reply."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1642
msgid "Function C<lib/proto.c:guestfs_int_recv_discard>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1644
#, no-wrap
msgid ""
" int\n"
" guestfs_int_recv_discard (guestfs_h *g, const char *fn)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1647
msgid "Same as C<guestfs_int_recv>, but it discards the reply message."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1649
msgid "Notes (XXX):"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1655
msgid "This returns an int, but all current callers ignore it."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1659
msgid "The error string may end up being set twice on error paths."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1663
msgid "Function C<lib/proto.c:guestfs_int_recv_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1665
#, no-wrap
msgid ""
" int\n"
" guestfs_int_recv_file (guestfs_h *g, const char *filename)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1668
#: ../docs/internal-documentation.pod:1677
msgid "Returns C<-1> = error, C<0> = EOF, C<E<gt>0> = more data"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1670
msgid "Function C<lib/proto.c:receive_file_data>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1672
#, no-wrap
msgid ""
" static ssize_t\n"
" receive_file_data (guestfs_h *g, void **buf_r)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1675
msgid "Receive a chunk of file data."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1679
msgid "File F<lib/qemu.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1681
msgid "Functions to handle qemu versions and features."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1683
msgid "Function C<lib/qemu.c:guestfs_int_test_qemu>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1685
#, no-wrap
msgid ""
" struct qemu_data *\n"
" guestfs_int_test_qemu (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1688
msgid ""
"Test that the qemu binary (or wrapper) runs, and do C<qemu -help> and other "
"commands so we can find out the version of qemu and what options this qemu "
"supports."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1692
msgid ""
"This caches the results in the cachedir so that as long as the qemu binary "
"does not change, calling this is effectively free."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1695
msgid "Function C<lib/qemu.c:cache_filename>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1697
#, no-wrap
msgid ""
" static char *\n"
" cache_filename (guestfs_h *g, const char *cachedir,\n"
"                 const struct stat *statbuf, const char *suffix)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1701
msgid "Generate the filenames, for the stat file and the other cache files."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1704
msgid ""
"By including the size and mtime in the filename we also ensure that the same "
"user can use multiple versions of qemu without conflicts."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1707
msgid "Function C<lib/qemu.c:parse_qemu_version>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1709
#, no-wrap
msgid ""
" static void\n"
" parse_qemu_version (guestfs_h *g, const char *qemu_help,\n"
"                     struct version *qemu_version)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1713
msgid ""
"Parse the first line of C<qemu_help> into the major and minor version of "
"qemu, but don't fail if parsing is not possible."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1716
msgid "Function C<lib/qemu.c:parse_json>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1718
#, no-wrap
msgid ""
" static void\n"
" parse_json (guestfs_h *g, const char *json, json_t **treep)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1721
msgid ""
"Parse the json output from QMP.  But don't fail if parsing is not possible."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1724
msgid "Function C<lib/qemu.c:parse_has_kvm>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1726
#, no-wrap
msgid ""
" static void\n"
" parse_has_kvm (guestfs_h *g, const char *json, bool *ret)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1729
msgid ""
"Parse the json output from QMP query-kvm to find out if KVM is enabled on "
"this machine.  Don't fail if parsing is not possible, assume KVM is "
"available."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1733
msgid ""
"The JSON output looks like: {\"return\": {\"enabled\": true, \"present\": "
"true}}"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1736
msgid "Function C<lib/qemu.c:generic_read_cache>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1738
#, no-wrap
msgid ""
" static int\n"
" generic_read_cache (guestfs_h *g, const char *filename, char **strp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1741
msgid ""
"Generic functions for reading and writing the cache files, used where we are "
"just reading and writing plain text strings."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1744
msgid "Function C<lib/qemu.c:generic_qmp_test>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1746
#, no-wrap
msgid ""
" static int\n"
" generic_qmp_test (guestfs_h *g, struct qemu_data *data,\n"
"                   const char *qmp_command,\n"
"                   char **outp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1751
msgid "Run a generic QMP test on the QEMU binary."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1753
msgid "Function C<lib/qemu.c:guestfs_int_qemu_version>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1755
#, no-wrap
msgid ""
" struct version\n"
" guestfs_int_qemu_version (guestfs_h *g, struct qemu_data *data)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1758
msgid "Return the parsed version of qemu."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1760
msgid "Function C<lib/qemu.c:guestfs_int_qemu_supports>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1762
#, no-wrap
msgid ""
" int\n"
" guestfs_int_qemu_supports (guestfs_h *g, const struct qemu_data *data,\n"
"                            const char *option)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1766
msgid ""
"Test if option is supported by qemu command line (just by grepping the help "
"text)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1769
msgid "Function C<lib/qemu.c:guestfs_int_qemu_supports_device>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1771
#, no-wrap
msgid ""
" int\n"
" guestfs_int_qemu_supports_device (guestfs_h *g,\n"
"                                   const struct qemu_data *data,\n"
"                                   const char *device_name)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1776
msgid ""
"Test if device is supported by qemu (currently just greps the C<qemu -"
"device ?> output)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1779
msgid "Function C<lib/qemu.c:guestfs_int_qemu_mandatory_locking>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1781
#, no-wrap
msgid ""
" int\n"
" guestfs_int_qemu_mandatory_locking (guestfs_h *g,\n"
"                                     const struct qemu_data *data)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1785
msgid ""
"Test if the qemu binary uses mandatory file locking, added in QEMU >= 2.10 "
"(but sometimes disabled)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1788
msgid "Function C<lib/qemu.c:guestfs_int_qemu_escape_param>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1790
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_qemu_escape_param (guestfs_h *g, const char *param)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1793
msgid "Escape a qemu parameter."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1795
msgid "Every C<,> becomes C<,,>.  The caller must free the returned string."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1797
msgid ""
"XXX This functionality is now only used when constructing a qemu-img command "
"in F<lib/create.c>.  We should extend the qemuopts library to cover this use "
"case."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1801
msgid "Function C<lib/qemu.c:guestfs_int_drive_source_qemu_param>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1803
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_drive_source_qemu_param (guestfs_h *g,\n"
"                                      const struct drive_source *src)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1807
msgid "Useful function to format a drive + protocol for qemu."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1809
msgid ""
"Note that the qemu parameter is the bit after C<\"file=\">.  It is not "
"escaped here, but would usually be escaped if passed to qemu as part of a "
"full -drive parameter (but not for L<qemu-img(1)>)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1813
msgid "Function C<lib/qemu.c:guestfs_int_discard_possible>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1815
#, no-wrap
msgid ""
" bool\n"
" guestfs_int_discard_possible (guestfs_h *g, struct drive *drv,\n"
" \t\t\t      const struct version *qemu_version)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1819
msgid ""
"Test if discard is both supported by qemu AND possible with the underlying "
"file or device.  This returns C<1> if discard is possible.  It returns C<0> "
"if not possible and sets the error to the reason why."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1824
msgid "This function is called when the user set C<discard == \"enable\">."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1826
msgid "Function C<lib/qemu.c:guestfs_int_free_qemu_data>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1828
#, no-wrap
msgid ""
" void\n"
" guestfs_int_free_qemu_data (struct qemu_data *data)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1831
msgid "Free the C<struct qemu_data>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1833
msgid "File F<lib/rescue.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1835
msgid "Support for virt-rescue(1)."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1837
msgid "File F<lib/stringsbuf.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1839
msgid "An expandable NULL-terminated vector of strings (like C<argv>)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1841
msgid "Use the C<DECLARE_STRINGSBUF> macro to declare the stringsbuf."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1843
msgid ""
"Note: Don't confuse this with stringsbuf in the daemon which is a different "
"type with different methods."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1846
msgid "Function C<lib/stringsbuf.c:guestfs_int_add_string_nodup>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1848
#, no-wrap
msgid ""
" void\n"
" guestfs_int_add_string_nodup (guestfs_h *g, struct stringsbuf *sb, char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1851
#: ../docs/internal-documentation.pod:1861
#: ../docs/internal-documentation.pod:1871
msgid "Add a string to the end of the list."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1853
msgid ""
"This doesn't call L<strdup(3)> on the string, so the string itself is stored "
"inside the vector."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1856
msgid "Function C<lib/stringsbuf.c:guestfs_int_add_string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1858
#, no-wrap
msgid ""
" void\n"
" guestfs_int_add_string (guestfs_h *g, struct stringsbuf *sb, const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1863
msgid "This makes a copy of the string."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1865
msgid "Function C<lib/stringsbuf.c:guestfs_int_add_sprintf>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1867
#, no-wrap
msgid ""
" void\n"
" guestfs_int_add_sprintf (guestfs_h *g, struct stringsbuf *sb,\n"
" \t\t\t const char *fs, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1873
msgid "Uses an sprintf-like format string when creating the string."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1875
msgid "Function C<lib/stringsbuf.c:guestfs_int_end_stringsbuf>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1877
#, no-wrap
msgid ""
" void\n"
" guestfs_int_end_stringsbuf (guestfs_h *g, struct stringsbuf *sb)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1880
msgid "Finish the string buffer."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1882
msgid "This adds the terminating NULL to the end of the vector."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1884
msgid "Function C<lib/stringsbuf.c:guestfs_int_free_stringsbuf>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1886
#, no-wrap
msgid ""
" void\n"
" guestfs_int_free_stringsbuf (struct stringsbuf *sb)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1889
msgid "Free the string buffer and the strings."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1891
msgid "File F<lib/tmpdirs.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1893
msgid "Handle temporary directories."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1895
msgid "Function C<lib/tmpdirs.c:set_abs_path>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1897
#, no-wrap
msgid ""
" static int\n"
" set_abs_path (guestfs_h *g, const char *ctxstr,\n"
"               const char *tmpdir, char **tmpdir_ret)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1901
msgid ""
"We need to make all tmpdir paths absolute because lots of places in the code "
"assume this.  Do it at the time we set the path or read the environment "
"variable (L<https://bugzilla.redhat.com/882417>)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1905
msgid ""
"The C<ctxstr> parameter is a string displayed in error messages giving the "
"context of the operation (eg. name of environment variable being used, or "
"API function being called)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1909
msgid "Function C<lib/tmpdirs.c:guestfs_impl_get_tmpdir>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1911
#, no-wrap
msgid ""
" char *\n"
" guestfs_impl_get_tmpdir (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1914
msgid "Implements the C<guestfs_get_tmpdir> API."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1916
msgid "Note this actually calculates the tmpdir, so it never returns C<NULL>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1919
msgid "Function C<lib/tmpdirs.c:guestfs_impl_get_cachedir>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1921
#, no-wrap
msgid ""
" char *\n"
" guestfs_impl_get_cachedir (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1924
msgid "Implements the C<guestfs_get_cachedir> API."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1926
msgid ""
"Note this actually calculates the cachedir, so it never returns C<NULL>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1928
msgid "Function C<lib/tmpdirs.c:guestfs_impl_get_sockdir>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1930
#, no-wrap
msgid ""
" char *\n"
" guestfs_impl_get_sockdir (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1933
msgid "Implements the C<guestfs_get_sockdir> API."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1935
msgid "Note this actually calculates the sockdir, so it never returns C<NULL>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1938
msgid "Function C<lib/tmpdirs.c:guestfs_int_lazy_make_tmpdir>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1940
#, no-wrap
msgid ""
" int\n"
" guestfs_int_lazy_make_tmpdir (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1943
msgid ""
"The C<g-E<gt>tmpdir> (per-handle temporary directory) is not created when "
"the handle is created.  Instead we create it lazily before the first time it "
"is used, or during launch."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1947
msgid "Function C<lib/tmpdirs.c:guestfs_int_make_temp_path>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1949
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_make_temp_path (guestfs_h *g,\n"
"                             const char *name, const char *extension)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1953
msgid "Generate unique temporary paths for temporary files."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1955
msgid "Returns a unique path or NULL on error."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1957
msgid "Function C<lib/tmpdirs.c:guestfs_int_lazy_make_supermin_appliance_dir>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1959
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_lazy_make_supermin_appliance_dir (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1962
msgid ""
"Create the supermin appliance directory under cachedir, if it does not exist."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1965
msgid ""
"Sanity-check that the permissions on the cachedir are safe, in case it has "
"been pre-created maliciously or tampered with."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1968
msgid "Returns the directory name which the caller must free."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1970
msgid "Function C<lib/tmpdirs.c:guestfs_int_recursive_remove_dir>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1972
#, no-wrap
msgid ""
" void\n"
" guestfs_int_recursive_remove_dir (guestfs_h *g, const char *dir)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1975
msgid ""
"Recursively remove a temporary directory.  If removal fails, just return "
"(it's a temporary directory so it'll eventually be cleaned up by a temp "
"cleaner)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1979
msgid "This is implemented using C<rm -rf> because that's simpler and safer."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:1982
msgid "File F<lib/umask.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1984
msgid "Return current umask in a thread-safe way."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1986
msgid ""
"glibc documents, but does not actually implement, a \"getumask(3)\" call."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1989
msgid ""
"We use C<Umask> from F</proc/self/status> for Linux E<ge> 4.7.  For older "
"Linux and other Unix, this file implements an expensive but thread-safe way "
"to get the current process's umask."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:1993
msgid "Thanks to: Josh Stone, Jiri Jaburek, Eric Blake."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:1995
msgid "Function C<lib/umask.c:guestfs_int_getumask>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:1997
#, no-wrap
msgid ""
" int\n"
" guestfs_int_getumask (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2000
msgid ""
"Returns the current process's umask.  On failure, returns C<-1> and sets the "
"error in the guestfs handle."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2003
msgid "Function C<lib/umask.c:get_umask_from_proc>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2005
#, no-wrap
msgid ""
" static int\n"
" get_umask_from_proc (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2008
msgid "For Linux E<ge> 4.7 get the umask from F</proc/self/status>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2010
msgid ""
"On failure this returns C<-1>.  However if we could not open the F</proc> "
"file or find the C<Umask> entry in it, return C<-2> which causes the "
"fallback path to run."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2014
msgid "Function C<lib/umask.c:get_umask_from_fork>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2016
#, no-wrap
msgid ""
" static int\n"
" get_umask_from_fork (guestfs_h *g)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2019
msgid "Fallback method of getting the umask using fork."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2021
msgid "File F<lib/unit-tests.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2023
#: ../docs/internal-documentation.pod:2564
msgid "Unit tests of internal functions."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2025
#: ../docs/internal-documentation.pod:2566
msgid ""
"These tests may use a libguestfs handle, but must not launch the handle.  "
"Also, avoid long-running tests."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2028
msgid "Function C<lib/unit-tests.c:test_split>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2030
#, no-wrap
msgid ""
" static void\n"
" test_split (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2033
msgid "Test C<guestfs_int_split_string>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2035
msgid "Function C<lib/unit-tests.c:test_concat>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2037
#, no-wrap
msgid ""
" static void\n"
" test_concat (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2040
msgid "Test C<guestfs_int_concat_strings>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2042
msgid "Function C<lib/unit-tests.c:test_join>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2044
#, no-wrap
msgid ""
" static void\n"
" test_join (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2047
msgid "Test C<guestfs_int_join_strings>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2049
msgid "Function C<lib/unit-tests.c:test_validate_guid>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2051
#, no-wrap
msgid ""
" static void\n"
" test_validate_guid (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2054
msgid "Test C<guestfs_int_validate_guid>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2056
msgid "Function C<lib/unit-tests.c:test_drive_name>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2058
#, no-wrap
msgid ""
" static void\n"
" test_drive_name (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2061
msgid "Test C<guestfs_int_drive_name>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2063
msgid "Function C<lib/unit-tests.c:test_drive_index>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2065
#, no-wrap
msgid ""
" static void\n"
" test_drive_index (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2068
msgid "Test C<guestfs_int_drive_index>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2070
msgid "Function C<lib/unit-tests.c:test_getumask>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2072
#, no-wrap
msgid ""
" static void\n"
" test_getumask (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2075
msgid "Test C<guestfs_int_getumask>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2077
msgid "Function C<lib/unit-tests.c:test_command>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2079
#, no-wrap
msgid ""
" static void\n"
" test_command (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2082
msgid "Test C<guestfs_int_new_command> etc."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2084
msgid ""
"XXX These tests could be made much more thorough.  So far we simply test "
"that it's not obviously broken."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2087
msgid "Function C<lib/unit-tests.c:test_qemu_escape_param>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2089
#, no-wrap
msgid ""
" static void\n"
" test_qemu_escape_param (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2092
msgid "Test C<guestfs_int_qemu_escape_param>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2094
msgid ""
"XXX I wanted to make this test run qemu, passing some parameters which need "
"to be escaped, but I cannot think of a way to do that without launching a VM."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2098
msgid "Function C<lib/unit-tests.c:test_timeval_diff>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2100
#, no-wrap
msgid ""
" static void\n"
" test_timeval_diff (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2103
msgid "Test C<guestfs_int_timeval_diff>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2105
msgid "File F<lib/version.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2107
msgid "This file provides simple version number management."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2109
msgid "Function C<lib/version.c:guestfs_int_version_from_x_y>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2111
#, no-wrap
msgid ""
" int\n"
" guestfs_int_version_from_x_y (guestfs_h *g, struct version *v, const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2114
msgid "Parses a version from a string, looking for a C<X.Y> pattern."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2116
#: ../docs/internal-documentation.pod:2129
#: ../docs/internal-documentation.pod:2142
msgid ""
"Returns C<-1> on failure (like failed integer parsing), C<0> on missing "
"match, and C<1> on match and successful parsing.  C<v> is changed only on "
"successful match."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2120
msgid "Function C<lib/version.c:guestfs_int_version_from_x_y_re>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2122
#, no-wrap
msgid ""
" int\n"
" guestfs_int_version_from_x_y_re (guestfs_h *g, struct version *v,\n"
"                                  const char *str, const pcre *re)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2126
msgid ""
"Parses a version from a string, using the specified C<re> as regular "
"expression which I<must> provide (at least) two matches."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2133
msgid "Function C<lib/version.c:guestfs_int_version_from_x_y_or_x>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2135
#, no-wrap
msgid ""
" int\n"
" guestfs_int_version_from_x_y_or_x (guestfs_h *g, struct version *v,\n"
"                                    const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2139
msgid ""
"Parses a version from a string, either looking for a C<X.Y> pattern or "
"considering it as whole integer."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2146
msgid "Function C<lib/version.c:guestfs_int_parse_unsigned_int>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2148
#, no-wrap
msgid ""
" int\n"
" guestfs_int_parse_unsigned_int (guestfs_h *g, const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2151
msgid "Parse small, unsigned ints, as used in version numbers."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2153
msgid ""
"This will fail with an error if trailing characters are found after the "
"integer."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2156
msgid "Returns E<ge> C<0> on success, or C<-1> on failure."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2158
msgid "File F<lib/wait.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2160
msgid "Function C<lib/wait.c:guestfs_int_waitpid>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2162
#, no-wrap
msgid ""
" int\n"
" guestfs_int_waitpid (guestfs_h *g, pid_t pid, int *status, const char *errmsg)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2165
msgid "A safe version of L<waitpid(3)> which retries if C<EINTR> is returned."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2168
msgid ""
"I<Note:> this only needs to be used in the library, or in programs that "
"install a non-restartable C<SIGCHLD> handler (which is not the case for any "
"current libguestfs virt tools)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2172
msgid ""
"If the main program installs a SIGCHLD handler and sets it to be non-"
"restartable, then what can happen is the library is waiting in a wait "
"syscall, the child exits, C<SIGCHLD> is sent to the process, and the wait "
"syscall returns C<EINTR>.  Since the library cannot control the signal "
"handler, we have to instead restart the wait syscall, which is the purpose "
"of this wrapper."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2179
msgid "Function C<lib/wait.c:guestfs_int_waitpid_noerror>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2181
#, no-wrap
msgid ""
" void\n"
" guestfs_int_waitpid_noerror (pid_t pid)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2184
msgid "Like C<guestfs_int_waitpid>, but ignore errors."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2186
msgid "Function C<lib/wait.c:guestfs_int_wait4>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2188
#, no-wrap
msgid ""
" int\n"
" guestfs_int_wait4 (guestfs_h *g, pid_t pid, int *status,\n"
"                    struct rusage *rusage, const char *errmsg)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2192
msgid "A safe version of L<wait4(2)> which retries if C<EINTR> is returned."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2195
msgid "File F<lib/whole-file.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2197
msgid "Function C<lib/whole-file.c:guestfs_int_read_whole_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2199
#, no-wrap
msgid ""
" int\n"
" guestfs_int_read_whole_file (guestfs_h *g, const char *filename,\n"
"                              char **data_r, size_t *size_r)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2203
msgid "Read the whole file C<filename> into a memory buffer."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2205
msgid ""
"The memory buffer is initialized and returned in C<data_r>.  The size of the "
"file in bytes is returned in C<size_r>.  The return buffer must be freed by "
"the caller."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2209
msgid "On error this sets the error in the handle and returns C<-1>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2211
msgid ""
"For the convenience of callers, the returned buffer is NUL-terminated (the "
"NUL is not included in the size)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2214
msgid ""
"The file must be a B<regular>, B<local>, B<trusted> file.  In particular, do "
"not use this function to read files that might be under control of an "
"untrusted user since that will lead to a denial-of-service attack."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:2219
msgid "Subdirectory F<builder>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2221
msgid "File F<builder/index-parser-c.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2223
msgid ""
"This file handles the interface between the C/lex/yacc index file parser, "
"and the OCaml world.  See F<builder/index_parser.ml> for the OCaml type "
"definition."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:2227
msgid "Subdirectory F<common/edit>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2229
msgid "File F<common/edit/file-edit.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2231
msgid ""
"This file implements common file editing in a range of utilities including "
"L<guestfish(1)>, L<virt-edit(1)>, L<virt-customize(1)> and L<virt-"
"builder(1)>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2235
msgid ""
"It contains the code for both interactive-(editor-)based editing and non-"
"interactive editing using Perl snippets."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2238
msgid "Function C<common/edit/file-edit.c:edit_file_editor>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2240
#, no-wrap
msgid ""
" int\n"
" edit_file_editor (guestfs_h *g, const char *filename, const char *editor,\n"
"                   const char *backup_extension, int verbose)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2244
msgid "Edit C<filename> using the specified C<editor> application."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2246
#: ../docs/internal-documentation.pod:2265
msgid ""
"If C<backup_extension> is not null, then a copy of C<filename> is saved with "
"C<backup_extension> appended to its file name."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2249
msgid ""
"If C<editor> is null, then the C<$EDITOR> environment variable will be "
"queried for the editor application, leaving C<vi> as fallback if not set."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2253
msgid ""
"Returns C<-1> for failure, C<0> on success, C<1> if the editor did not "
"change the file (e.g. the user closed the editor without saving)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2257
msgid "Function C<common/edit/file-edit.c:edit_file_perl>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2259
#, no-wrap
msgid ""
" int\n"
" edit_file_perl (guestfs_h *g, const char *filename, const char *perl_expr,\n"
"                 const char *backup_extension, int verbose)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2263
msgid "Edit C<filename> running the specified C<perl_expr> using Perl."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2268
msgid "Returns C<-1> for failure, C<0> on success."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:2270
msgid "Subdirectory F<common/mlxml>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2272
msgid "File F<common/mlxml/xml-c.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2274
msgid "Mini interface to libxml2."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:2276
msgid "Subdirectory F<common/options>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2278
msgid "File F<common/options/config.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2280
msgid ""
"This file parses the guestfish configuration file, usually F<~/.libguestfs-"
"tools.rc> or F</etc/libguestfs-tools.conf>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2283
msgid ""
"Note that C<parse_config> is called very early, before command line parsing, "
"before the C<verbose> flag has been set, even before the global handle C<g> "
"is opened."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2287
msgid "File F<common/options/decrypt.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2289
msgid ""
"This file implements the decryption of disk images, usually done before "
"mounting their partitions."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2292
msgid "Function C<common/options/decrypt.c:make_mapname>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2294
#, no-wrap
msgid ""
" static void\n"
" make_mapname (const char *device, char *mapname, size_t len)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2297
msgid ""
"Make a LUKS map name from the partition name, eg. C<\"/dev/vda2\" =E<gt> "
"\"luksvda2\">"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2300
msgid "Function C<common/options/decrypt.c:inspect_do_decrypt>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2302
#, no-wrap
msgid ""
" void\n"
" inspect_do_decrypt (guestfs_h *g, struct key_store *ks)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2305
msgid ""
"Simple implementation of decryption: look for any C<crypto_LUKS> partitions "
"and decrypt them, then rescan for VGs.  This only works for Fedora whole-"
"disk encryption.  WIP to make this work for other encryption schemes."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2310
msgid "File F<common/options/display-options.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2312
msgid ""
"This file contains common code used to implement I<--short-options> and I<--"
"long-options> in C virt tools.  (The equivalent for OCaml virt tools is "
"implemented by F<common/mltools/getopt.ml>)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2316
msgid "These \"hidden\" options are used to implement bash tab completion."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2318
msgid "Function C<common/options/display-options.c:display_short_options>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2320
#, no-wrap
msgid ""
" void\n"
" display_short_options (const char *format)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2323
msgid ""
"Implements the internal C<tool I<--short-options>> flag, which just lists "
"out the short options available.  Used by bash completion."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2326
msgid "Function C<common/options/display-options.c:display_long_options>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2328
#, no-wrap
msgid ""
" void\n"
" display_long_options (const struct option *long_options)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2331
msgid ""
"Implements the internal C<tool I<--long-options>> flag, which just lists out "
"the long options available.  Used by bash completion."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2334
msgid "File F<common/options/domain.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2336
msgid "Implements the guestfish (and other tools) I<-d> option."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2338
msgid "Function C<common/options/domain.c:add_libvirt_drives>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2340
#, no-wrap
msgid ""
" int\n"
" add_libvirt_drives (guestfs_h *g, const char *guest)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2343
msgid "This function is called when a user invokes S<C<guestfish -d guest>>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2345
msgid ""
"Returns the number of drives added (S<C<E<gt> 0>>), or C<-1> for failure."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2347
msgid "File F<common/options/inspect.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2349
msgid ""
"This file implements inspecting the guest and mounting the filesystems found "
"in the right places.  It is used by the L<guestfish(1)> I<-i> option and "
"some utilities such as L<virt-cat(1)>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2354
msgid "Function C<common/options/inspect.c:inspect_mount_handle>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2356
#, no-wrap
msgid ""
" void\n"
" inspect_mount_handle (guestfs_h *g, struct key_store *ks)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2359
msgid "This function implements the I<-i> option."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2361
msgid "Function C<common/options/inspect.c:print_inspect_prompt>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2363
#, no-wrap
msgid ""
" void\n"
" print_inspect_prompt (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2366
msgid ""
"This function is called only if C<inspect_mount_root> was called, and only "
"after we've printed the prompt in interactive mode."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2369
msgid "File F<common/options/keys.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2371
msgid "Function C<common/options/keys.c:read_key>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2373
#, no-wrap
msgid ""
" char *\n"
" read_key (const char *param)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2376
msgid "Read a passphrase ('Key') from F</dev/tty> with echo off."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2378
msgid ""
"The caller (F<fish/cmds.c>) will call free on the string afterwards.  Based "
"on the code in cryptsetup file F<lib/utils.c>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2381
msgid "File F<common/options/options.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2383
msgid ""
"This file contains common options parsing code used by guestfish and many "
"other tools which share a common options syntax."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2386
msgid ""
"For example, guestfish, virt-cat, virt-ls etc all support the I<-a> option, "
"and that is handled in all of those tools using a macro C<OPTION_a> defined "
"in F<fish/options.h>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2390
msgid ""
"There are a lot of common global variables used, C<drvs> accumulates the "
"list of drives, C<verbose> for the I<-v> flag, and many more."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2394
msgid "Function C<common/options/options.c:option_a>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2396
#, no-wrap
msgid ""
" void\n"
" option_a (const char *arg, const char *format, int blocksize,\n"
"           struct drv **drvsp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2400
msgid "Handle the guestfish I<-a> option on the command line."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2402
msgid "Function C<common/options/options.c:option_d>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2404
#, no-wrap
msgid ""
" void\n"
" option_d (const char *arg, struct drv **drvsp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2407
msgid "Handle the I<-d> option when passed on the command line."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2409
msgid "Function C<common/options/options.c:display_mountpoints_on_failure>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2411
#, no-wrap
msgid ""
" static void\n"
" display_mountpoints_on_failure (const char *mp_device,\n"
"                                 const char *user_supplied_options)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2415
msgid ""
"If the I<-m> option fails on any command, display a useful error message "
"listing the mountpoints."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2418
msgid "File F<common/options/uri.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2420
msgid ""
"This file implements URI parsing for the I<-a> option, in many utilities "
"including L<guestfish(1)>, L<virt-cat(1)>, L<virt-builder(1)>, L<virt-"
"customize(1)>, etc."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:2424
msgid "Subdirectory F<common/parallel>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2426
msgid "File F<common/parallel/domains.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2428
msgid ""
"This file is used by C<virt-df> and some of the other tools when they are "
"implicitly asked to operate over all libvirt domains (VMs), for example when "
"C<virt-df> is called without specifying any particular disk image."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2433
msgid "It hides the complexity of querying the list of domains from libvirt."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2436
msgid "Function C<common/parallel/domains.c:free_domains>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2438
#, no-wrap
msgid ""
" void\n"
" free_domains (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2441
msgid "Frees up everything allocated by C<get_all_libvirt_domains>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2443
msgid "Function C<common/parallel/domains.c:get_all_libvirt_domains>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2445
#, no-wrap
msgid ""
" void\n"
" get_all_libvirt_domains (const char *libvirt_uri)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2448
msgid ""
"Read all libguest guests into the global variables C<domains> and "
"C<nr_domains>.  The guests are ordered by name.  This exits on any error."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2452
msgid "File F<common/parallel/estimate-max-threads.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2454
msgid "Function C<common/parallel/estimate-max-threads.c:estimate_max_threads>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2456
#, no-wrap
msgid ""
" size_t\n"
" estimate_max_threads (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2459
msgid ""
"This function uses the output of C<free -m> to estimate how many libguestfs "
"appliances could be safely started in parallel.  Note that it always returns "
"E<ge> 1."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2463
msgid "Function C<common/parallel/estimate-max-threads.c:read_line_from>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2465
#, no-wrap
msgid ""
" static char *\n"
" read_line_from (const char *cmd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2468
msgid "Run external command and read the first line of output."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2470
msgid "File F<common/parallel/parallel.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2472
msgid ""
"This file is used by C<virt-df> and some of the other tools when they need "
"to run multiple parallel libguestfs instances to operate on a large number "
"of libvirt domains efficiently."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2476
msgid ""
"It implements a multithreaded work queue.  In addition it reorders the "
"output so the output still appears in the same order as the input (ie. still "
"ordered alphabetically)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2480
msgid "Function C<common/parallel/parallel.c:start_threads>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2482
#, no-wrap
msgid ""
" int\n"
" start_threads (size_t option_P, guestfs_h *options_handle, work_fn work)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2485
msgid "Run the threads and work through the global list of libvirt domains."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2488
msgid ""
"C<option_P> is whatever the user passed in the I<-P> option, or C<0> if the "
"user didn't use the I<-P> option (in which case the number of threads is "
"chosen heuristically)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2492
msgid ""
"C<options_handle> (which may be C<NULL>) is the global guestfs handle "
"created by the options mini-library."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2495
msgid ""
"The work function (C<work>) should do the work (inspecting the domain, "
"etc.)  on domain index C<i>.  However it I<must not> print out any result "
"directly.  Instead it prints anything it needs to the supplied C<FILE *>.  "
"The work function should return C<0> on success or C<-1> on error."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2501
msgid ""
"The C<start_threads> function returns C<0> if all work items completed "
"successfully, or C<-1> if there was an error."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:2504
msgid "Subdirectory F<common/progress>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2506
msgid "File F<common/progress/progress.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2508
msgid ""
"This file implements the progress bar in L<guestfish(1)>, L<virt-resize(1)> "
"and L<virt-sparsify(1)>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2511
msgid "Function C<common/progress/progress.c:progress_bar_init>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2513
#, no-wrap
msgid ""
" struct progress_bar *\n"
" progress_bar_init (unsigned flags)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2516
msgid "Initialize a progress bar struct."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2518
msgid ""
"It is intended that you can reuse the same struct for multiple commands (but "
"only in a single thread).  Call C<progress_bar_reset> before each new "
"command."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2522
msgid "Function C<common/progress/progress.c:progress_bar_free>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2524
#, no-wrap
msgid ""
" void\n"
" progress_bar_free (struct progress_bar *bar)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2527
msgid "Free a progress bar struct."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2529
msgid "Function C<common/progress/progress.c:progress_bar_reset>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2531
#, no-wrap
msgid ""
" void\n"
" progress_bar_reset (struct progress_bar *bar)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2534
msgid "This function should be called just before you issue any command."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2536
msgid "Function C<common/progress/progress.c:estimate_remaining_time>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2538
#, no-wrap
msgid ""
" static double\n"
" estimate_remaining_time (struct progress_bar *bar, double ratio)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2541
msgid "Return remaining time estimate (in seconds) for current call."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2543
msgid ""
"This returns the running mean estimate of remaining time, but if the latest "
"estimate of total time is greater than two s.d.'s from the running mean then "
"we don't print anything because we're not confident that the estimate is "
"meaningful.  (Returned value is E<lt>0.0 when nothing should be printed)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2549
msgid "Function C<common/progress/progress.c:progress_bar_set>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2551
#, no-wrap
msgid ""
" void\n"
" progress_bar_set (struct progress_bar *bar,\n"
"                   uint64_t position, uint64_t total)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2555
msgid "Set the position of the progress bar."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2557
msgid "This should be called from a C<GUESTFS_EVENT_PROGRESS> event callback."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:2560
msgid "Subdirectory F<common/qemuopts>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2562
msgid "File F<common/qemuopts/qemuopts-tests.c>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2569
msgid "File F<common/qemuopts/qemuopts.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2573
msgid ""
"There are some shortcomings with the model used for qemu options which "
"aren't clear until you try to convert options into a configuration file.  "
"However if we attempted to model the options in more detail then this "
"library would be both very difficult to use and incompatible with older "
"versions of qemu.  Hopefully the current model is a decent compromise."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2580
msgid "For reference here are the problems:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2586
msgid ""
"There's inconsistency in qemu between options and config file, eg.  C<-smp "
"4> becomes:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2589
#, no-wrap
msgid ""
" [smp-opts]\n"
"   cpus = \"4\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2594
msgid ""
"Similar to the previous point, you can write either C<-smp 4> or C<-smp "
"cpus=4> (although this won't work in very old qemu).  When generating a "
"config file you need to know the implicit key name."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2600
msgid ""
"In C<-opt key=value,...> the C<key> is really a tree/array specifier.  The "
"way this works is complicated but hinted at here: L<http://git.qemu.org/?"
"p=qemu.git;a=blob;f=util/keyval.c;h=93d5db6b590427e412dfb172f1c406d6dd8958c1;"
"hb=HEAD>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2607
msgid ""
"Some options are syntactic sugar.  eg. C<-kernel foo> is sugar for C<-"
"machine kernel=foo>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2612
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_create>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2614
#, no-wrap
msgid ""
" struct qemuopts *\n"
" qemuopts_create (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2617
msgid "Create an empty list of qemu options."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2619
msgid "The caller must eventually free the list by calling C<qemuopts_free>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2622
#: ../docs/internal-documentation.pod:2808
msgid "Returns C<NULL> on error, setting C<errno>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2624
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_free>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2626
#, no-wrap
msgid ""
" void\n"
" qemuopts_free (struct qemuopts *qopts)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2629
msgid "Free the list of qemu options."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2631
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_add_flag>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2633
#, no-wrap
msgid ""
" int\n"
" qemuopts_add_flag (struct qemuopts *qopts, const char *flag)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2636
msgid "Add a command line flag which has no argument. eg:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2638
#, no-wrap
msgid ""
" qemuopts_add_flag (qopts, \"-no-user-config\");\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2640
#: ../docs/internal-documentation.pod:2654
#: ../docs/internal-documentation.pod:2669
#: ../docs/internal-documentation.pod:2710
#: ../docs/internal-documentation.pod:2727
#: ../docs/internal-documentation.pod:2736
#: ../docs/internal-documentation.pod:2750
#: ../docs/internal-documentation.pod:2764
#: ../docs/internal-documentation.pod:2792
#: ../docs/internal-documentation.pod:2834
msgid "Returns C<0> on success.  Returns C<-1> on error, setting C<errno>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2642
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_add_arg>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2644
#, no-wrap
msgid ""
" int\n"
" qemuopts_add_arg (struct qemuopts *qopts, const char *flag, const char *value)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2647
msgid "Add a command line flag which has a single argument. eg:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2649
#, no-wrap
msgid ""
" qemuopts_add_arg (qopts, \"-m\", \"1024\");\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2651
#: ../docs/internal-documentation.pod:2666
msgid ""
"Don't use this if the argument is a comma-separated list, since quoting will "
"not be done properly.  See C<qemuopts_add_arg_list>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2656
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_add_arg_format>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2658
#, no-wrap
msgid ""
" int\n"
" qemuopts_add_arg_format (struct qemuopts *qopts, const char *flag,\n"
"                          const char *fs, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2662
msgid "Add a command line flag which has a single formatted argument. eg:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2664
#, no-wrap
msgid ""
" qemuopts_add_arg_format (qopts, \"-m\", \"%d\", 1024);\n"
"\n"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2671
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_add_arg_noquote>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2673
#, no-wrap
msgid ""
" int\n"
" qemuopts_add_arg_noquote (struct qemuopts *qopts, const char *flag,\n"
"                           const char *value)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2677
msgid ""
"This is like C<qemuopts_add_arg> except that no quoting is done on the value."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2680
msgid ""
"For C<qemuopts_to_script> and C<qemuopts_to_channel>, this means that "
"neither shell quoting nor qemu comma quoting is done on the value."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2684
msgid "For C<qemuopts_to_argv> this means that qemu comma quoting is not done."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2687
msgid "C<qemuopts_to_config*> will fail."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2689
msgid "You should use this with great care."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2691
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_start_arg_list>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2693
#, no-wrap
msgid ""
" int\n"
" qemuopts_start_arg_list (struct qemuopts *qopts, const char *flag)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2696
msgid "Start an argument that takes a comma-separated list of fields."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2698
msgid "Typical usage is like this (with error handling omitted):"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2700
#, no-wrap
msgid ""
" qemuopts_start_arg_list (qopts, \"-drive\");\n"
" qemuopts_append_arg_list (qopts, \"file=foo\");\n"
" qemuopts_append_arg_list_format (qopts, \"if=%s\", \"ide\");\n"
" qemuopts_end_arg_list (qopts);\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2705
msgid "which would construct C<-drive file=foo,if=ide>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2707
msgid ""
"See also C<qemuopts_add_arg_list> for a way to do simple cases in one call."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2712
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_add_arg_list>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2714
#, no-wrap
msgid ""
" int\n"
" qemuopts_add_arg_list (struct qemuopts *qopts, const char *flag,\n"
"                        const char *elem0, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2718
msgid "Add a command line flag which has a list of arguments. eg:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2720
#, no-wrap
msgid ""
" qemuopts_add_arg_list (qopts, \"-drive\", \"file=foo\", \"if=ide\", NULL);\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2722
msgid ""
"This is turned into a comma-separated list, like: C<-drive file=foo,"
"if=ide>.  Note that this handles qemu quoting properly, so individual "
"elements may contain commas and this will do the right thing."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2729
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_set_binary>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2731
#, no-wrap
msgid ""
" int\n"
" qemuopts_set_binary (struct qemuopts *qopts, const char *binary)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2734
msgid "Set the qemu binary name."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2738
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_set_binary_by_arch>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2740
#, no-wrap
msgid ""
" int\n"
" qemuopts_set_binary_by_arch (struct qemuopts *qopts, const char *arch)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2743
msgid "Set the qemu binary name to C<qemu-system-[arch]>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2745
msgid ""
"As a special case if C<arch> is C<NULL>, the binary is set to the KVM binary "
"for the current host architecture:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2748
#, no-wrap
msgid ""
" qemuopts_set_binary_by_arch (qopts, NULL);\n"
"\n"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2752
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_to_script>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2754
#, no-wrap
msgid ""
" int\n"
" qemuopts_to_script (struct qemuopts *qopts, const char *filename)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2757
msgid "Write the qemu options to a script."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2759
#: ../docs/internal-documentation.pod:2787
msgid "C<qemuopts_set_binary*> must be called first."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2761
msgid ""
"The script file will start with C<#!/bin/sh> and will be chmod to mode "
"C<0755>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2766
msgid "Function C<common/qemuopts/qemuopts.c:shell_quote>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2768
#, no-wrap
msgid ""
" static void\n"
" shell_quote (const char *str, FILE *fp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2771
msgid "Print C<str> to C<fp>, shell-quoting it if necessary."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2773
msgid "Function C<common/qemuopts/qemuopts.c:shell_and_comma_quote>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2775
#, no-wrap
msgid ""
" static void\n"
" shell_and_comma_quote (const char *str, FILE *fp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2778
msgid "Print C<str> to C<fp> doing both shell and qemu comma quoting."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2780
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_to_channel>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2782
#, no-wrap
msgid ""
" int\n"
" qemuopts_to_channel (struct qemuopts *qopts, FILE *fp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2785
msgid "Write the qemu options to a C<FILE *fp>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2789
msgid ""
"Only the qemu command line is written.  The caller may need to add C<#!/bin/"
"sh> and may need to chmod the resulting file to C<0755>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2794
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_to_argv>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2796
#, no-wrap
msgid ""
" char **\n"
" qemuopts_to_argv (struct qemuopts *qopts)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2799
msgid ""
"Return a NULL-terminated argument list, of the kind that can be passed "
"directly to L<execv(3)>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2802
msgid ""
"C<qemuopts_set_binary*> must be called first.  It will be returned as "
"C<argv[0]> in the returned list."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2805
msgid ""
"The list of strings and the strings themselves must be freed by the caller."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2810
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_to_config_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2812
#, no-wrap
msgid ""
" int\n"
" qemuopts_to_config_file (struct qemuopts *qopts, const char *filename)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2815
msgid ""
"Write the qemu options to a qemu config file, suitable for reading in using "
"C<qemu -readconfig filename>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2818
msgid ""
"Note that qemu config files have limitations on content and quoting, so not "
"all qemuopts structs can be written (this function returns an error in these "
"cases).  For more information see L<https://habkost.net/posts/2016/12/qemu-"
"apis-qemuopts.html> L<https://bugs.launchpad.net/qemu/+bug/1686364>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2824
msgid ""
"Also, command line argument names and config file sections sometimes have "
"different names.  For example the equivalent of C<-m 1024> is:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2828
#, no-wrap
msgid ""
" [memory]\n"
"   size = \"1024\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2831
msgid ""
"This code does I<not> attempt to convert between the two forms.  You just "
"need to know how to do that yourself."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2836
msgid "Function C<common/qemuopts/qemuopts.c:qemuopts_to_config_channel>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2838
#, no-wrap
msgid ""
" int\n"
" qemuopts_to_config_channel (struct qemuopts *qopts, FILE *fp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2841
msgid "Same as C<qemuopts_to_config_file>, but this writes to a C<FILE *fp>."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:2843
msgid "Subdirectory F<common/utils>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2845
msgid "File F<common/utils/cleanups.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2847
#: ../docs/internal-documentation.pod:2887
msgid ""
"Libguestfs uses C<CLEANUP_*> macros to simplify temporary allocations.  They "
"are implemented using the C<__attribute__((cleanup))> feature of gcc and "
"clang.  Typical usage is:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2852
#: ../docs/internal-documentation.pod:2892
#, no-wrap
msgid ""
" fn ()\n"
" {\n"
"   CLEANUP_FREE char *str = NULL;\n"
"   str = safe_asprintf (g, \"foo\");\n"
"   // str is freed automatically when the function returns\n"
" }\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2859
#: ../docs/internal-documentation.pod:2899
msgid "There are a few catches to be aware of with the cleanup mechanism:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2865
#: ../docs/internal-documentation.pod:2905
msgid ""
"If a cleanup variable is not initialized, then you can end up calling "
"L<free(3)> with an undefined value, resulting in the program crashing.  For "
"this reason, you should usually initialize every cleanup variable with "
"something, eg. C<NULL>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2872
#: ../docs/internal-documentation.pod:2912
msgid "Don't mark variables holding return values as cleanup variables."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2876
#: ../docs/internal-documentation.pod:2916
msgid ""
"The C<main()> function shouldn't use cleanup variables since it is normally "
"exited by calling L<exit(3)>, and that doesn't call the cleanup handlers."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2882
#: ../docs/internal-documentation.pod:2922
msgid ""
"The functions in this file are used internally by the C<CLEANUP_*> macros.  "
"Don't call them directly."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2885
msgid "File F<common/utils/gnulib-cleanups.c>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2925
msgid "File F<common/utils/guestfs-utils.h>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2927
msgid ""
"This header file is included in all \"frontend\" parts of libguestfs, namely "
"the library, non-C language bindings, virt tools and tests."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2930
msgid ""
"The daemon does B<not> use this header.  If you need a place to put "
"something shared with absolutely everything including the daemon, put it in "
"F<lib/guestfs-internal-all.h>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2934
msgid ""
"If a definition is only needed by a single component of libguestfs (eg. just "
"the library, or just a single virt tool) then it should B<not> be here!"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:2938
msgid "File F<common/utils/libxml2-writer-macros.h>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2940
msgid ""
"These macros make it easier to write XML.  To use them correctly you must be "
"aware of these assumptions:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2947
msgid ""
"The C<xmlTextWriterPtr> is called C<xo>.  It is used implicitly by all the "
"macros."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2952
msgid ""
"On failure, a function called C<xml_error> is called which you must define "
"(usually as a macro).  You must use C<CLEANUP_*> macros in your functions if "
"you want correct cleanup of local variables along the error path."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2959
msgid "All the \"bad\" casting is hidden inside the macros."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2963
msgid "Definition C<common/utils/libxml2-writer-macros.h:start_element>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2965
#, no-wrap
msgid ""
" #define start_element\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2967
msgid "To define an XML element use:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2969
#, no-wrap
msgid ""
" start_element (\"name\") {\n"
"   ...\n"
" } end_element ();\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2973
msgid "which produces C<<< <name>...</name> >>>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2975
msgid "Definition C<common/utils/libxml2-writer-macros.h:empty_element>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2977
#, no-wrap
msgid ""
" #define empty_element\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2979
msgid "To define an empty element:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2981
#, no-wrap
msgid ""
" empty_element (\"name\");\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2983
msgid "which produces C<<< <name/> >>>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2985
msgid "Definition C<common/utils/libxml2-writer-macros.h:single_element>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2987
#, no-wrap
msgid ""
" #define single_element\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2989
msgid "To define a single element with no attributes containing some text:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2991
#, no-wrap
msgid ""
" single_element (\"name\", text);\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2993
msgid "which produces C<<< <name>text</name> >>>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:2995
msgid ""
"Definition C<common/utils/libxml2-writer-macros.h:single_element_format>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:2997
#, no-wrap
msgid ""
" #define single_element_format\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:2999
msgid ""
"To define a single element with no attributes containing some text using a "
"format string:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3002
#, no-wrap
msgid ""
" single_element_format (\"cores\", \"%d\", nr_cores);\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3004
msgid "which produces C<<< <cores>4</cores> >>>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3006
msgid "Definition C<common/utils/libxml2-writer-macros.h:attribute>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3008
#, no-wrap
msgid ""
" #define attribute\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3010
msgid "To define an XML element with attributes, use:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3012
#, no-wrap
msgid ""
" start_element (\"name\") {\n"
"   attribute (\"foo\", \"bar\");\n"
"   attribute_format (\"count\", \"%d\", count);\n"
"   ...\n"
" } end_element ();\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3018
msgid "which produces C<<< <name foo=\"bar\" count=\"123\">...</name> >>>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3020
msgid "Definition C<common/utils/libxml2-writer-macros.h:attribute_ns>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3022
#, no-wrap
msgid ""
" #define attribute_ns\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3024
msgid ""
"C<attribute_ns (prefix, key, namespace_uri, value)> defines a namespaced "
"attribute."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3027
msgid "Definition C<common/utils/libxml2-writer-macros.h:string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3029
#, no-wrap
msgid ""
" #define string\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3031
msgid "To define a verbatim string, use:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3033
#, no-wrap
msgid ""
" string (\"hello\");\n"
"\n"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3035
msgid "Definition C<common/utils/libxml2-writer-macros.h:string_format>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3037
#, no-wrap
msgid ""
" #define string_format\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3039
msgid "To define a verbatim string using a format string, use:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3041
#, no-wrap
msgid ""
" string (\"%s, world\", greeting);\n"
"\n"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3043
msgid "Definition C<common/utils/libxml2-writer-macros.h:base64>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3045
#, no-wrap
msgid ""
" #define base64\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3047
msgid "To write a string encoded as base64:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3049
#, no-wrap
msgid ""
" base64 (data, size);\n"
"\n"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3051
msgid "Definition C<common/utils/libxml2-writer-macros.h:comment>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3053
#, no-wrap
msgid ""
" #define comment\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3055
msgid "To define a comment in the XML, use:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3057
#, no-wrap
msgid ""
"  comment (\"number of items = %d\", nr_items);\n"
"\n"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3059
msgid "File F<common/utils/stringlists-utils.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3061
#: ../docs/internal-documentation.pod:3098
msgid "Utility functions used by the library, tools and language bindings."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3063
#: ../docs/internal-documentation.pod:3100
msgid ""
"These functions I<must not> call internal library functions such as "
"C<safe_*>, C<error> or C<perrorf>, or any C<guestfs_int_*>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3066
msgid "Function C<common/utils/stringlists-utils.c:guestfs_int_split_string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3068
#, no-wrap
msgid ""
" char **\n"
" guestfs_int_split_string (char sep, const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3071
msgid ""
"Split string at separator character C<sep>, returning the list of strings.  "
"Returns C<NULL> on memory allocation failure."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3074
msgid "Note (assuming C<sep> is C<:>):"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3078
msgid "C<str == NULL>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3080
msgid "aborts"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3082
msgid "C<str == \"\">"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3084
#: ../docs/internal-documentation.pod:3757
msgid "returns C<[]>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3086
msgid "C<str == \"abc\">"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3088
msgid "returns C<[\"abc\"]>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3090
msgid "C<str == \":\">"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3092
msgid "returns C<[\"\", \"\"]>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3096
msgid "File F<common/utils/utils.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3103
msgid "Function C<common/utils/utils.c:guestfs_int_replace_string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3105
#, fuzzy, no-wrap
#| msgid ""
#| " char **\n"
#| " guestfs_strings (guestfs_h *g,\n"
#| "                  const char *path);\n"
#| "\n"
msgid ""
" char *\n"
" guestfs_int_replace_string (const char *str, const char *s1, const char *s2)\n"
"\n"
msgstr ""
" char **\n"
" guestfs_strings (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../docs/internal-documentation.pod:3108
msgid ""
"Replace every instance of C<s1> appearing in C<str> with C<s2>.  A newly "
"allocated string is returned which must be freed by the caller.  If "
"allocation fails this can return C<NULL>."
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3114
#, no-wrap
msgid ""
" replace_string (\"abcabb\", \"ab\", \"a\");\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3116
msgid "would return C<\"acab\">."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3118
msgid "Function C<common/utils/utils.c:guestfs_int_exit_status_to_string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3120
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_exit_status_to_string (int status, const char *cmd_name,\n"
" \t\t\t\t   char *buffer, size_t buflen)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3124
msgid "Translate a wait/system exit status into a printable string."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3126
msgid "Function C<common/utils/utils.c:guestfs_int_random_string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3128
#, no-wrap
msgid ""
" int\n"
" guestfs_int_random_string (char *ret, size_t len)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3131
msgid "Return a random string of characters."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3139
msgid ""
"The C<ret> buffer must have length C<len+1> in order to store the final C<"
"\\0> character."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3144
msgid ""
"There is about 5 bits of randomness per output character (so about C<5*len> "
"bits of randomness in the resulting string)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3149
msgid "Function C<common/utils/utils.c:guestfs_int_drive_name>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3151
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_drive_name (size_t index, char *ret)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3154
msgid "This turns a drive index (eg. C<27>) into a drive name (eg. C<\"ab\">)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3157
msgid ""
"Drive indexes count from C<0>.  The return buffer has to be large enough for "
"the resulting string, and the returned pointer points to the *end* of the "
"string."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3161
msgid ""
"L<https://rwmj.wordpress.com/2011/01/09/how-are-linux-drives-named-beyond-"
"drive-26-devsdz/>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3163
msgid "Function C<common/utils/utils.c:guestfs_int_drive_index>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3165
#, no-wrap
msgid ""
" ssize_t\n"
" guestfs_int_drive_index (const char *name)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3168
msgid ""
"The opposite of C<guestfs_int_drive_name>.  Take a string like C<\"ab\"> and "
"return the index (eg C<27>)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3171
msgid ""
"Note that you must remove any prefix such as C<\"hd\">, C<\"sd\"> etc, or "
"any partition number before calling the function."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3174
msgid "Function C<common/utils/utils.c:guestfs_int_is_true>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3176
#, no-wrap
msgid ""
" int\n"
" guestfs_int_is_true (const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3179
msgid "Similar to C<Tcl_GetBoolean>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3181
msgid "Function C<common/utils/utils.c:guestfs_int_string_is_valid>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3183
#, no-wrap
msgid ""
" bool\n"
" guestfs_int_string_is_valid (const char *str,\n"
"                              size_t min_length, size_t max_length,\n"
"                              int flags, const char *extra)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3188
msgid ""
"Check a string for validity, that it contains only certain characters, and "
"minimum and maximum length.  This function is usually wrapped in a VALID_* "
"macro, see F<lib/drives.c> for an example."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3193
msgid "C<str> is the string to check."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3195
msgid ""
"C<min_length> and C<max_length> are the minimum and maximum length checks.  "
"C<0> means no check."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3198
msgid "The flags control:"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3202
msgid "C<VALID_FLAG_ALPHA>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3204
msgid "7-bit ASCII-only alphabetic characters are permitted."
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3206
msgid "C<VALID_FLAG_DIGIT>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3208
msgid "7-bit ASCII-only digits are permitted."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3212
msgid ""
"C<extra> is a set of extra characters permitted, in addition to alphabetic "
"and/or digits.  (C<extra = NULL> for no extra)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3215
msgid ""
"Returns boolean C<true> if the string is valid (passes all the tests), or "
"C<false> if not."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3218
msgid "Function C<common/utils/utils.c:guestfs_int_fadvise_normal>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3220
#, no-wrap
msgid ""
" void\n"
" guestfs_int_fadvise_normal (int fd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3223
msgid "Hint that we will read or write the file descriptor normally."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3225
msgid ""
"On Linux, this clears the C<FMODE_RANDOM> flag on the file [see below] and "
"sets the per-file number of readahead pages to equal the block device "
"readahead setting."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3229
#: ../docs/internal-documentation.pod:3243
#: ../docs/internal-documentation.pod:3270
#: ../docs/internal-documentation.pod:3282
#: ../docs/internal-documentation.pod:3299
#: ../docs/internal-documentation.pod:3313
msgid ""
"It's OK to call this on a non-file since we ignore failure as it is only a "
"hint."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3232
msgid "Function C<common/utils/utils.c:guestfs_int_fadvise_sequential>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3234
#, no-wrap
msgid ""
" void\n"
" guestfs_int_fadvise_sequential (int fd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3237
msgid "Hint that we will read or write the file descriptor sequentially."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3239
msgid ""
"On Linux, this clears the C<FMODE_RANDOM> flag on the file [see below] and "
"sets the per-file number of readahead pages to twice the block device "
"readahead setting."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3246
msgid "Function C<common/utils/utils.c:guestfs_int_fadvise_random>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3248
#, no-wrap
msgid ""
" void\n"
" guestfs_int_fadvise_random (int fd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3251
msgid "Hint that we will read or write the file descriptor randomly."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3253
msgid ""
"On Linux, this sets the C<FMODE_RANDOM> flag on the file.  The effect of "
"this flag is to:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3260
msgid "Disable normal sequential file readahead."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3264
msgid ""
"If any read of the file is done which misses in the page cache, 2MB are read "
"into the page cache.  [I think - I'm not sure I totally understand what this "
"is doing]"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3273
msgid "Function C<common/utils/utils.c:guestfs_int_fadvise_noreuse>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3275
#, no-wrap
msgid ""
" void\n"
" guestfs_int_fadvise_noreuse (int fd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3278
msgid "Hint that we will access the data only once."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3280
msgid "On Linux, this does nothing."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3285
msgid "Function C<common/utils/utils.c:guestfs_int_fadvise_dontneed>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3287
#, no-wrap
msgid ""
" void\n"
" guestfs_int_fadvise_dontneed (int fd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3290
msgid "Hint that we will not access the data in the near future."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3292
msgid ""
"On Linux, this immediately writes out any dirty pages in the page cache and "
"then invalidates (drops) all pages associated with this file from the page "
"cache.  Apparently it does this even if the file is opened or being used by "
"other processes.  This setting is not persistent; if you subsequently read "
"the file it will be cached in the page cache as normal."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3302
msgid "Function C<common/utils/utils.c:guestfs_int_fadvise_willneed>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3304
#, no-wrap
msgid ""
" void\n"
" guestfs_int_fadvise_willneed (int fd)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3307
msgid "Hint that we will access the data in the near future."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3309
msgid ""
"On Linux, this immediately reads the whole file into the page cache.  This "
"setting is not persistent; subsequently pages may be dropped from the page "
"cache as normal."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3316
msgid "Function C<common/utils/utils.c:guestfs_int_shell_unquote>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3318
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_shell_unquote (const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3321
msgid "Unquote a shell-quoted string."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3323
msgid ""
"Augeas passes strings to us which may be quoted, eg. if they come from files "
"in F</etc/sysconfig>.  This function can do simple unquoting of these "
"strings."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3327
msgid ""
"Note this function does not do variable substitution, since that is "
"impossible without knowing the file context and indeed the environment under "
"which the shell script is run.  Configuration files should not use complex "
"quoting."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3332
msgid ""
"C<str> is the input string from Augeas, a string that may be single- or "
"double-quoted or may not be quoted.  The returned string is unquoted, and "
"must be freed by the caller.  C<NULL> is returned on error and C<errno> is "
"set accordingly."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3337
msgid ""
"For information on double-quoting in bash, see L<https://www.gnu.org/"
"software/bash/manual/html_node/Double-Quotes.html>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3340
msgid "Function C<common/utils/utils.c:guestfs_int_is_reg>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3342
#, no-wrap
msgid ""
" int\n"
" guestfs_int_is_reg (int64_t mode)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3345
msgid ""
"Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field "
"represents a regular file."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3348
msgid "Function C<common/utils/utils.c:guestfs_int_is_dir>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3350
#, no-wrap
msgid ""
" int\n"
" guestfs_int_is_dir (int64_t mode)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3353
msgid ""
"Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field "
"represents a directory."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3356
msgid "Function C<common/utils/utils.c:guestfs_int_is_chr>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3358
#, no-wrap
msgid ""
" int\n"
" guestfs_int_is_chr (int64_t mode)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3361
msgid ""
"Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field "
"represents a char device."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3364
msgid "Function C<common/utils/utils.c:guestfs_int_is_blk>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3366
#, no-wrap
msgid ""
" int\n"
" guestfs_int_is_blk (int64_t mode)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3369
msgid ""
"Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field "
"represents a block device."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3372
msgid "Function C<common/utils/utils.c:guestfs_int_is_fifo>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3374
#, no-wrap
msgid ""
" int\n"
" guestfs_int_is_fifo (int64_t mode)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3377
msgid ""
"Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field "
"represents a named pipe (FIFO)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3380
msgid "Function C<common/utils/utils.c:guestfs_int_is_lnk>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3382
#, no-wrap
msgid ""
" int\n"
" guestfs_int_is_lnk (int64_t mode)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3385
msgid ""
"Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field "
"represents a symbolic link."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3388
msgid "Function C<common/utils/utils.c:guestfs_int_is_sock>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3390
#, no-wrap
msgid ""
" int\n"
" guestfs_int_is_sock (int64_t mode)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3393
msgid ""
"Return true if the C<guestfs_statns> or C<guestfs_lstatns> C<st_mode> field "
"represents a Unix domain socket."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3396
msgid "Function C<common/utils/utils.c:guestfs_int_full_path>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3398
#, no-wrap
msgid ""
" char *\n"
" guestfs_int_full_path (const char *dir, const char *name)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3401
msgid ""
"Concatenate C<dir> and C<name> to create a path.  This correctly handles the "
"case of concatenating C<\"/\" + \"filename\"> as well as C<\"/dir\" + "
"\"filename\">.  C<name> may be C<NULL>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3405
msgid "The caller must free the returned path."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3407
msgid "This function sets C<errno> and returns C<NULL> on error."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3409
msgid "Function C<common/utils/utils.c:guestfs_int_hexdump>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3411
#, no-wrap
msgid ""
" void\n"
" guestfs_int_hexdump (const void *data, size_t len, FILE *fp)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3414
msgid "Hexdump a block of memory to C<FILE *>, used for debugging."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:3416
msgid "Subdirectory F<common/visit>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3418
msgid "File F<common/visit/visit.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3420
msgid ""
"This file contains a recursive function for visiting all files and "
"directories in a guestfs filesystem."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3423
msgid ""
"Adapted from L<https://rwmj.wordpress.com/2010/12/15/tip-audit-virtual-"
"machine-for-setuid-files/>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3426
msgid "Function C<common/visit/visit.c:visit>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3428
#, no-wrap
msgid ""
" int\n"
" visit (guestfs_h *g, const char *dir, visitor_function f, void *opaque)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3431
msgid ""
"Visit every file and directory in a guestfs filesystem, starting at C<dir>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3434
msgid ""
"C<dir> may be C<\"/\"> to visit the entire filesystem, or may be some "
"subdirectory.  Symbolic links are not followed."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3437
msgid ""
"The visitor function C<f> is called once for every directory and every "
"file.  The parameters passed to C<f> include the current directory name, the "
"current file name (or C<NULL> when we're visiting a directory), the "
"C<guestfs_statns> (file permissions etc), and the list of extended "
"attributes of the file.  The visitor function may return C<-1> which causes "
"the whole recursion to stop with an error."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3445
msgid ""
"Also passed to this function is an C<opaque> pointer which is passed through "
"to the visitor function."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3448
msgid ""
"Returns C<0> if everything went OK, or C<-1> if there was an error.  Error "
"handling is not particularly well defined.  It will either set an error in "
"the libguestfs handle or print an error on stderr, but there is no way for "
"the caller to tell the difference."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:3453
msgid "Subdirectory F<common/windows>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3455
msgid "File F<common/windows/windows.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3457
msgid ""
"This file implements C<win:> Windows file path support in L<guestfish(1)>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3460
msgid "Function C<common/windows/windows.c:is_windows>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3462
#, no-wrap
msgid ""
" int\n"
" is_windows (guestfs_h *g, const char *root)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3465
msgid "Checks whether C<root> is a Windows installation."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3467
msgid "This relies on an already being done introspection."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3469
msgid "Function C<common/windows/windows.c:windows_path>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3471
#, no-wrap
msgid ""
" char *\n"
" windows_path (guestfs_h *g, const char *root, const char *path, int readonly)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3474
msgid ""
"Resolves C<path> as possible Windows path according to C<root>, giving a new "
"path that can be used in libguestfs API calls."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3483
msgid "C<root> must be a Windows installation"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3487
msgid "relies on an already being done introspection"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3491
msgid ""
"will unmount all the existing mount points and mount the Windows root "
"(according to C<readonly>)"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3496
msgid "calls L<exit(3)> on memory allocation failures"
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:3500
msgid "Subdirectory F<daemon>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3502
msgid "File F<daemon/command.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3504
msgid ""
"This file contains a number of useful functions for running external "
"commands and capturing their output."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3507
msgid "Function C<daemon/command.c:commandf>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3509
#, no-wrap
msgid ""
" int\n"
" commandf (char **stdoutput, char **stderror, unsigned flags,\n"
"           const char *name, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3513
msgid "Run a command.  Optionally capture stdout and stderr as strings."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3515
msgid ""
"Returns C<0> if the command ran successfully, or C<-1> if there was any "
"error."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3518
msgid "For a description of the C<flags> see C<commandrvf>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3520
msgid ""
"There is also a macro C<command(out,err,name,...)> which calls C<commandf> "
"with C<flags=0>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3523
msgid "Function C<daemon/command.c:commandrf>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3525
#, no-wrap
msgid ""
" int\n"
" commandrf (char **stdoutput, char **stderror, unsigned flags,\n"
"            const char *name, ...)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3529
msgid ""
"Same as C<command>, but we allow the status code from the subcommand to be "
"non-zero, and return that status code."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3532
msgid "We still return C<-1> if there was some other error."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3534
msgid ""
"There is also a macro C<commandr(out,err,name,...)> which calls C<commandrf> "
"with C<flags=0>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3537
msgid "Function C<daemon/command.c:commandvf>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3539
#, no-wrap
msgid ""
" int\n"
" commandvf (char **stdoutput, char **stderror, unsigned flags,\n"
"            char const *const *argv)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3543
msgid "Same as C<command>, but passing in an argv array."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3545
msgid ""
"There is also a macro C<commandv(out,err,argv)> which calls C<commandvf> "
"with C<flags=0>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3548
msgid "Function C<daemon/command.c:commandrvf>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3550
#, no-wrap
msgid ""
" int\n"
" commandrvf (char **stdoutput, char **stderror, unsigned flags,\n"
"             char const* const *argv)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3554
msgid ""
"This is a more sane version of L<system(3)> for running external commands.  "
"It uses fork/execvp, so we don't need to worry about quoting of parameters, "
"and it allows us to capture any error messages in a buffer."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3559
msgid ""
"If C<stdoutput> is not C<NULL>, then C<*stdoutput> will return the stdout of "
"the command as a string."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3562
msgid ""
"If C<stderror> is not C<NULL>, then C<*stderror> will return the stderr of "
"the command.  If there is a final \\n character, it is removed so you can "
"use the error string directly in a call to C<reply_with_error>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3567
msgid "Flags are:"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3571
msgid "C<COMMAND_FLAG_FOLD_STDOUT_ON_STDERR>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3573
msgid ""
"For broken external commands that send error messages to stdout (hello, "
"parted) but that don't have any useful stdout information, use this flag to "
"capture the error messages in the C<*stderror> buffer.  If using this flag, "
"you should pass C<stdoutput=NULL> because nothing could ever be captured in "
"that buffer."
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3579
msgid "C<COMMAND_FLAG_CHROOT_COPY_FILE_TO_STDIN>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3581
msgid ""
"For running external commands on chrooted files correctly (see L<https://"
"bugzilla.redhat.com/579608>) specifying this flag causes another process to "
"be forked which chroots into sysroot and just copies the input file to stdin "
"of the specified command.  The file descriptor is ORed with the flags, and "
"that file descriptor is always closed by this function.  See F<daemon/"
"hexdump.c> for an example of usage."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3591
msgid ""
"There is also a macro C<commandrv(out,err,argv)> which calls C<commandrvf> "
"with C<flags=0>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3594
msgid "File F<daemon/device-name-translation.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3596
msgid ""
"Function C<daemon/device-name-translation.c:device_name_translation_init>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3598
#, no-wrap
msgid ""
" void\n"
" device_name_translation_init (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3601
#, fuzzy
#| msgid "Create empty disk images"
msgid "Cache daemon disk mapping."
msgstr "Create empty disk images"

#. type: textblock
#: ../docs/internal-documentation.pod:3603
msgid ""
"When the daemon starts up, populate a cache with the contents of /dev/disk/"
"by-path.  It's easiest to use C<ls -lv> here since the names are sorted "
"awkwardly."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3607
msgid "Function C<daemon/device-name-translation.c:device_name_translation>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3609
#, no-wrap
msgid ""
" char *\n"
" device_name_translation (const char *device)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3612
msgid "Perform device name translation."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3614
msgid ""
"Libguestfs defines a few standard formats for device names.  (see also "
"L<guestfs(3)/BLOCK DEVICE NAMING> and L<guestfs(3)/"
"guestfs_canonical_device_name>).  They are:"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3620
msgid "F</dev/sdX[N]>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3622
msgid "F</dev/hdX[N]>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3624
msgid "F</dev/vdX[N]>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3626
msgid ""
"These mean the Nth partition on the Xth device.  Because Linux no longer "
"enumerates devices in the order they are passed to qemu, we must translate "
"these by looking up the actual device using /dev/disk/by-path/"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3631
msgid "F</dev/mdX>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3633
#, fuzzy
#| msgid "B<--lvm=/dev/I<VG>/I<LV>>"
msgid "F</dev/VG/LV>"
msgstr "B<--lvm=/dev/I<VG>/I<LV>>"

#. type: =item
#: ../docs/internal-documentation.pod:3635
msgid "F</dev/mapper/...>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3637 ../fish/guestfish-actions.pod:1480
#: ../lib/guestfs-actions.pod:2467
msgid "F</dev/dm-N>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3639
msgid "These are not translated here."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3643
msgid "It returns a newly allocated string which the caller must free."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3645
msgid ""
"It returns C<NULL> on error.  B<Note> it does I<not> call C<reply_with_*>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3648
msgid ""
"We have to open the device and test for C<ENXIO>, because the device nodes "
"may exist in the appliance."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3651
msgid "File F<daemon/guestfsd.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3653
msgid ""
"This is the guestfs daemon which runs inside the guestfs appliance.  This "
"file handles start up and connecting back to the library."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3656
msgid "Function C<daemon/guestfsd.c:print_shell_quote>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3658
#, no-wrap
msgid ""
" static int\n"
" print_shell_quote (FILE *stream,\n"
"                    const struct printf_info *info ATTRIBUTE_UNUSED,\n"
"                    const void *const *args)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3663
msgid ""
"printf helper function so we can use C<%Q> (\"quoted\") and C<%R> to print "
"shell-quoted strings.  See L<guestfs-hacking(1)> for more details."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3667
msgid "File F<daemon/internal.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3669
msgid "Internal functions that are not part of the public API."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3671
msgid "File F<daemon/utils-c.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3673
msgid "Bindings for utility functions."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3675
msgid ""
"Note that functions called from OCaml code B<must never> call any of the "
"C<reply*> functions."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3678
msgid "File F<daemon/utils.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3680
msgid "Miscellaneous utility functions used by the daemon."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3682
msgid "Function C<daemon/utils.c:is_root_device_stat>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3684
#, no-wrap
msgid ""
" static int\n"
" is_root_device_stat (struct stat *statbuf)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3687
msgid ""
"Return true iff device is the root device (and therefore should be ignored "
"from the point of view of user calls)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3690
msgid "Function C<daemon/utils.c:is_device_parameter>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3692
#, no-wrap
msgid ""
" int\n"
" is_device_parameter (const char *device)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3695
msgid ""
"Parameters marked as C<Device>, C<Dev_or_Path>, etc can be passed a block "
"device name.  This function tests if the parameter is a block device name."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3699
msgid ""
"It can also be used in daemon code to test if the string passed as a "
"C<Dev_or_Path> parameter is a device or path."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3702
msgid "Function C<daemon/utils.c:sysroot_path>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3704
#, no-wrap
msgid ""
" char *\n"
" sysroot_path (const char *path)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3707
msgid "Turn C<\"/path\"> into C<\"/sysroot/path\">."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3709
#: ../docs/internal-documentation.pod:3723
msgid ""
"Returns C<NULL> on failure.  The caller I<must> check for this and call "
"S<C<reply_with_perror (\"malloc\")>>.  The caller must also free the "
"returned string."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3713
#: ../docs/internal-documentation.pod:3727
msgid ""
"See also the custom C<%R> printf formatter which does shell quoting too."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3715
msgid "Function C<daemon/utils.c:sysroot_realpath>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3717
#, no-wrap
msgid ""
" char *\n"
" sysroot_realpath (const char *path)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3720
msgid ""
"Resolve path within sysroot, calling C<sysroot_path> on the resolved path."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3729
msgid "Function C<daemon/utils.c:is_power_of_2>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3731
#, no-wrap
msgid ""
" int\n"
" is_power_of_2 (unsigned long v)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3734
msgid "Returns true if C<v> is a power of 2."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3736
msgid ""
"Uses the algorithm described at L<http://graphics.stanford.edu/~seander/"
"bithacks.html#DetermineIfPowerOf2>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3739
msgid "Function C<daemon/utils.c:split_lines_sb>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3741
#, no-wrap
msgid ""
" struct stringsbuf\n"
" split_lines_sb (char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3744
msgid ""
"Split an output string into a NULL-terminated list of lines, wrapped into a "
"stringsbuf."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3747
msgid ""
"Typically this is used where we have run an external command which has "
"printed out a list of things, and we want to return an actual list."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3751
msgid "The corner cases here are quite tricky.  Note in particular:"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3755
msgid "C<\"\">"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3759
msgid "C<\"\\n\">"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3761
msgid "returns C<[\"\"]>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3763
msgid "C<\"a\\nb\">"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3765
#: ../docs/internal-documentation.pod:3769
msgid "returns C<[\"a\"; \"b\"]>"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3767
msgid "C<\"a\\nb\\n\">"
msgstr ""

#. type: =item
#: ../docs/internal-documentation.pod:3771
msgid "C<\"a\\nb\\n\\n\">"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3773
msgid "returns C<[\"a\"; \"b\"; \"\"]>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3777
msgid ""
"The original string is written over and destroyed by this function (which is "
"usually OK because it's the 'out' string from C<command*()>).  You can free "
"the original string, because C<add_string()> strdups the strings."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3782
msgid "C<argv> in the C<struct stringsbuf> will be C<NULL> in case of errors."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3784
msgid "Function C<daemon/utils.c:filter_list>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3786
#, fuzzy, no-wrap
#| msgid ""
#| " char **\n"
#| " guestfs_strings (guestfs_h *g,\n"
#| "                  const char *path);\n"
#| "\n"
msgid ""
" char **\n"
" filter_list (bool (*p) (const char *str), char **strs)\n"
"\n"
msgstr ""
" char **\n"
" guestfs_strings (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../docs/internal-documentation.pod:3789
msgid ""
"Filter a list of strings.  Returns a newly allocated list of only the "
"strings where C<p (str) == true>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3792
msgid ""
"B<Note> it does not copy the strings, be careful not to double-free them."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3795
msgid "Function C<daemon/utils.c:trim>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3797
#, no-wrap
msgid ""
" void\n"
" trim (char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3800
msgid ""
"Skip leading and trailing whitespace, updating the original string in-place."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3803
msgid "Function C<daemon/utils.c:parse_btrfsvol>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3805
#, no-wrap
msgid ""
" int\n"
" parse_btrfsvol (const char *desc_orig, mountable_t *mountable)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3808
msgid ""
"Parse the mountable descriptor for a btrfs subvolume.  Don't call this "
"directly; it is only used from the stubs."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3811
msgid "A btrfs subvolume is given as:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3813
#, no-wrap
msgid ""
" btrfsvol:/dev/sda3/root\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3815
msgid ""
"where F</dev/sda3> is a block device containing a btrfs filesystem, and root "
"is the name of a subvolume on it. This function is passed the string "
"following C<\"btrfsvol:\">."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3819
msgid ""
"On success, C<mountable-E<gt>device> and C<mountable-E<gt>volume> must be "
"freed by the caller."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3822
msgid "Function C<daemon/utils.c:mountable_to_string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3824
#, no-wrap
msgid ""
" char *\n"
" mountable_to_string (const mountable_t *mountable)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3827
msgid "Convert a C<mountable_t> back to its string representation"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3829
msgid ""
"This function can be used in an error path, so must not call "
"C<reply_with_error>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3832
msgid "Function C<daemon/utils.c:prog_exists>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3834
#, no-wrap
msgid ""
" int\n"
" prog_exists (const char *prog)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3837
msgid "Check program exists and is executable on C<$PATH>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3839
msgid "Function C<daemon/utils.c:random_name>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3841
#, no-wrap
msgid ""
" int\n"
" random_name (char *template)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3844
msgid ""
"Pass a template such as C<\"/sysroot/XXXXXXXX.XXX\">.  This updates the "
"template to contain a randomly named file.  Any C<'X'> characters after the "
"final C<'/'> in the template are replaced with random characters."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3849
msgid ""
"Notes: You should probably use an 8.3 path, so it's compatible with all "
"filesystems including basic FAT.  Also this only substitutes lowercase ASCII "
"letters and numbers, again for compatibility with lowest common denominator "
"filesystems."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3854
msgid ""
"This doesn't create a file or check whether or not the file exists (it would "
"be extremely unlikely to exist as long as the RNG is working)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3858
msgid "If there is an error, C<-1> is returned."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3860
msgid "Function C<daemon/utils.c:udev_settle_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3862
#, no-wrap
msgid ""
" void\n"
" udev_settle_file (const char *file)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3865
msgid ""
"LVM and other commands aren't synchronous, especially when udev is "
"involved.  eg. You can create or remove some device, but the C</dev> device "
"node won't appear until some time later.  This means that you get an error "
"if you run one command followed by another."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3870
msgid ""
"Use C<udevadm settle> after certain commands, but don't be too fussed if it "
"fails."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3873
msgid "Function C<daemon/utils.c:make_exclude_from_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3875
#, no-wrap
msgid ""
" char *\n"
" make_exclude_from_file (const char *function, char *const *excludes)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3878
msgid ""
"Turn list C<excludes> into a temporary file, and return a string containing "
"the temporary file name.  Caller must unlink the file and free the string."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3882
msgid ""
"C<function> is the function that invoked this helper, and it is used mainly "
"for errors/debugging."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3885
msgid "Function C<daemon/utils.c:read_whole_file>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3887
#, no-wrap
msgid ""
" char *\n"
" read_whole_file (const char *filename, size_t *size_r)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3890
msgid ""
"Read whole file into dynamically allocated array.  If there is an error, "
"DON'T call reply_with_perror, just return NULL.  Returns a C<\\0>-terminated "
"string.  C<size_r> can be specified to get the size of the returned data."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3895
msgid "File F<daemon/xattr.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3897
msgid "Function C<daemon/xattr.c:split_attr_names>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3899
#, no-wrap
msgid ""
" static char **\n"
" split_attr_names (char *buf, size_t len)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3902
msgid ""
"L<listxattr(2)> returns the string C<\"foo\\0bar\\0baz\"> of length C<len>.  "
"(The last string in the list is \\0-terminated but the \\0 is not included "
"in C<len>)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3906
#, fuzzy
#| msgid ""
#| "This command returns up to the first 10 lines of a file as a list of "
#| "strings."
msgid "This function splits it into a regular list of strings."
msgstr ""
"This command returns up to the first 10 lines of a file as a list of strings."

#. type: textblock
#: ../docs/internal-documentation.pod:3908
msgid ""
"B<Note> that the returned list contains pointers to the original strings in "
"C<buf> so be careful that you do not double-free them."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:3911
msgid "Subdirectory F<fish>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3913
msgid "File F<fish/alloc.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3915
msgid "This file implements the guestfish C<alloc> and C<sparse> commands."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3917
msgid "Function C<fish/alloc.c:alloc_disk>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3919
#, no-wrap
msgid ""
" int\n"
" alloc_disk (const char *filename, const char *size_str, int add, int sparse)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3922
msgid ""
"This is the underlying allocation function.  It's called from a few other "
"places in guestfish."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3925
msgid "File F<fish/copy.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3927
msgid "This file implements the guestfish commands C<copy-in> and C<copy-out>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3930
msgid "File F<fish/destpaths.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3932
msgid "The file handles tab-completion of filesystem paths in guestfish."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3934
msgid "File F<fish/display.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3936
msgid ""
"The file implements the guestfish C<display> command, for displaying "
"graphical files (icons, images) in disk images."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3939
msgid "File F<fish/echo.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3941
msgid "The file implements the guestfish C<echo> command."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3943
msgid "File F<fish/edit.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3945
msgid "guestfish C<edit> command, suggested by Ján Ondrej."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3947
msgid "File F<fish/events.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3949
msgid ""
"This file implements the guestfish event-related commands, C<event>, "
"C<delete-event> and C<list-events>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:3952
msgid "File F<fish/fish.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3954
msgid ""
"guestfish, the guest filesystem shell.  This file contains the main loop and "
"utilities."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3957
msgid "Function C<fish/fish.c:parse_command_line>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3959
#, no-wrap
msgid ""
" static struct parsed_command\n"
" parse_command_line (char *buf, int *exit_on_error_rtn)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3962
msgid ""
"Parse a command string, splitting at whitespace, handling C<'!'>, C<'#'> "
"etc.  This destructively updates C<buf>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3965
msgid ""
"C<exit_on_error_rtn> is used to pass in the global C<exit_on_error> setting "
"and to return the local setting (eg. if the command begins with C<'-'>)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3969
msgid "Returns in C<parsed_command.status>:"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3975
msgid ""
"got a guestfish command (returned in C<cmd_rtn>/C<argv_rtn>/C<pipe_rtn>)"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3979
msgid "no guestfish command, but otherwise OK"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3983
msgid "an error"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3987
msgid "Function C<fish/fish.c:parse_quoted_string>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3989
#, no-wrap
msgid ""
" static ssize_t\n"
" parse_quoted_string (char *p)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:3992
msgid ""
"Parse double-quoted strings, replacing backslash escape sequences with the "
"true character.  Since the string is returned in place, the escapes must "
"make the string shorter."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:3996
msgid "Function C<fish/fish.c:execute_and_inline>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:3998
#, no-wrap
msgid ""
" static int\n"
" execute_and_inline (const char *cmd, int global_exit_on_error)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4001
msgid "Used to handle C<E<lt>!> (execute command and inline result)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4003
msgid "Function C<fish/fish.c:issue_command>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4005
#, no-wrap
msgid ""
" int\n"
" issue_command (const char *cmd, char *argv[], const char *pipecmd,\n"
"                int rc_exit_on_error_flag)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4009
msgid "Run a command."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4011
msgid ""
"C<rc_exit_on_error_flag> is the C<exit_on_error> flag that we pass to the "
"remote server (when issuing I<--remote> commands).  It does not cause "
"C<issue_command> itself to exit on error."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4015
msgid "Function C<fish/fish.c:extended_help_message>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4017
#, no-wrap
msgid ""
" void\n"
" extended_help_message (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4020
msgid ""
"Print an extended help message when the user types in an unknown command for "
"the first command issued.  A common case is the user doing:"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4024
#, no-wrap
msgid ""
"  guestfish disk.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4026
msgid ""
"expecting guestfish to open F<disk.img> (in fact, this tried to run a non-"
"existent command C<disk.img>)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4029
msgid "Function C<fish/fish.c:error_cb>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4031
#, no-wrap
msgid ""
" static void\n"
" error_cb (guestfs_h *g, void *data, const char *msg)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4034
msgid "Error callback.  This replaces the standard libguestfs error handler."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4036
msgid "Function C<fish/fish.c:free_n_strings>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4038
#, no-wrap
msgid ""
" static void\n"
" free_n_strings (char **str, size_t len)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4041
msgid "Free strings from a non-NULL terminated C<char**>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4043
msgid "Function C<fish/fish.c:decode_ps1>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4045
#, no-wrap
msgid ""
" static char *\n"
" decode_ps1 (const char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4048
msgid "Decode C<str> into the final printable prompt string."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4050
msgid "Function C<fish/fish.c:win_prefix>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4052
#, no-wrap
msgid ""
" char *\n"
" win_prefix (const char *path)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4055
msgid ""
"Resolve the special C<win:...> form for Windows-specific paths.  The "
"generated code calls this for all device or path arguments."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4058
msgid ""
"The function returns a newly allocated string, and the caller must free this "
"string; else display an error and return C<NULL>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4061
msgid "Function C<fish/fish.c:file_in>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4063
#, no-wrap
msgid ""
" char *\n"
" file_in (const char *arg)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4066
msgid "Resolve the special C<FileIn> paths (C<-> or C<-<<END> or filename)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4068
msgid ""
"The caller (F<fish/cmds.c>) will call C<free_file_in> after the command has "
"run which should clean up resources."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4071
msgid "Function C<fish/fish.c:file_out>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4073
#, no-wrap
msgid ""
" char *\n"
" file_out (const char *arg)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4076
msgid "Resolve the special C<FileOut> paths (C<-> or filename)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4078
msgid ""
"The caller (F<fish/cmds.c>) will call S<C<free (str)>> after the command has "
"run."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4081
msgid "Function C<fish/fish.c:progress_callback>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4083
#, no-wrap
msgid ""
" void\n"
" progress_callback (guestfs_h *g, void *data,\n"
"                    uint64_t event, int event_handle, int flags,\n"
"                    const char *buf, size_t buf_len,\n"
"                    const uint64_t *array, size_t array_len)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4089
msgid "Callback which displays a progress bar."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4091
msgid "File F<fish/glob.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4093
msgid "This file implements the guestfish C<glob> command."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4095
msgid "Function C<fish/glob.c:expand_devicename>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4097
#, no-wrap
msgid ""
" static char **\n"
" expand_devicename (guestfs_h *g, const char *device)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4100
msgid ""
"Glob-expand device patterns, such as C</dev/sd*> (L<https://bugzilla.redhat."
"com/635971>)."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4103
msgid ""
"There is no C<guestfs_glob_expand_device> function because the equivalent "
"can be implemented using functions like C<guestfs_list_devices>."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4107
msgid ""
"It's not immediately clear what it means to expand a pattern like C</dev/"
"sd*>.  Should that include device name translation? Should the result "
"include partitions as well as devices?"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4111
msgid ""
"Should C<\"/dev/\"> + C<\"*\"> return every possible device and filesystem? "
"How about VGs? LVs?"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4114
msgid ""
"To solve this what we do is build up a list of every device, partition, "
"etc., then glob against that list."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4117
msgid "Notes for future work (XXX):"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4123
msgid ""
"This doesn't handle device name translation.  It wouldn't be too hard to add."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4128
msgid "Could have an API function for returning all device-like things."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4132
msgid "Function C<fish/glob.c:add_strings_matching>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4134
#, no-wrap
msgid ""
" static int\n"
" add_strings_matching (char **pp, const char *glob,\n"
"                       char ***ret, size_t *size_r)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4138
msgid ""
"Using POSIX L<fnmatch(3)>, find strings in the list C<pp> which match "
"pattern C<glob>.  Add strings which match to the C<ret> array.  C<*size_r> "
"is the current size of the C<ret> array, which is updated with the new size."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4143
msgid "Function C<fish/glob.c:single_element_list>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4145
#, no-wrap
msgid ""
" static char **\n"
" single_element_list (const char *element)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4148
msgid "Return a single element list containing C<element>."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4150
msgid "File F<fish/help.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4152
msgid "The file implements the guestfish C<help> command."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4154
msgid "Function C<fish/help.c:display_help>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4156
#, no-wrap
msgid ""
" int\n"
" display_help (const char *cmd, size_t argc, char *argv[])\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4159
msgid "The C<help> command."
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4161
msgid ""
"This used to just list all commands, but that's not very useful.  Instead "
"display some useful context-sensitive help.  This could be improved if we "
"knew how many drives had been added already, and whether anything was "
"mounted."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4166
msgid "File F<fish/hexedit.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4168
msgid "This file implements the guestfish C<hexedit> command."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4170
msgid "File F<fish/lcd.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4172
msgid "Function C<fish/lcd.c:run_lcd>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4174
#, no-wrap
msgid ""
" int\n"
" run_lcd (const char *cmd, size_t argc, char *argv[])\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4177
msgid "guestfish C<lcd> command (similar to the C<lcd> command in BSD ftp)."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4179
msgid "File F<fish/man.c>"
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4181
msgid "Function C<fish/man.c:run_man>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4183
#, no-wrap
msgid ""
" int\n"
" run_man (const char *cmd, size_t argc, char *argv[])\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4186
msgid "guestfish C<man> command"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4188
msgid "File F<fish/more.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4190
msgid "This file implements the guestfish C<more> command."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4192
msgid "File F<fish/prep.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4194
msgid ""
"This file implements the guestfish I<-N> option for creating pre-prepared "
"disk layouts."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4197
msgid "File F<fish/rc.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4199
msgid "This file implements guestfish remote (command) support."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4201
msgid "Function C<fish/rc.c:rc_listen>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4203
#, no-wrap
msgid ""
" void\n"
" rc_listen (void)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4206
msgid "The remote control server (ie. C<guestfish --listen>)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4208
msgid "Function C<fish/rc.c:rc_remote>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4210
#, no-wrap
msgid ""
" int\n"
" rc_remote (int pid, const char *cmd, size_t argc, char *argv[],\n"
"            int exit_on_error)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4214
msgid "The remote control client (ie. C<guestfish --remote>)."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4216
msgid "File F<fish/reopen.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4218
msgid "This file implements the guestfish C<reopen> command."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4220
msgid "File F<fish/setenv.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4222
msgid "This file implements the guestfish C<setenv> and C<unsetenv> commands."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4225
msgid "File F<fish/supported.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4227
msgid "This file implements the guestfish C<supported> command."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4229
msgid "File F<fish/tilde.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4231
msgid ""
"This file implements tilde (C<~>) expansion of home directories in "
"L<guestfish(1)>."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4234
msgid "Function C<fish/tilde.c:try_tilde_expansion>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4236
#, no-wrap
msgid ""
" char *\n"
" try_tilde_expansion (char *str)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4239
msgid ""
"This is called from the script loop if we find a candidate for C<~username> "
"(tilde-expansion)."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4242
msgid "Function C<fish/tilde.c:expand_home>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4244
#, no-wrap
msgid ""
" static char *\n"
" expand_home (char *orig, const char *append)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4247
msgid "Return C<$HOME> + append string."
msgstr ""

#. type: =head4
#: ../docs/internal-documentation.pod:4249
msgid "Function C<fish/tilde.c:find_home_for_username>"
msgstr ""

#. type: verbatim
#: ../docs/internal-documentation.pod:4251
#, no-wrap
msgid ""
" static const char *\n"
" find_home_for_username (const char *username, size_t ulen)\n"
"\n"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4254
msgid ""
"Lookup C<username> (of length C<ulen>), return home directory if found, or "
"C<NULL> if not found."
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4257
msgid "File F<fish/time.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4259
msgid "This file implements the guestfish C<time> command."
msgstr ""

#. type: =head2
#: ../docs/internal-documentation.pod:4261
msgid "Subdirectory F<python>"
msgstr ""

#. type: =head3
#: ../docs/internal-documentation.pod:4263
msgid "File F<python/handle.c>"
msgstr ""

#. type: textblock
#: ../docs/internal-documentation.pod:4265
msgid ""
"This file contains a small number of functions that are written by hand.  "
"The majority of the bindings are generated (see F<python/actions-*.c>)."
msgstr ""

#. type: textblock
#: ../edit/virt-edit.pod:3
msgid "virt-edit - Edit a file in a virtual machine"
msgstr "virt-edit - Edit a file in a virtual machine"

#. type: verbatim
#: ../edit/virt-edit.pod:7
#, no-wrap
msgid ""
" virt-edit [--options] -d domname file [file ...]\n"
"\n"
msgstr ""
" virt-edit [--options] -d domname file [file ...]\n"
"\n"

#. type: verbatim
#: ../edit/virt-edit.pod:9
#, no-wrap
msgid ""
" virt-edit [--options] -a disk.img [-a disk.img ...] file [file ...]\n"
"\n"
msgstr ""
" virt-edit [--options] -a disk.img [-a disk.img ...] file [file ...]\n"
"\n"

#. type: verbatim
#: ../edit/virt-edit.pod:11
#, no-wrap
msgid ""
" virt-edit [-d domname|-a disk.img] file -e 'expr'\n"
"\n"
msgstr ""
" virt-edit [-d domname|-a disk.img] file -e 'expr'\n"
"\n"

#. type: verbatim
#: ../edit/virt-edit.pod:15
#, no-wrap
msgid ""
" virt-edit domname file\n"
"\n"
msgstr ""
" virt-edit domname file\n"
"\n"

#. type: verbatim
#: ../edit/virt-edit.pod:17 ../edit/virt-edit.pod:223
#, no-wrap
msgid ""
" virt-edit disk.img [disk.img ...] file\n"
"\n"
msgstr ""
" virt-edit disk.img [disk.img ...] file\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:21
msgid ""
"C<virt-edit> is a command line tool to edit C<file> where each C<file> "
"exists in the named virtual machine (or disk image)."
msgstr ""
"C<virt-edit> is a command line tool to edit C<file> where each C<file> "
"exists in the named virtual machine (or disk image)."

#. type: textblock
#: ../edit/virt-edit.pod:24
msgid ""
"Multiple filenames can be given, in which case they are each edited in "
"turn.  Each filename must be a full path, starting at the root directory "
"(starting with '/')."
msgstr ""
"Multiple filenames can be given, in which case they are each edited in "
"turn.  Each filename must be a full path, starting at the root directory "
"(starting with '/')."

#. type: textblock
#: ../edit/virt-edit.pod:28
msgid "If you want to just view a file, use L<virt-cat(1)>."
msgstr "If you want to just view a file, use L<virt-cat(1)>."

#. type: textblock
#: ../edit/virt-edit.pod:30
msgid ""
"For more complex cases you should look at the L<guestfish(1)> tool (see L</"
"USING GUESTFISH> below)."
msgstr ""
"For more complex cases you should look at the L<guestfish(1)> tool (see L</"
"USING GUESTFISH> below)."

#. type: textblock
#: ../edit/virt-edit.pod:33
msgid ""
"C<virt-edit> cannot be used to create a new file.  L<guestfish(1)> can do "
"that and much more."
msgstr ""
"C<virt-edit> cannot be used to create a new file.  L<guestfish(1)> can do "
"that and much more."

#. type: textblock
#: ../edit/virt-edit.pod:38
msgid "Edit the named files interactively:"
msgstr "Edit the named files interactively:"

#. type: verbatim
#: ../edit/virt-edit.pod:40
#, no-wrap
msgid ""
" virt-edit -d mydomain /boot/grub/grub.conf\n"
"\n"
msgstr ""
" virt-edit -d mydomain /boot/grub/grub.conf\n"
"\n"

#. type: verbatim
#: ../edit/virt-edit.pod:42
#, no-wrap
msgid ""
" virt-edit -d mydomain /etc/passwd\n"
"\n"
msgstr ""
" virt-edit -d mydomain /etc/passwd\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:44
msgid "For Windows guests, some Windows paths are understood:"
msgstr "For Windows guests, some Windows paths are understood:"

#. type: verbatim
#: ../edit/virt-edit.pod:46
#, no-wrap
msgid ""
" virt-edit -d mywindomain 'c:\\autoexec.bat'\n"
"\n"
msgstr ""
" virt-edit -d mywindomain 'c:\\autoexec.bat'\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:48
msgid ""
"If Perl is installed, you can also edit files non-interactively (see L</NON-"
"INTERACTIVE EDITING> below).  To change the init default level to 5:"
msgstr ""
"If Perl is installed, you can also edit files non-interactively (see L</NON-"
"INTERACTIVE EDITING> below).  To change the init default level to 5:"

#. type: verbatim
#: ../edit/virt-edit.pod:52
#, no-wrap
msgid ""
" virt-edit -d mydomain /etc/inittab -e 's/^id:.*/id:5:initdefault:/'\n"
"\n"
msgstr ""
" virt-edit -d mydomain /etc/inittab -e 's/^id:.*/id:5:initdefault:/'\n"
"\n"

#. type: =item
#: ../edit/virt-edit.pod:79
msgid "B<-b> EXTENSION"
msgstr ""

#. type: =item
#: ../edit/virt-edit.pod:81
msgid "B<--backup> EXTENSION"
msgstr ""

#. type: textblock
#: ../edit/virt-edit.pod:83
msgid ""
"Create a backup of the original file I<in the guest disk image>.  The backup "
"has the original filename with C<extension> added."
msgstr ""
"Create a backup of the original file I<in the guest disk image>.  The backup "
"has the original filename with C<extension> added."

#. type: textblock
#: ../edit/virt-edit.pod:86
msgid ""
"Usually the first character of C<extension> would be a dot C<.> so you would "
"write:"
msgstr ""
"Usually the first character of C<extension> would be a dot C<.> so you would "
"write:"

#. type: verbatim
#: ../edit/virt-edit.pod:89
#, no-wrap
msgid ""
" virt-edit -b .orig [etc]\n"
"\n"
msgstr ""
" virt-edit -b .orig [etc]\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:91
msgid "By default, no backup file is made."
msgstr "By default, no backup file is made."

#. type: textblock
#: ../edit/virt-edit.pod:102 ../tools/virt-list-filesystems:83
#: ../tools/virt-list-partitions:84 ../tools/virt-tar:131
#: ../tools/virt-win-reg:132
msgid ""
"If you specify guest block devices directly, then libvirt is not used at all."
msgstr ""
"If you specify guest block devices directly, then libvirt is not used at all."

#. type: =item
#: ../edit/virt-edit.pod:105
msgid "B<-d> GUEST"
msgstr ""

#. type: =item
#: ../edit/virt-edit.pod:107
msgid "B<--domain> GUEST"
msgstr ""

#. type: textblock
#: ../edit/virt-edit.pod:114
msgid ""
"When prompting for keys and passphrases, virt-edit 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 ""
"When prompting for keys and passphrases, virt-edit 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."

#. type: =item
#: ../edit/virt-edit.pod:119
msgid "B<-e> EXPR"
msgstr "B<-e> EXPR"

#. type: =item
#: ../edit/virt-edit.pod:121
msgid "B<--edit> EXPR"
msgstr ""

#. type: =item
#: ../edit/virt-edit.pod:123
msgid "B<--expr> EXPR"
msgstr "B<--expr> EXPR"

#. type: textblock
#: ../edit/virt-edit.pod:125
msgid ""
"Instead of launching the external editor, non-interactively apply the Perl "
"expression C<EXPR> to each line in the file.  See L</NON-INTERACTIVE "
"EDITING> below."
msgstr ""
"Instead of launching the external editor, non-interactively apply the Perl "
"expression C<EXPR> to each line in the file.  See L</NON-INTERACTIVE "
"EDITING> below."

#. type: verbatim
#: ../edit/virt-edit.pod:145
#, no-wrap
msgid ""
" virt-edit --format=raw -a disk.img file\n"
"\n"
msgstr ""
" virt-edit --format=raw -a disk.img file\n"
"\n"

#. type: verbatim
#: ../edit/virt-edit.pod:149
#, no-wrap
msgid ""
" virt-edit --format=raw -a disk.img --format -a another.img file\n"
"\n"
msgstr ""
" virt-edit --format=raw -a disk.img --format -a another.img file\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:221
msgid "Previous versions of virt-edit allowed you to write either:"
msgstr "Previous versions of virt-edit allowed you to write either:"

#. type: verbatim
#: ../edit/virt-edit.pod:227
#, no-wrap
msgid ""
" virt-edit guestname file\n"
"\n"
msgstr ""
" virt-edit guestname file\n"
"\n"

#. type: =head1
#: ../edit/virt-edit.pod:235
msgid "NON-INTERACTIVE EDITING"
msgstr "NON-INTERACTIVE EDITING"

#. type: textblock
#: ../edit/virt-edit.pod:237
msgid ""
"C<virt-edit> normally calls out to C<$EDITOR> (or vi) so the system "
"administrator can interactively edit the file."
msgstr ""
"C<virt-edit> normally calls out to C<$EDITOR> (or vi) so the system "
"administrator can interactively edit the file."

#. type: textblock
#: ../edit/virt-edit.pod:240
msgid ""
"There are two ways also to use C<virt-edit> from scripts in order to make "
"automated edits to files.  (Note that although you I<can> use C<virt-edit> "
"like this, it’s less error-prone to write scripts directly using the "
"libguestfs API and Augeas for configuration file editing.)"
msgstr ""

#. type: textblock
#: ../edit/virt-edit.pod:246
msgid ""
"The first method is to temporarily set C<$EDITOR> to any script or program "
"you want to run.  The script is invoked as C<$EDITOR tmpfile> and it should "
"update C<tmpfile> in place however it likes."
msgstr ""
"The first method is to temporarily set C<$EDITOR> to any script or program "
"you want to run.  The script is invoked as C<$EDITOR tmpfile> and it should "
"update C<tmpfile> in place however it likes."

#. type: textblock
#: ../edit/virt-edit.pod:250
msgid ""
"The second method is to use the I<-e> parameter of C<virt-edit> to run a "
"short Perl snippet in the style of L<sed(1)>.  For example to replace all "
"instances of C<foo> with C<bar> in a file:"
msgstr ""
"The second method is to use the I<-e> parameter of C<virt-edit> to run a "
"short Perl snippet in the style of L<sed(1)>.  For example to replace all "
"instances of C<foo> with C<bar> in a file:"

#. type: verbatim
#: ../edit/virt-edit.pod:254
#, no-wrap
msgid ""
" virt-edit -d domname filename -e 's/foo/bar/'\n"
"\n"
msgstr ""
" virt-edit -d domname filename -e 's/foo/bar/'\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:256
msgid ""
"The full power of Perl regular expressions can be used (see L<perlre(1)>).  "
"For example to delete root’s password you could do:"
msgstr ""

#. type: textblock
#: ../edit/virt-edit.pod:261
msgid ""
"What really happens is that the snippet is evaluated as a Perl expression "
"for each line of the file.  The line, including the final C<\\n>, is passed "
"in C<$_> and the expression should update C<$_> or leave it unchanged."
msgstr ""
"What really happens is that the snippet is evaluated as a Perl expression "
"for each line of the file.  The line, including the final C<\\n>, is passed "
"in C<$_> and the expression should update C<$_> or leave it unchanged."

#. type: textblock
#: ../edit/virt-edit.pod:266
msgid ""
"To delete a line, set C<$_> to the empty string.  For example, to delete the "
"C<apache> user account from the password file you can do:"
msgstr ""
"To delete a line, set C<$_> to the empty string.  For example, to delete the "
"C<apache> user account from the password file you can do:"

#. type: verbatim
#: ../edit/virt-edit.pod:269
#, no-wrap
msgid ""
" virt-edit -d mydomain /etc/passwd -e '$_ = \"\" if /^apache:/'\n"
"\n"
msgstr ""
" virt-edit -d mydomain /etc/passwd -e '$_ = \"\" if /^apache:/'\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:271
msgid ""
"To insert a line, prepend or append it to C<$_>.  However appending lines to "
"the end of the file is rather difficult this way since there is no concept "
"of \"last line of the file\" - your expression just doesn't get called "
"again.  You might want to use the first method (setting C<$EDITOR>) if you "
"want to do this."
msgstr ""
"To insert a line, prepend or append it to C<$_>.  However appending lines to "
"the end of the file is rather difficult this way since there is no concept "
"of \"last line of the file\" - your expression just doesn't get called "
"again.  You might want to use the first method (setting C<$EDITOR>) if you "
"want to do this."

#. type: textblock
#: ../edit/virt-edit.pod:277
msgid ""
"The variable C<$lineno> contains the current line number.  As is "
"traditional, the first line in the file is number C<1>."
msgstr ""
"The variable C<$lineno> contains the current line number.  As is "
"traditional, the first line in the file is number C<1>."

#. type: textblock
#: ../edit/virt-edit.pod:280
msgid ""
"The return value from the expression is ignored, but the expression may call "
"C<die> in order to abort the whole program, leaving the original file "
"untouched."
msgstr ""
"The return value from the expression is ignored, but the expression may call "
"C<die> in order to abort the whole program, leaving the original file "
"untouched."

#. type: textblock
#: ../edit/virt-edit.pod:284
msgid ""
"Remember when matching the end of a line that C<$_> may contain the final C<"
"\\n>, or (for DOS files) C<\\r\\n>, or if the file does not end with a "
"newline then neither of these.  Thus to match or substitute some text at the "
"end of a line, use this regular expression:"
msgstr ""
"Remember when matching the end of a line that C<$_> may contain the final C<"
"\\n>, or (for DOS files) C<\\r\\n>, or if the file does not end with a "
"newline then neither of these.  Thus to match or substitute some text at the "
"end of a line, use this regular expression:"

#. type: verbatim
#: ../edit/virt-edit.pod:289
#, no-wrap
msgid ""
" /some text(\\r?\\n)?$/\n"
"\n"
msgstr ""
" /some text(\\r?\\n)?$/\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:291
msgid ""
"Alternately, use the perl C<chomp> function, being careful not to chomp C<"
"$_> itself (since that would remove all newlines from the file):"
msgstr ""
"Alternately, use the perl C<chomp> function, being careful not to chomp C<"
"$_> itself (since that would remove all newlines from the file):"

#. type: verbatim
#: ../edit/virt-edit.pod:295
#, no-wrap
msgid ""
" my $m = $_; chomp $m; $m =~ /some text$/\n"
"\n"
msgstr ""
" my $m = $_; chomp $m; $m =~ /some text$/\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:299
msgid ""
"C<virt-edit> has a limited ability to understand Windows drive letters and "
"paths (eg. F<E:\\foo\\bar.txt>)."
msgstr ""

#. type: textblock
#: ../edit/virt-edit.pod:318
msgid ""
"The path is resolved case insensitively to locate the file that should be "
"edited."
msgstr ""
"The path is resolved case insensitively to locate the file that should be "
"edited."

#. type: textblock
#: ../edit/virt-edit.pod:339
msgid ""
"L<guestfish(1)> is a more powerful, lower level tool which you can use when "
"C<virt-edit> doesn't work."
msgstr ""
"L<guestfish(1)> is a more powerful, lower level tool which you can use when "
"C<virt-edit> doesn't work."

#. type: textblock
#: ../edit/virt-edit.pod:342
msgid "Using C<virt-edit> is approximately equivalent to doing:"
msgstr "Using C<virt-edit> is approximately equivalent to doing:"

#. type: verbatim
#: ../edit/virt-edit.pod:344
#, no-wrap
msgid ""
" guestfish --rw -i -d domname edit /file\n"
"\n"
msgstr ""
" guestfish --rw -i -d domname edit /file\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:346
msgid ""
"where C<domname> is the name of the libvirt guest, and F</file> is the full "
"path to the file."
msgstr ""

#. type: textblock
#: ../edit/virt-edit.pod:349
msgid ""
"The command above uses libguestfs’s guest inspection feature and so does not "
"work on guests that libguestfs cannot inspect, or on things like arbitrary "
"disk images that don't contain guests.  To edit a file on a disk image "
"directly, use:"
msgstr ""

#. type: verbatim
#: ../edit/virt-edit.pod:354
#, no-wrap
msgid ""
" guestfish --rw -a disk.img -m /dev/sda1 edit /file\n"
"\n"
msgstr ""
" guestfish --rw -a disk.img -m /dev/sda1 edit /file\n"
"\n"

#. type: textblock
#: ../edit/virt-edit.pod:356
msgid ""
"where F<disk.img> is the disk image, F</dev/sda1> is the filesystem within "
"the disk image to edit, and F</file> is the full path to the file."
msgstr ""

#. type: textblock
#: ../edit/virt-edit.pod:360
msgid ""
"C<virt-edit> cannot create new files.  Use the guestfish commands C<touch>, "
"C<write> or C<upload> instead:"
msgstr ""
"C<virt-edit> cannot create new files.  Use the guestfish commands C<touch>, "
"C<write> or C<upload> instead:"

#. type: verbatim
#: ../edit/virt-edit.pod:363
#, no-wrap
msgid ""
" guestfish --rw -i -d domname touch /newfile\n"
"\n"
msgstr ""
" guestfish --rw -i -d domname touch /newfile\n"
"\n"

#. type: verbatim
#: ../edit/virt-edit.pod:365
#, no-wrap
msgid ""
" guestfish --rw -i -d domname write /newfile \"new content\"\n"
"\n"
msgstr ""
" guestfish --rw -i -d domname write /newfile \"new content\"\n"
"\n"

#. type: verbatim
#: ../edit/virt-edit.pod:367
#, no-wrap
msgid ""
" guestfish --rw -i -d domname upload localfile /newfile\n"
"\n"
msgstr ""
" guestfish --rw -i -d domname upload localfile /newfile\n"
"\n"

#. type: =item
#: ../edit/virt-edit.pod:373
msgid "C<EDITOR>"
msgstr "C<EDITOR>"

#. type: textblock
#: ../edit/virt-edit.pod:375
msgid ""
"If set, this string is used as the editor.  It may contain arguments, eg. C<"
"\"emacs -nw\">"
msgstr ""
"If set, this string is used as the editor.  It may contain arguments, eg. C<"
"\"emacs -nw\">"

#. type: textblock
#: ../edit/virt-edit.pod:378
msgid "If not set, C<vi> is used."
msgstr "If not set, C<vi> is used."

#. type: textblock
#: ../edit/virt-edit.pod:389
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-"
"tar-in(1)>, L<http://libguestfs.org/>, L<perl(1)>, L<perlre(1)>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-copy-in(1)>, L<virt-"
"tar-in(1)>, L<http://libguestfs.org/>, L<perl(1)>, L<perlre(1)>."

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:3
msgid "guestfs-erlang - How to use libguestfs from Erlang"
msgstr "guestfs-erlang - How to use libguestfs from Erlang"

#. type: verbatim
#: ../erlang/examples/guestfs-erlang.pod:7
#, no-wrap
msgid ""
" {ok, G} = guestfs:create(),\n"
" ok = guestfs:add_drive_opts(G, Disk,\n"
"                             [{format, \"raw\"}, {readonly, true}]),\n"
" ok = guestfs:launch(G),\n"
" [Device] = guestfs:list_devices(G),\n"
" ok = guestfs:close(G).\n"
"\n"
msgstr ""
" {ok, G} = guestfs:create(),\n"
" ok = guestfs:add_drive_opts(G, Disk,\n"
"                             [{format, \"raw\"}, {readonly, true}]),\n"
" ok = guestfs:launch(G),\n"
" [Device] = guestfs:list_devices(G),\n"
" ok = guestfs:close(G).\n"
"\n"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:16
msgid ""
"This manual page documents how to call libguestfs from the Erlang "
"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 ""
"This manual page documents how to call libguestfs from the Erlang "
"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)>."

#. type: =head2
#: ../erlang/examples/guestfs-erlang.pod:21 ../lua/examples/guestfs-lua.pod:31
msgid "OPENING AND CLOSING THE HANDLE"
msgstr "OPENING AND CLOSING THE HANDLE"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:23
msgid ""
"The Erlang bindings are implemented using an external program called C<erl-"
"guestfs>.  This program must be on the current PATH, or else you should "
"specify the full path to the program:"
msgstr ""
"The Erlang bindings are implemented using an external program called C<erl-"
"guestfs>.  This program must be on the current PATH, or else you should "
"specify the full path to the program:"

#. type: verbatim
#: ../erlang/examples/guestfs-erlang.pod:27
#, no-wrap
msgid ""
" {ok, G} = guestfs:create().\n"
"\n"
msgstr ""
" {ok, G} = guestfs:create().\n"
"\n"

#. type: verbatim
#: ../erlang/examples/guestfs-erlang.pod:29
#, no-wrap
msgid ""
" {ok, G} = guestfs:create(\"/path/to/erl-guestfs\").\n"
"\n"
msgstr ""
" {ok, G} = guestfs:create(\"/path/to/erl-guestfs\").\n"
"\n"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:31
msgid "C<G> is the libguestfs handle which you should pass to other functions."
msgstr ""
"C<G> is the libguestfs handle which you should pass to other functions."

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:34
msgid "To close the handle:"
msgstr "To close the handle:"

#. type: verbatim
#: ../erlang/examples/guestfs-erlang.pod:36
#, no-wrap
msgid ""
" ok = guestfs:close(G).\n"
"\n"
msgstr ""
" ok = guestfs:close(G).\n"
"\n"

#. type: =head2
#: ../erlang/examples/guestfs-erlang.pod:38 ../lua/examples/guestfs-lua.pod:56
msgid "FUNCTIONS WITH OPTIONAL ARGUMENTS"
msgstr "FUNCTIONS WITH OPTIONAL ARGUMENTS"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:40
msgid ""
"For functions that take optional arguments, the first arguments are the non-"
"optional ones.  The last argument is a list of tuples supplying the "
"remaining optional arguments."
msgstr ""
"For functions that take optional arguments, the first arguments are the non-"
"optional ones.  The last argument is a list of tuples supplying the "
"remaining optional arguments."

#. type: verbatim
#: ../erlang/examples/guestfs-erlang.pod:44
#, no-wrap
msgid ""
" ok = guestfs:add_drive_opts(G, Disk,\n"
"                             [{format, \"raw\"}, {readonly, true}]).\n"
"\n"
msgstr ""
" ok = guestfs:add_drive_opts(G, Disk,\n"
"                             [{format, \"raw\"}, {readonly, true}]).\n"
"\n"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:47
msgid "If the last argument would be an empty list, you can also omit it:"
msgstr "If the last argument would be an empty list, you can also omit it:"

#. type: verbatim
#: ../erlang/examples/guestfs-erlang.pod:49
#, no-wrap
msgid ""
" ok = guestfs:add_drive_opts(G, Disk).\n"
"\n"
msgstr ""
" ok = guestfs:add_drive_opts(G, Disk).\n"
"\n"

#. type: =head2
#: ../erlang/examples/guestfs-erlang.pod:51
msgid "RETURN VALUES AND ERRORS"
msgstr "RETURN VALUES AND ERRORS"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:53
msgid ""
"On success, most functions return a C<Result> term (which could be a list, "
"string, tuple etc.).  If there is nothing for the function to return, then "
"the atom C<ok> is returned."
msgstr ""
"On success, most functions return a C<Result> term (which could be a list, "
"string, tuple etc.).  If there is nothing for the function to return, then "
"the atom C<ok> is returned."

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:57
msgid "On error, you would see one of the following tuples:"
msgstr "On error, you would see one of the following tuples:"

#. type: =item
#: ../erlang/examples/guestfs-erlang.pod:61
msgid "C<{error, Msg, Errno}>"
msgstr "C<{error, Msg, Errno}>"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:63
msgid "This indicates an ordinary error from the function."
msgstr "This indicates an ordinary error from the function."

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:65
msgid ""
"C<Msg> is the error message (string) and C<Errno> is the Unix error "
"(integer)."
msgstr ""
"C<Msg> is the error message (string) and C<Errno> is the Unix error "
"(integer)."

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:68
msgid "C<Errno> can be zero.  See L<guestfs(3)/guestfs_last_errno>."
msgstr "C<Errno> can be zero.  See L<guestfs(3)/guestfs_last_errno>."

#. type: =item
#: ../erlang/examples/guestfs-erlang.pod:70
msgid "C<{unknown, Function}>"
msgstr "C<{unknown, Function}>"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:72
msgid ""
"This indicates that the function you called is not known.  Generally this "
"means you are mixing C<erl-guestfs> from another version of libguestfs, "
"which you should not do."
msgstr ""
"This indicates that the function you called is not known.  Generally this "
"means you are mixing C<erl-guestfs> from another version of libguestfs, "
"which you should not do."

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:76
msgid "C<Function> is the name of the unknown function."
msgstr "C<Function> is the name of the unknown function."

#. type: =item
#: ../erlang/examples/guestfs-erlang.pod:78
msgid "C<{unknownarg, Arg}>"
msgstr "C<{unknownarg, Arg}>"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:80
msgid ""
"This indicates that you called a function with optional arguments, with an "
"unknown argument name."
msgstr ""
"This indicates that you called a function with optional arguments, with an "
"unknown argument name."

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:83
msgid "C<Arg> is the name of the unknown argument."
msgstr "C<Arg> is the name of the unknown argument."

#. type: =head1
#: ../erlang/examples/guestfs-erlang.pod:87
#: ../golang/examples/guestfs-golang.pod:68
#: ../java/examples/guestfs-java.pod:151 ../lua/examples/guestfs-lua.pod:128
#: ../perl/examples/guestfs-perl.pod:30
#: ../python/examples/guestfs-python.pod:55
#: ../ruby/examples/guestfs-ruby.pod:26
msgid "EXAMPLE 1: CREATE A DISK IMAGE"
msgstr "EXAMPLE 1: CREATE A DISK IMAGE"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:89
#: ../golang/examples/guestfs-golang.pod:70
#: ../java/examples/guestfs-java.pod:153 ../lua/examples/guestfs-lua.pod:130
#: ../perl/examples/guestfs-perl.pod:32
#: ../python/examples/guestfs-python.pod:57
#: ../ruby/examples/guestfs-ruby.pod:28
msgid "@EXAMPLE1@"
msgstr "@EXAMPLE1@"

#. type: =head1
#: ../erlang/examples/guestfs-erlang.pod:91
#: ../golang/examples/guestfs-golang.pod:72
#: ../java/examples/guestfs-java.pod:155 ../lua/examples/guestfs-lua.pod:132
#: ../perl/examples/guestfs-perl.pod:34
#: ../python/examples/guestfs-python.pod:59
#: ../ruby/examples/guestfs-ruby.pod:30
msgid "EXAMPLE 2: INSPECT A VIRTUAL MACHINE DISK IMAGE"
msgstr "EXAMPLE 2: INSPECT A VIRTUAL MACHINE DISK IMAGE"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:93
#: ../golang/examples/guestfs-golang.pod:74
#: ../java/examples/guestfs-java.pod:157 ../lua/examples/guestfs-lua.pod:134
#: ../perl/examples/guestfs-perl.pod:36
#: ../python/examples/guestfs-python.pod:61
#: ../ruby/examples/guestfs-ruby.pod:32
msgid "@EXAMPLE2@"
msgstr "@EXAMPLE2@"

#. type: textblock
#: ../erlang/examples/guestfs-erlang.pod:97
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-gobject(3)>, L<guestfs-"
"golang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, "
"L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-"
"ruby(3)>, L<http://www.erlang.org/>.  L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../examples/guestfs-examples.pod:3
msgid "guestfs-examples - Examples of using libguestfs from C"
msgstr "guestfs-examples - Examples of using libguestfs from C"

#. type: verbatim
#: ../examples/guestfs-examples.pod:7 ../lib/guestfs.pod:7
#, no-wrap
msgid ""
" #include <guestfs.h>\n"
" \n"
msgstr ""
" #include <guestfs.h>\n"
" \n"

#. type: verbatim
#: ../examples/guestfs-examples.pod:9
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
" guestfs_add_drive_ro (g, \"disk.img\");\n"
" guestfs_launch (g);\n"
"\n"
msgstr ""
" guestfs_h *g = guestfs_create ();\n"
" guestfs_add_drive_ro (g, \"disk.img\");\n"
" guestfs_launch (g);\n"
"\n"

#. type: verbatim
#: ../examples/guestfs-examples.pod:13 ../lib/guestfs.pod:18
#, no-wrap
msgid ""
" cc prog.c -o prog -lguestfs\n"
"or:\n"
" cc prog.c -o prog `pkg-config libguestfs --cflags --libs`\n"
"\n"
msgstr ""
" cc prog.c -o prog -lguestfs\n"
"or:\n"
" cc prog.c -o prog `pkg-config libguestfs --cflags --libs`\n"
"\n"

#. type: textblock
#: ../examples/guestfs-examples.pod:19
msgid ""
"This manual page contains examples of calling libguestfs from the C "
"programming language.  If you are not familiar with using libguestfs, you "
"also need to read L<guestfs(3)>."
msgstr ""
"This manual page contains examples of calling libguestfs from the C "
"programming language.  If you are not familiar with using libguestfs, you "
"also need to read L<guestfs(3)>."

#. type: =head1
#: ../examples/guestfs-examples.pod:23 ../ocaml/examples/guestfs-ocaml.pod:68
msgid "EXAMPLE: CREATE A DISK IMAGE"
msgstr "EXAMPLE: CREATE A DISK IMAGE"

#. type: textblock
#: ../examples/guestfs-examples.pod:25 ../ocaml/examples/guestfs-ocaml.pod:70
msgid "@CREATE_DISK@"
msgstr "@CREATE_DISK@"

#. type: =head1
#: ../examples/guestfs-examples.pod:27 ../ocaml/examples/guestfs-ocaml.pod:72
msgid "EXAMPLE: INSPECT A VIRTUAL MACHINE DISK IMAGE"
msgstr "EXAMPLE: INSPECT A VIRTUAL MACHINE DISK IMAGE"

#. type: textblock
#: ../examples/guestfs-examples.pod:29 ../ocaml/examples/guestfs-ocaml.pod:74
msgid "@INSPECT_VM@"
msgstr "@INSPECT_VM@"

#. type: =head1
#: ../examples/guestfs-examples.pod:31 ../ocaml/examples/guestfs-ocaml.pod:76
msgid "EXAMPLE: ENABLE DEBUGGING AND LOGGING"
msgstr "EXAMPLE: ENABLE DEBUGGING AND LOGGING"

#. type: textblock
#: ../examples/guestfs-examples.pod:33 ../ocaml/examples/guestfs-ocaml.pod:78
msgid "@DEBUG_LOGGING@"
msgstr "@DEBUG_LOGGING@"

#. type: =head1
#: ../examples/guestfs-examples.pod:35
msgid "EXAMPLE: DISPLAY THE OPERATING SYSTEM ICON OF A GUEST"
msgstr "EXAMPLE: DISPLAY THE OPERATING SYSTEM ICON OF A GUEST"

#. type: textblock
#: ../examples/guestfs-examples.pod:37
msgid "@DISPLAY_ICON@"
msgstr "@DISPLAY_ICON@"

#. type: =head1
#: ../examples/guestfs-examples.pod:39
msgid "EXAMPLE: THE LIBVIRT AUTHENTICATION API"
msgstr "EXAMPLE: THE LIBVIRT AUTHENTICATION API"

#. type: textblock
#: ../examples/guestfs-examples.pod:41
msgid "@LIBVIRT_AUTH@"
msgstr "@LIBVIRT_AUTH@"

#. type: =head1
#: ../examples/guestfs-examples.pod:43
msgid "EXAMPLE: THE MOUNT LOCAL API"
msgstr "EXAMPLE: THE MOUNT LOCAL API"

#. type: textblock
#: ../examples/guestfs-examples.pod:45
msgid "@MOUNT_LOCAL@"
msgstr "@MOUNT_LOCAL@"

#. type: =head1
#: ../examples/guestfs-examples.pod:47
msgid "EXAMPLE: MULTIPLE HANDLES AND THREADS"
msgstr "EXAMPLE: MULTIPLE HANDLES AND THREADS"

#. type: textblock
#: ../examples/guestfs-examples.pod:49
msgid "@COPY_OVER@"
msgstr "@COPY_OVER@"

#. type: =head1
#: ../examples/guestfs-examples.pod:51
msgid "EXAMPLE: FETCH DHCP ADDRESS FROM A GUEST"
msgstr "EXAMPLE: FETCH DHCP ADDRESS FROM A GUEST"

#. type: textblock
#: ../examples/guestfs-examples.pod:53
msgid "@VIRT_DHCP_ADDRESS@"
msgstr "@VIRT_DHCP_ADDRESS@"

#. type: textblock
#: ../examples/guestfs-examples.pod:57
msgid ""
"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-golang(3)>, L<guestfs-"
"java(3)>, L<guestfs-lua(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/>."
msgstr ""
"L<guestfs(3)>, L<guestfs-erlang(3)>, L<guestfs-golang(3)>, L<guestfs-"
"java(3)>, L<guestfs-lua(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/>."

#. type: verbatim
#: ../fish/guestfish-actions.pod:3 ../fish/guestfish-commands.pod:3
#: ../fish/guestfish-prepopts.pod:3
#, no-wrap
msgid ""
"libguestfs generated file\n"
" WARNING: THIS FILE IS GENERATED FROM THE FOLLOWING FILES:\n"
"          generator/fish.ml\n"
"          and from the code in the generator/ subdirectory.\n"
" ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:27
msgid "acl-delete-def-file"
msgstr "acl-delete-def-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:29
#, no-wrap
msgid ""
" acl-delete-def-file dir\n"
"\n"
msgstr ""
" acl-delete-def-file dir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:31 ../lib/guestfs-actions.pod:33
msgid ""
"This function deletes the default POSIX Access Control List (ACL)  attached "
"to directory C<dir>."
msgstr ""
"This function deletes the default POSIX Access Control List (ACL)  attached "
"to directory C<dir>."

#. type: textblock
#: ../fish/guestfish-actions.pod:34 ../fish/guestfish-actions.pod:60
#: ../fish/guestfish-actions.pod:103
msgid ""
"This command depends on the feature C<acl>.  See also L</feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:37
msgid "acl-get-file"
msgstr "acl-get-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:39
#, no-wrap
msgid ""
" acl-get-file path acltype\n"
"\n"
msgstr ""
" acl-get-file path acltype\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:41 ../lib/guestfs-actions.pod:50
msgid ""
"This function returns the POSIX Access Control List (ACL) attached to "
"C<path>.  The ACL is returned in \"long text form\" (see L<acl(5)>)."
msgstr ""
"This function returns the POSIX Access Control List (ACL) attached to "
"C<path>.  The ACL is returned in \"long text form\" (see L<acl(5)>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:44 ../fish/guestfish-actions.pod:70
#: ../lib/guestfs-actions.pod:53 ../lib/guestfs-actions.pod:88
msgid "The C<acltype> parameter may be:"
msgstr "The C<acltype> parameter may be:"

#. type: =item
#: ../fish/guestfish-actions.pod:48 ../fish/guestfish-actions.pod:74
#: ../lib/guestfs-actions.pod:57 ../lib/guestfs-actions.pod:92
msgid "C<access>"
msgstr "C<access>"

#. type: textblock
#: ../fish/guestfish-actions.pod:50 ../lib/guestfs-actions.pod:59
msgid ""
"Return the ordinary (access) ACL for any file, directory or other filesystem "
"object."
msgstr ""
"Return the ordinary (access) ACL for any file, directory or other filesystem "
"object."

#. type: =item
#: ../fish/guestfish-actions.pod:53 ../fish/guestfish-actions.pod:79
#: ../lib/guestfs-actions.pod:62 ../lib/guestfs-actions.pod:97
msgid "C<default>"
msgstr "C<default>"

#. type: textblock
#: ../fish/guestfish-actions.pod:55 ../lib/guestfs-actions.pod:64
msgid ""
"Return the default ACL.  Normally this only makes sense if C<path> is a "
"directory."
msgstr ""
"Return the default ACL.  Normally this only makes sense if C<path> is a "
"directory."

#. type: =head2
#: ../fish/guestfish-actions.pod:63
msgid "acl-set-file"
msgstr "acl-set-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:65
#, no-wrap
msgid ""
" acl-set-file path acltype acl\n"
"\n"
msgstr ""
" acl-set-file path acltype acl\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:67 ../lib/guestfs-actions.pod:85
msgid ""
"This function sets the POSIX Access Control List (ACL) attached to C<path>."
msgstr ""
"This function sets the POSIX Access Control List (ACL) attached to C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:76 ../lib/guestfs-actions.pod:94
msgid ""
"Set the ordinary (access) ACL for any file, directory or other filesystem "
"object."
msgstr ""
"Set the ordinary (access) ACL for any file, directory or other filesystem "
"object."

#. type: textblock
#: ../fish/guestfish-actions.pod:81 ../lib/guestfs-actions.pod:99
msgid ""
"Set the default ACL.  Normally this only makes sense if C<path> is a "
"directory."
msgstr ""
"Set the default ACL.  Normally this only makes sense if C<path> is a "
"directory."

#. type: textblock
#: ../fish/guestfish-actions.pod:86 ../lib/guestfs-actions.pod:104
msgid ""
"The C<acl> parameter is the new ACL in either \"long text form\" or \"short "
"text form\" (see L<acl(5)>).  The new ACL completely replaces any previous "
"ACL on the file.  The ACL must contain the full Unix permissions (eg. C<u::"
"rwx,g::rx,o::rx>)."
msgstr ""
"The C<acl> parameter is the new ACL in either \"long text form\" or \"short "
"text form\" (see L<acl(5)>).  The new ACL completely replaces any previous "
"ACL on the file.  The ACL must contain the full Unix permissions (eg. C<u::"
"rwx,g::rx,o::rx>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:91 ../lib/guestfs-actions.pod:109
msgid ""
"If you are specifying individual users or groups, then the mask field is "
"also required (eg. C<m::rwx>), followed by the C<u:I<ID>:...> and/or C<g:"
"I<ID>:...> field(s).  A full ACL string might therefore look like this:"
msgstr ""
"If you are specifying individual users or groups, then the mask field is "
"also required (eg. C<m::rwx>), followed by the C<u:I<ID>:...> and/or C<g:"
"I<ID>:...> field(s).  A full ACL string might therefore look like this:"

#. type: verbatim
#: ../fish/guestfish-actions.pod:96 ../lib/guestfs-actions.pod:114
#, no-wrap
msgid ""
" u::rwx,g::rwx,o::rwx,m::rwx,u:500:rwx,g:500:rwx\n"
" \\ Unix permissions / \\mask/ \\      ACL        /\n"
"\n"
msgstr ""
" u::rwx,g::rwx,o::rwx,m::rwx,u:500:rwx,g:500:rwx\n"
" \\ Unix permissions / \\mask/ \\      ACL        /\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:99
msgid ""
"You should use numeric UIDs and GIDs.  To map usernames and groupnames to "
"the correct numeric ID in the context of the guest, use the Augeas functions "
"(see L</aug-init>)."
msgstr ""
"You should use numeric UIDs and GIDs.  To map usernames and groupnames to "
"the correct numeric ID in the context of the guest, use the Augeas functions "
"(see L</aug-init>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:106
msgid "add-cdrom"
msgstr "add-cdrom"

#. type: verbatim
#: ../fish/guestfish-actions.pod:108
#, no-wrap
msgid ""
" add-cdrom filename\n"
"\n"
msgstr ""
" add-cdrom filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:110 ../lib/guestfs-actions.pod:141
msgid "This function adds a virtual CD-ROM disk image to the guest."
msgstr "This function adds a virtual CD-ROM disk image to the guest."

#. type: textblock
#: ../fish/guestfish-actions.pod:112
msgid ""
"The image is added as read-only drive, so this function is equivalent of L</"
"add-drive-ro>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:115
msgid ""
"I<This function is deprecated.> In new code, use the L</add-drive-ro> call "
"instead."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:118 ../fish/guestfish-actions.pod:514
#: ../fish/guestfish-actions.pod:544 ../fish/guestfish-actions.pod:1006
#: ../fish/guestfish-actions.pod:1904 ../fish/guestfish-actions.pod:1980
#: ../fish/guestfish-actions.pod:2258 ../fish/guestfish-actions.pod:2286
#: ../fish/guestfish-actions.pod:2303 ../fish/guestfish-actions.pod:2378
#: ../fish/guestfish-actions.pod:2424 ../fish/guestfish-actions.pod:2441
#: ../fish/guestfish-actions.pod:2982 ../fish/guestfish-actions.pod:3043
#: ../fish/guestfish-actions.pod:3183 ../fish/guestfish-actions.pod:3197
#: ../fish/guestfish-actions.pod:3323 ../fish/guestfish-actions.pod:3346
#: ../fish/guestfish-actions.pod:3407 ../fish/guestfish-actions.pod:3531
#: ../fish/guestfish-actions.pod:3825 ../fish/guestfish-actions.pod:4251
#: ../fish/guestfish-actions.pod:4624 ../fish/guestfish-actions.pod:4640
#: ../fish/guestfish-actions.pod:4656 ../fish/guestfish-actions.pod:4759
#: ../fish/guestfish-actions.pod:5208 ../fish/guestfish-actions.pod:5544
#: ../fish/guestfish-actions.pod:5633 ../fish/guestfish-actions.pod:5658
#: ../fish/guestfish-actions.pod:6270 ../fish/guestfish-actions.pod:6286
#: ../fish/guestfish-actions.pod:6302 ../fish/guestfish-actions.pod:6321
#: ../fish/guestfish-actions.pod:6334 ../fish/guestfish-actions.pod:6347
#: ../fish/guestfish-actions.pod:6434 ../fish/guestfish-actions.pod:6621
#: ../fish/guestfish-actions.pod:6634 ../fish/guestfish-actions.pod:7016
#: ../fish/guestfish-actions.pod:8041 ../fish/guestfish-actions.pod:8141
#: ../fish/guestfish-actions.pod:8193 ../fish/guestfish-actions.pod:8212
#: ../fish/guestfish-actions.pod:8466 ../fish/guestfish-actions.pod:8508
#: ../fish/guestfish-actions.pod:8610 ../fish/guestfish-actions.pod:8660
#: ../fish/guestfish-actions.pod:8680 ../fish/guestfish-actions.pod:8699
#: ../fish/guestfish-actions.pod:8737 ../fish/guestfish-actions.pod:8804
#: ../fish/guestfish-actions.pod:9132 ../fish/guestfish-actions.pod:9148
#: ../fish/guestfish-actions.pod:9286 ../fish/guestfish-actions.pod:9305
#: ../fish/guestfish-actions.pod:9690 ../fish/guestfish-actions.pod:9776
#: ../fish/guestfish-actions.pod:9922 ../fish/guestfish-actions.pod:9939
#: ../fish/guestfish-actions.pod:10017 ../fish/guestfish-actions.pod:10034
#: ../fish/guestfish-actions.pod:10053 ../fish/guestfish-actions.pod:10070
#: ../fish/guestfish-actions.pod:10087 ../lib/guestfs-actions.pod:137
#: ../lib/guestfs-actions.pod:641 ../lib/guestfs-actions.pod:712
#: ../lib/guestfs-actions.pod:1496 ../lib/guestfs-actions.pod:3325
#: ../lib/guestfs-actions.pod:3465 ../lib/guestfs-actions.pod:3973
#: ../lib/guestfs-actions.pod:4013 ../lib/guestfs-actions.pod:4039
#: ../lib/guestfs-actions.pod:4146 ../lib/guestfs-actions.pod:4214
#: ../lib/guestfs-actions.pod:4240 ../lib/guestfs-actions.pod:4953
#: ../lib/guestfs-actions.pod:5053 ../lib/guestfs-actions.pod:5211
#: ../lib/guestfs-actions.pod:5232 ../lib/guestfs-actions.pod:5432
#: ../lib/guestfs-actions.pod:5465 ../lib/guestfs-actions.pod:5578
#: ../lib/guestfs-actions.pod:5828 ../lib/guestfs-actions.pod:6296
#: ../lib/guestfs-actions.pod:6811 ../lib/guestfs-actions.pod:7358
#: ../lib/guestfs-actions.pod:7380 ../lib/guestfs-actions.pod:7402
#: ../lib/guestfs-actions.pod:7423 ../lib/guestfs-actions.pod:8390
#: ../lib/guestfs-actions.pod:8912 ../lib/guestfs-actions.pod:9062
#: ../lib/guestfs-actions.pod:9090 ../lib/guestfs-actions.pod:10074
#: ../lib/guestfs-actions.pod:10102 ../lib/guestfs-actions.pod:10127
#: ../lib/guestfs-actions.pod:10153 ../lib/guestfs-actions.pod:10177
#: ../lib/guestfs-actions.pod:10198 ../lib/guestfs-actions.pod:10347
#: ../lib/guestfs-actions.pod:10705 ../lib/guestfs-actions.pod:10729
#: ../lib/guestfs-actions.pod:11465 ../lib/guestfs-actions.pod:13122
#: ../lib/guestfs-actions.pod:13243 ../lib/guestfs-actions.pod:13352
#: ../lib/guestfs-actions.pod:13377 ../lib/guestfs-actions.pod:13674
#: ../lib/guestfs-actions.pod:13733 ../lib/guestfs-actions.pod:13874
#: ../lib/guestfs-actions.pod:13925 ../lib/guestfs-actions.pod:13966
#: ../lib/guestfs-actions.pod:13997 ../lib/guestfs-actions.pod:14057
#: ../lib/guestfs-actions.pod:14159 ../lib/guestfs-actions.pod:14734
#: ../lib/guestfs-actions.pod:14755 ../lib/guestfs-actions.pod:14970
#: ../lib/guestfs-actions.pod:14994 ../lib/guestfs-actions.pod:15626
#: ../lib/guestfs-actions.pod:15659 ../lib/guestfs-actions.pod:15784
#: ../lib/guestfs-actions.pod:16104 ../lib/guestfs-actions.pod:16130
#: ../lib/guestfs-actions.pod:16256 ../lib/guestfs-actions.pod:16282
#: ../lib/guestfs-actions.pod:16308 ../lib/guestfs-actions.pod:16335
#: ../lib/guestfs-actions.pod:16361
msgid ""
"Deprecated functions will not be removed from the API, but the fact that "
"they are deprecated indicates that there are problems with correct use of "
"these functions."
msgstr ""
"Deprecated functions will not be removed from the API, but the fact that "
"they are deprecated indicates that there are problems with correct use of "
"these functions."

#. type: =head2
#: ../fish/guestfish-actions.pod:122
msgid "add-domain"
msgstr "add-domain"

#. type: =head2
#: ../fish/guestfish-actions.pod:124
msgid "domain"
msgstr "domain"

#. type: verbatim
#: ../fish/guestfish-actions.pod:126
#, no-wrap
msgid ""
" add-domain dom [libvirturi:..] [readonly:true|false] [iface:..] [live:true|false] [allowuuid:true|false] [readonlydisk:..] [cachemode:..] [discard:..] [copyonread:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:128
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 L</add-drive-opts> on each one."
msgstr ""
"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 L</add-drive-opts> on each one."

#. type: textblock
#: ../fish/guestfish-actions.pod:133 ../lib/guestfs-actions.pod:177
#: ../lib/guestfs-actions.pod:750
msgid ""
"The number of disks added is returned.  This operation is atomic: if an "
"error is returned, then no disks are added."
msgstr ""
"The number of disks added is returned.  This operation is atomic: if an "
"error is returned, then no disks are added."

#. type: textblock
#: ../fish/guestfish-actions.pod:136 ../lib/guestfs-actions.pod:180
#: ../lib/guestfs-actions.pod:753
msgid ""
"This function does some minimal checks to make sure the libvirt domain is "
"not running (unless C<readonly> is true).  In a future version we will try "
"to acquire the libvirt lock on each disk."
msgstr ""
"This function does some minimal checks to make sure the libvirt domain is "
"not running (unless C<readonly> is true).  In a future version we will try "
"to acquire the libvirt lock on each disk."

#. type: textblock
#: ../fish/guestfish-actions.pod:140 ../lib/guestfs-actions.pod:184
#: ../lib/guestfs-actions.pod:757
#, fuzzy
#| msgid ""
#| "Disks must be accessible locally.  This often means that adding disks "
#| "from a remote libvirt connection (see L<http://libvirt.org/remote.html>)  "
#| "will fail unless those disks are accessible via the same device path "
#| "locally too."
msgid ""
"Disks must be accessible locally.  This often means that adding disks from a "
"remote libvirt connection (see L<https://libvirt.org/remote.html>)  will "
"fail unless those disks are accessible via the same device path locally too."
msgstr ""
"Disks must be accessible locally.  This often means that adding disks from a "
"remote libvirt connection (see L<http://libvirt.org/remote.html>)  will fail "
"unless those disks are accessible via the same device path locally too."

#. type: textblock
#: ../fish/guestfish-actions.pod:145 ../lib/guestfs-actions.pod:189
#, fuzzy
#| msgid ""
#| "The optional C<libvirturi> parameter sets the libvirt URI (see L<http://"
#| "libvirt.org/uri.html>).  If this is not set then we connect to the "
#| "default libvirt URI (or one set through an environment variable, see the "
#| "libvirt documentation for full details)."
msgid ""
"The optional C<libvirturi> parameter sets the libvirt URI (see L<https://"
"libvirt.org/uri.html>).  If this is not set then we connect to the default "
"libvirt URI (or one set through an environment variable, see the libvirt "
"documentation for full details)."
msgstr ""
"The optional C<libvirturi> parameter sets the libvirt URI (see L<http://"
"libvirt.org/uri.html>).  If this is not set then we connect to the default "
"libvirt URI (or one set through an environment variable, see the libvirt "
"documentation for full details)."

#. type: textblock
#: ../fish/guestfish-actions.pod:151 ../lib/guestfs-actions.pod:195
#: ../lib/guestfs-actions.pod:762
msgid ""
"The optional C<live> flag controls whether this call will try to connect to "
"a running virtual machine C<guestfsd> process if it sees a suitable "
"E<lt>channelE<gt> element in the libvirt XML definition.  The default (if "
"the flag is omitted) is never to try.  See L<guestfs(3)/ATTACHING TO RUNNING "
"DAEMONS> for more information."
msgstr ""
"The optional C<live> flag controls whether this call will try to connect to "
"a running virtual machine C<guestfsd> process if it sees a suitable "
"E<lt>channelE<gt> element in the libvirt XML definition.  The default (if "
"the flag is omitted) is never to try.  See L<guestfs(3)/ATTACHING TO RUNNING "
"DAEMONS> for more information."

#. type: textblock
#: ../fish/guestfish-actions.pod:158 ../lib/guestfs-actions.pod:202
msgid ""
"If the C<allowuuid> flag is true (default is false) then a UUID I<may> be "
"passed instead of the domain name.  The C<dom> string is treated as a UUID "
"first and looked up, and if that lookup fails then we treat C<dom> as a name "
"as usual."
msgstr ""
"If the C<allowuuid> flag is true (default is false) then a UUID I<may> be "
"passed instead of the domain name.  The C<dom> string is treated as a UUID "
"first and looked up, and if that lookup fails then we treat C<dom> as a name "
"as usual."

#. type: textblock
#: ../fish/guestfish-actions.pod:163 ../lib/guestfs-actions.pod:207
msgid ""
"The optional C<readonlydisk> parameter controls what we do for disks which "
"are marked E<lt>readonly/E<gt> in the libvirt XML.  Possible values are:"
msgstr ""
"The optional C<readonlydisk> parameter controls what we do for disks which "
"are marked E<lt>readonly/E<gt> in the libvirt XML.  Possible values are:"

#. type: =item
#: ../fish/guestfish-actions.pod:169 ../lib/guestfs-actions.pod:213
msgid "readonlydisk = \"error\""
msgstr "readonlydisk = \"error\""

#. type: textblock
#: ../fish/guestfish-actions.pod:171 ../fish/guestfish-actions.pod:182
#: ../fish/guestfish-actions.pod:193 ../lib/guestfs-actions.pod:215
#: ../lib/guestfs-actions.pod:226 ../lib/guestfs-actions.pod:237
msgid "If C<readonly> is false:"
msgstr "If C<readonly> is false:"

#. type: textblock
#: ../fish/guestfish-actions.pod:173 ../lib/guestfs-actions.pod:217
msgid ""
"The whole call is aborted with an error if any disk with the E<lt>readonly/"
"E<gt> flag is found."
msgstr ""
"The whole call is aborted with an error if any disk with the E<lt>readonly/"
"E<gt> flag is found."

#. type: textblock
#: ../fish/guestfish-actions.pod:176 ../fish/guestfish-actions.pod:187
#: ../fish/guestfish-actions.pod:197 ../lib/guestfs-actions.pod:220
#: ../lib/guestfs-actions.pod:231 ../lib/guestfs-actions.pod:241
msgid "If C<readonly> is true:"
msgstr "If C<readonly> is true:"

#. type: textblock
#: ../fish/guestfish-actions.pod:178 ../fish/guestfish-actions.pod:189
#: ../fish/guestfish-actions.pod:199 ../lib/guestfs-actions.pod:222
#: ../lib/guestfs-actions.pod:233 ../lib/guestfs-actions.pod:243
msgid "Disks with the E<lt>readonly/E<gt> flag are added read-only."
msgstr "Disks with the E<lt>readonly/E<gt> flag are added read-only."

#. type: =item
#: ../fish/guestfish-actions.pod:180 ../lib/guestfs-actions.pod:224
msgid "readonlydisk = \"read\""
msgstr "readonlydisk = \"read\""

#. type: textblock
#: ../fish/guestfish-actions.pod:184 ../lib/guestfs-actions.pod:228
msgid ""
"Disks with the E<lt>readonly/E<gt> flag are added read-only.  Other disks "
"are added read/write."
msgstr ""
"Disks with the E<lt>readonly/E<gt> flag are added read-only.  Other disks "
"are added read/write."

#. type: =item
#: ../fish/guestfish-actions.pod:191 ../lib/guestfs-actions.pod:235
msgid "readonlydisk = \"write\" (default)"
msgstr "readonlydisk = \"write\" (default)"

#. type: textblock
#: ../fish/guestfish-actions.pod:195 ../lib/guestfs-actions.pod:239
msgid "Disks with the E<lt>readonly/E<gt> flag are added read/write."
msgstr "Disks with the E<lt>readonly/E<gt> flag are added read/write."

#. type: =item
#: ../fish/guestfish-actions.pod:201 ../lib/guestfs-actions.pod:245
msgid "readonlydisk = \"ignore\""
msgstr "readonlydisk = \"ignore\""

#. type: textblock
#: ../fish/guestfish-actions.pod:203 ../lib/guestfs-actions.pod:247
msgid "If C<readonly> is true or false:"
msgstr "If C<readonly> is true or false:"

#. type: textblock
#: ../fish/guestfish-actions.pod:205 ../lib/guestfs-actions.pod:249
msgid "Disks with the E<lt>readonly/E<gt> flag are skipped."
msgstr "Disks with the E<lt>readonly/E<gt> flag are skipped."

#. type: textblock
#: ../fish/guestfish-actions.pod:209
msgid ""
"If present, the value of C<logical_block_size> attribute of E<lt>blockio/"
"E<gt> tag in libvirt XML will be passed as C<blocksize> parameter to L</add-"
"drive-opts>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:213
msgid ""
"The other optional parameters are passed directly through to L</add-drive-"
"opts>."
msgstr ""
"The other optional parameters are passed directly through to L</add-drive-"
"opts>."

#. type: textblock
#: ../fish/guestfish-actions.pod:216 ../fish/guestfish-actions.pod:491
#: ../fish/guestfish-actions.pod:532 ../fish/guestfish-actions.pod:754
#: ../fish/guestfish-actions.pod:1108 ../fish/guestfish-actions.pod:1136
#: ../fish/guestfish-actions.pod:1169 ../fish/guestfish-actions.pod:1181
#: ../fish/guestfish-actions.pod:1352 ../fish/guestfish-actions.pod:1419
#: ../fish/guestfish-actions.pod:1749 ../fish/guestfish-actions.pod:1770
#: ../fish/guestfish-actions.pod:1821 ../fish/guestfish-actions.pod:1857
#: ../fish/guestfish-actions.pod:1866 ../fish/guestfish-actions.pod:1875
#: ../fish/guestfish-actions.pod:1889 ../fish/guestfish-actions.pod:1961
#: ../fish/guestfish-actions.pod:2068 ../fish/guestfish-actions.pod:2151
#: ../fish/guestfish-actions.pod:2245 ../fish/guestfish-actions.pod:2957
#: ../fish/guestfish-actions.pod:3477 ../fish/guestfish-actions.pod:3513
#: ../fish/guestfish-actions.pod:3753 ../fish/guestfish-actions.pod:4331
#: ../fish/guestfish-actions.pod:4920 ../fish/guestfish-actions.pod:4937
#: ../fish/guestfish-actions.pod:4964 ../fish/guestfish-actions.pod:4981
#: ../fish/guestfish-actions.pod:4999 ../fish/guestfish-actions.pod:5023
#: ../fish/guestfish-actions.pod:6090 ../fish/guestfish-actions.pod:6253
#: ../fish/guestfish-actions.pod:6417 ../fish/guestfish-actions.pod:6450
#: ../fish/guestfish-actions.pod:6590 ../fish/guestfish-actions.pod:6606
#: ../fish/guestfish-actions.pod:6676 ../fish/guestfish-actions.pod:6724
#: ../fish/guestfish-actions.pod:6754 ../fish/guestfish-actions.pod:6943
#: ../fish/guestfish-actions.pod:6962 ../fish/guestfish-actions.pod:7001
#: ../fish/guestfish-actions.pod:7738 ../fish/guestfish-actions.pod:7878
#: ../fish/guestfish-actions.pod:7905 ../fish/guestfish-actions.pod:7939
#: ../fish/guestfish-actions.pod:8007 ../fish/guestfish-actions.pod:8169
#: ../fish/guestfish-actions.pod:9005 ../fish/guestfish-actions.pod:9070
#: ../fish/guestfish-actions.pod:9118 ../fish/guestfish-actions.pod:9260
#: ../fish/guestfish-actions.pod:9345 ../fish/guestfish-actions.pod:9366
#: ../fish/guestfish-actions.pod:9794 ../fish/guestfish-actions.pod:9809
#: ../fish/guestfish-actions.pod:9846
msgid ""
"This command has one or more optional arguments.  See L</OPTIONAL ARGUMENTS>."
msgstr ""
"This command has one or more optional arguments.  See L</OPTIONAL ARGUMENTS>."

#. type: =head2
#: ../fish/guestfish-actions.pod:218
msgid "add-drive"
msgstr "add-drive"

#. type: =head2
#: ../fish/guestfish-actions.pod:220
msgid "add"
msgstr "add"

#. type: =head2
#: ../fish/guestfish-actions.pod:222
msgid "add-drive-opts"
msgstr "add-drive-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:224
#, no-wrap
msgid ""
" add-drive filename [readonly:true|false] [format:..] [iface:..] [name:..] [label:..] [protocol:..] [server:..] [username:..] [secret:..] [cachemode:..] [discard:..] [copyonread:true|false] [blocksize:N]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:226 ../lib/guestfs-actions.pod:325
msgid ""
"This function adds a disk image called F<filename> to the handle.  "
"F<filename> may be a regular host file or a host device."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:229
msgid ""
"When this function is called before L</launch> (the usual case) then the "
"first time you call this function, the disk appears in the API as F</dev/"
"sda>, the second time as F</dev/sdb>, and so on."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:234 ../lib/guestfs-actions.pod:333
msgid ""
"In libguestfs E<ge> 1.20 you can also call this function after launch (with "
"some restrictions).  This is called \"hotplugging\".  When hotplugging, you "
"must specify a C<label> so that the new disk gets a predictable name.  For "
"more information see L<guestfs(3)/HOTPLUGGING>."
msgstr ""
"In libguestfs E<ge> 1.20 you can also call this function after launch (with "
"some restrictions).  This is called \"hotplugging\".  When hotplugging, you "
"must specify a C<label> so that the new disk gets a predictable name.  For "
"more information see L<guestfs(3)/HOTPLUGGING>."

#. type: textblock
#: ../fish/guestfish-actions.pod:240 ../lib/guestfs-actions.pod:339
msgid ""
"You don't necessarily need to be root when using libguestfs.  However you "
"obviously do need sufficient permissions to access the filename for whatever "
"operations you want to perform (ie. read access if you just want to read the "
"image or write access if you want to modify the image)."
msgstr ""
"You don't necessarily need to be root when using libguestfs.  However you "
"obviously do need sufficient permissions to access the filename for whatever "
"operations you want to perform (ie. read access if you just want to read the "
"image or write access if you want to modify the image)."

#. type: textblock
#: ../fish/guestfish-actions.pod:246 ../lib/guestfs-actions.pod:345
msgid "This call checks that F<filename> exists."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:248 ../lib/guestfs-actions.pod:347
msgid ""
"F<filename> may be the special string C<\"/dev/null\">.  See L<guestfs(3)/"
"NULL DISKS>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:251 ../fish/guestfish-actions.pod:6379
#: ../fish/guestfish-actions.pod:7863 ../fish/guestfish-actions.pod:8986
#: ../lib/guestfs-actions.pod:350 ../lib/guestfs-actions.pod:10270
#: ../lib/guestfs-actions.pod:12788 ../lib/guestfs-actions.pod:14447
msgid "The optional arguments are:"
msgstr "The optional arguments are:"

#. type: =item
#: ../fish/guestfish-actions.pod:255 ../lib/guestfs-actions.pod:354
msgid "C<readonly>"
msgstr "C<readonly>"

#. type: textblock
#: ../fish/guestfish-actions.pod:257 ../lib/guestfs-actions.pod:356
msgid ""
"If true then the image is treated as read-only.  Writes are still allowed, "
"but they are stored in a temporary snapshot overlay which is discarded at "
"the end.  The disk that you add is not modified."
msgstr ""
"If true then the image is treated as read-only.  Writes are still allowed, "
"but they are stored in a temporary snapshot overlay which is discarded at "
"the end.  The disk that you add is not modified."

#. type: =item
#: ../fish/guestfish-actions.pod:261 ../lib/guestfs-actions.pod:360
msgid "C<format>"
msgstr "C<format>"

#. type: textblock
#: ../fish/guestfish-actions.pod:263
msgid ""
"This forces the image format.  If you omit this (or use L</add-drive> or L</"
"add-drive-ro>) then the format is automatically detected.  Possible formats "
"include C<raw> and C<qcow2>."
msgstr ""
"This forces the image format.  If you omit this (or use L</add-drive> or L</"
"add-drive-ro>) then the format is automatically detected.  Possible formats "
"include C<raw> and C<qcow2>."

#. type: textblock
#: ../fish/guestfish-actions.pod:267 ../lib/guestfs-actions.pod:366
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."
msgstr ""
"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."

#. type: =item
#: ../fish/guestfish-actions.pod:272 ../lib/guestfs-actions.pod:371
msgid "C<iface>"
msgstr "C<iface>"

#. type: textblock
#: ../fish/guestfish-actions.pod:274
msgid ""
"This rarely-used option lets you emulate the behaviour of the deprecated L</"
"add-drive-with-if> call (q.v.)"
msgstr ""
"This rarely-used option lets you emulate the behaviour of the deprecated L</"
"add-drive-with-if> call (q.v.)"

#. type: =item
#: ../fish/guestfish-actions.pod:277 ../fish/guestfish-actions.pod:6121
#: ../lib/guestfs-actions.pod:376 ../lib/guestfs-actions.pod:9809
msgid "C<name>"
msgstr "C<name>"

#. type: textblock
#: ../fish/guestfish-actions.pod:279 ../lib/guestfs-actions.pod:378
msgid ""
"The name the drive had in the original guest, e.g. F</dev/sdb>.  This is "
"used as a hint to the guest inspection process if it is available."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:283 ../lib/guestfs-actions.pod:382
msgid "C<label>"
msgstr "C<label>"

#. type: textblock
#: ../fish/guestfish-actions.pod:285 ../lib/guestfs-actions.pod:384
msgid ""
"Give the disk a label.  The label should be a unique, short string using "
"I<only> ASCII characters C<[a-zA-Z]>.  As well as its usual name in the API "
"(such as F</dev/sda>), the drive will also be named F</dev/disk/guestfs/"
"I<label>>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:290 ../lib/guestfs-actions.pod:389
msgid "See L<guestfs(3)/DISK LABELS>."
msgstr "See L<guestfs(3)/DISK LABELS>."

#. type: =item
#: ../fish/guestfish-actions.pod:292 ../lib/guestfs-actions.pod:391
msgid "C<protocol>"
msgstr "C<protocol>"

#. type: textblock
#: ../fish/guestfish-actions.pod:294 ../lib/guestfs-actions.pod:393
msgid ""
"The optional protocol argument can be used to select an alternate source "
"protocol."
msgstr ""
"The optional protocol argument can be used to select an alternate source "
"protocol."

#. type: textblock
#: ../fish/guestfish-actions.pod:297 ../lib/guestfs-actions.pod:396
msgid "See also: L<guestfs(3)/REMOTE STORAGE>."
msgstr "See also: L<guestfs(3)/REMOTE STORAGE>."

#. type: =item
#: ../fish/guestfish-actions.pod:301 ../lib/guestfs-actions.pod:400
msgid "C<protocol = \"file\">"
msgstr "C<protocol = \"file\">"

#. type: textblock
#: ../fish/guestfish-actions.pod:303 ../lib/guestfs-actions.pod:402
msgid ""
"F<filename> is interpreted as a local file or device.  This is the default "
"if the optional protocol parameter is omitted."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:307 ../lib/guestfs-actions.pod:406
msgid "C<protocol = \"ftp\"|\"ftps\"|\"http\"|\"https\"|\"tftp\">"
msgstr "C<protocol = \"ftp\"|\"ftps\"|\"http\"|\"https\"|\"tftp\">"

#. type: textblock
#: ../fish/guestfish-actions.pod:309 ../lib/guestfs-actions.pod:408
msgid ""
"Connect to a remote FTP, HTTP or TFTP server.  The C<server> parameter must "
"also be supplied - see below."
msgstr ""
"Connect to a remote FTP, HTTP or TFTP server.  The C<server> parameter must "
"also be supplied - see below."

#. type: textblock
#: ../fish/guestfish-actions.pod:312 ../lib/guestfs-actions.pod:411
msgid "See also: L<guestfs(3)/FTP, HTTP AND TFTP>"
msgstr "See also: L<guestfs(3)/FTP, HTTP AND TFTP>"

#. type: =item
#: ../fish/guestfish-actions.pod:314 ../lib/guestfs-actions.pod:413
msgid "C<protocol = \"gluster\">"
msgstr "C<protocol = \"gluster\">"

#. type: textblock
#: ../fish/guestfish-actions.pod:316 ../lib/guestfs-actions.pod:415
msgid ""
"Connect to the GlusterFS server.  The C<server> parameter must also be "
"supplied - see below."
msgstr ""
"Connect to the GlusterFS server.  The C<server> parameter must also be "
"supplied - see below."

#. type: textblock
#: ../fish/guestfish-actions.pod:319 ../lib/guestfs-actions.pod:418
msgid "See also: L<guestfs(3)/GLUSTER>"
msgstr "See also: L<guestfs(3)/GLUSTER>"

#. type: =item
#: ../fish/guestfish-actions.pod:321 ../lib/guestfs-actions.pod:420
msgid "C<protocol = \"iscsi\">"
msgstr "C<protocol = \"iscsi\">"

#. type: textblock
#: ../fish/guestfish-actions.pod:323 ../lib/guestfs-actions.pod:422
msgid ""
"Connect to the iSCSI server.  The C<server> parameter must also be supplied "
"- see below.  The C<username> parameter may be supplied.  See below.  The "
"C<secret> parameter may be supplied.  See below."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:328 ../lib/guestfs-actions.pod:427
msgid "See also: L<guestfs(3)/ISCSI>."
msgstr "See also: L<guestfs(3)/ISCSI>."

#. type: =item
#: ../fish/guestfish-actions.pod:330 ../lib/guestfs-actions.pod:429
msgid "C<protocol = \"nbd\">"
msgstr "C<protocol = \"nbd\">"

#. type: textblock
#: ../fish/guestfish-actions.pod:332 ../lib/guestfs-actions.pod:431
msgid ""
"Connect to the Network Block Device server.  The C<server> parameter must "
"also be supplied - see below."
msgstr ""
"Connect to the Network Block Device server.  The C<server> parameter must "
"also be supplied - see below."

#. type: textblock
#: ../fish/guestfish-actions.pod:335 ../lib/guestfs-actions.pod:434
msgid "See also: L<guestfs(3)/NETWORK BLOCK DEVICE>."
msgstr "See also: L<guestfs(3)/NETWORK BLOCK DEVICE>."

#. type: =item
#: ../fish/guestfish-actions.pod:337 ../lib/guestfs-actions.pod:436
msgid "C<protocol = \"rbd\">"
msgstr "C<protocol = \"rbd\">"

#. type: textblock
#: ../fish/guestfish-actions.pod:339 ../lib/guestfs-actions.pod:438
msgid ""
"Connect to the Ceph (librbd/RBD) server.  The C<server> parameter must also "
"be supplied - see below.  The C<username> parameter may be supplied.  See "
"below.  The C<secret> parameter may be supplied.  See below."
msgstr ""
"Connect to the Ceph (librbd/RBD) server.  The C<server> parameter must also "
"be supplied - see below.  The C<username> parameter may be supplied.  See "
"below.  The C<secret> parameter may be supplied.  See below."

#. type: textblock
#: ../fish/guestfish-actions.pod:344 ../lib/guestfs-actions.pod:443
msgid "See also: L<guestfs(3)/CEPH>."
msgstr "See also: L<guestfs(3)/CEPH>."

#. type: =item
#: ../fish/guestfish-actions.pod:346 ../lib/guestfs-actions.pod:445
msgid "C<protocol = \"sheepdog\">"
msgstr "C<protocol = \"sheepdog\">"

#. type: textblock
#: ../fish/guestfish-actions.pod:348 ../lib/guestfs-actions.pod:447
msgid ""
"Connect to the Sheepdog server.  The C<server> parameter may also be "
"supplied - see below."
msgstr ""
"Connect to the Sheepdog server.  The C<server> parameter may also be "
"supplied - see below."

#. type: textblock
#: ../fish/guestfish-actions.pod:351 ../lib/guestfs-actions.pod:450
msgid "See also: L<guestfs(3)/SHEEPDOG>."
msgstr "See also: L<guestfs(3)/SHEEPDOG>."

#. type: =item
#: ../fish/guestfish-actions.pod:353 ../lib/guestfs-actions.pod:452
msgid "C<protocol = \"ssh\">"
msgstr "C<protocol = \"ssh\">"

#. type: textblock
#: ../fish/guestfish-actions.pod:355 ../lib/guestfs-actions.pod:454
msgid "Connect to the Secure Shell (ssh) server."
msgstr "Connect to the Secure Shell (ssh) server."

#. type: textblock
#: ../fish/guestfish-actions.pod:357 ../lib/guestfs-actions.pod:456
msgid ""
"The C<server> parameter must be supplied.  The C<username> parameter may be "
"supplied.  See below."
msgstr ""
"The C<server> parameter must be supplied.  The C<username> parameter may be "
"supplied.  See below."

#. type: textblock
#: ../fish/guestfish-actions.pod:360 ../lib/guestfs-actions.pod:459
msgid "See also: L<guestfs(3)/SSH>."
msgstr "See also: L<guestfs(3)/SSH>."

#. type: =item
#: ../fish/guestfish-actions.pod:364 ../lib/guestfs-actions.pod:463
msgid "C<server>"
msgstr "C<server>"

#. type: textblock
#: ../fish/guestfish-actions.pod:366 ../lib/guestfs-actions.pod:465
msgid ""
"For protocols which require access to a remote server, this is a list of "
"server(s)."
msgstr ""
"For protocols which require access to a remote server, this is a list of "
"server(s)."

#. type: verbatim
#: ../fish/guestfish-actions.pod:369 ../lib/guestfs-actions.pod:468
#, no-wrap
msgid ""
" Protocol       Number of servers required\n"
" --------       --------------------------\n"
" file           List must be empty or param not used at all\n"
" ftp|ftps|http|https|tftp  Exactly one\n"
" gluster        Exactly one\n"
" iscsi          Exactly one\n"
" nbd            Exactly one\n"
" rbd            Zero or more\n"
" sheepdog       Zero or more\n"
" ssh            Exactly one\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:380 ../lib/guestfs-actions.pod:479
msgid ""
"Each list element is a string specifying a server.  The string must be in "
"one of the following formats:"
msgstr ""
"Each list element is a string specifying a server.  The string must be in "
"one of the following formats:"

#. type: verbatim
#: ../fish/guestfish-actions.pod:383 ../lib/guestfs-actions.pod:482
#, no-wrap
msgid ""
" hostname\n"
" hostname:port\n"
" tcp:hostname\n"
" tcp:hostname:port\n"
" unix:/path/to/socket\n"
"\n"
msgstr ""
" hostname\n"
" hostname:port\n"
" tcp:hostname\n"
" tcp:hostname:port\n"
" unix:/path/to/socket\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:389 ../lib/guestfs-actions.pod:488
msgid ""
"If the port number is omitted, then the standard port number for the "
"protocol is used (see F</etc/services>)."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:392 ../fish/guestfish-actions.pod:8340
#: ../lib/guestfs-actions.pod:491 ../lib/guestfs-actions.pod:13542
msgid "C<username>"
msgstr "C<username>"

#. type: textblock
#: ../fish/guestfish-actions.pod:394 ../lib/guestfs-actions.pod:493
msgid ""
"For the C<ftp>, C<ftps>, C<http>, C<https>, C<iscsi>, C<rbd>, C<ssh> and "
"C<tftp> protocols, this specifies the remote username."
msgstr ""
"For the C<ftp>, C<ftps>, C<http>, C<https>, C<iscsi>, C<rbd>, C<ssh> and "
"C<tftp> protocols, this specifies the remote username."

#. type: textblock
#: ../fish/guestfish-actions.pod:397 ../lib/guestfs-actions.pod:496
msgid ""
"If not given, then the local username is used for C<ssh>, and no "
"authentication is attempted for ceph.  But note this sometimes may give "
"unexpected results, for example if using the libvirt backend and if the "
"libvirt backend is configured to start the qemu appliance as a special user "
"such as C<qemu.qemu>.  If in doubt, specify the remote username you want."
msgstr ""
"If not given, then the local username is used for C<ssh>, and no "
"authentication is attempted for ceph.  But note this sometimes may give "
"unexpected results, for example if using the libvirt backend and if the "
"libvirt backend is configured to start the qemu appliance as a special user "
"such as C<qemu.qemu>.  If in doubt, specify the remote username you want."

#. type: =item
#: ../fish/guestfish-actions.pod:403 ../lib/guestfs-actions.pod:502
msgid "C<secret>"
msgstr "C<secret>"

#. type: textblock
#: ../fish/guestfish-actions.pod:405 ../lib/guestfs-actions.pod:504
msgid ""
"For the C<rbd> protocol only, this specifies the ‘secret’ to use when "
"connecting to the remote device.  It must be base64 encoded."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:408 ../lib/guestfs-actions.pod:507
msgid ""
"If not given, then a secret matching the given username will be looked up in "
"the default keychain locations, or if no username is given, then no "
"authentication will be used."
msgstr ""
"If not given, then a secret matching the given username will be looked up in "
"the default keychain locations, or if no username is given, then no "
"authentication will be used."

#. type: =item
#: ../fish/guestfish-actions.pod:412 ../lib/guestfs-actions.pod:511
msgid "C<cachemode>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:414 ../lib/guestfs-actions.pod:513
msgid ""
"Choose whether or not libguestfs will obey sync operations (safe but slow)  "
"or not (unsafe but fast).  The possible values for this string are:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:419 ../lib/guestfs-actions.pod:518
msgid "C<cachemode = \"writeback\">"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:423 ../lib/guestfs-actions.pod:522
msgid ""
"Write operations in the API do not return until a L<write(2)> call has "
"completed in the host [but note this does not imply that anything gets "
"written to disk]."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:427 ../lib/guestfs-actions.pod:526
msgid ""
"Sync operations in the API, including implicit syncs caused by filesystem "
"journalling, will not return until an L<fdatasync(2)> call has completed in "
"the host, indicating that data has been committed to disk."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:432 ../lib/guestfs-actions.pod:531
msgid "C<cachemode = \"unsafe\">"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:434 ../lib/guestfs-actions.pod:533
msgid ""
"In this mode, there are no guarantees.  Libguestfs may cache anything and "
"ignore sync requests.  This is suitable only for scratch or temporary disks."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:440 ../lib/guestfs-actions.pod:539
msgid "C<discard>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:442
msgid ""
"Enable or disable discard (a.k.a. trim or unmap) support on this drive.  If "
"enabled, operations such as L</fstrim> will be able to discard / make thin / "
"punch holes in the underlying host file or device."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:447 ../lib/guestfs-actions.pod:546
msgid "Possible discard settings are:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:451 ../lib/guestfs-actions.pod:550
msgid "C<discard = \"disable\">"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:453 ../lib/guestfs-actions.pod:552
msgid "Disable discard support.  This is the default."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:455 ../lib/guestfs-actions.pod:554
msgid "C<discard = \"enable\">"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:457 ../lib/guestfs-actions.pod:556
msgid "Enable discard support.  Fail if discard is not possible."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:459 ../lib/guestfs-actions.pod:558
msgid "C<discard = \"besteffort\">"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:461 ../lib/guestfs-actions.pod:560
msgid ""
"Enable discard support if possible, but don't fail if it is not supported."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:464 ../lib/guestfs-actions.pod:563
msgid ""
"Since not all backends and not all underlying systems support discard, this "
"is a good choice if you want to use discard if possible, but don't mind if "
"it doesn't work."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:470 ../lib/guestfs-actions.pod:569
msgid "C<copyonread>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:472 ../lib/guestfs-actions.pod:571
msgid ""
"The boolean parameter C<copyonread> enables copy-on-read support.  This only "
"affects disk formats which have backing files, and causes reads to be stored "
"in the overlay layer, speeding up multiple reads of the same area of disk."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:477 ../lib/guestfs-actions.pod:576
msgid "The default is false."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:479 ../fish/guestfish-actions.pod:6383
#: ../lib/guestfs-actions.pod:578 ../lib/guestfs-actions.pod:10274
msgid "C<blocksize>"
msgstr "C<blocksize>"

#. type: textblock
#: ../fish/guestfish-actions.pod:481 ../lib/guestfs-actions.pod:580
msgid ""
"This parameter sets the sector size of the disk.  Possible values are C<512> "
"(the default if the parameter is omitted) or C<4096>.  Use C<4096> when "
"handling an \"Advanced Format\" disk that uses 4K sector size (L<https://en."
"wikipedia.org/wiki/Advanced_Format>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:486 ../lib/guestfs-actions.pod:585
#, fuzzy
#| msgid ""
#| "Only a subset of the backends support hotplugging (currently only the "
#| "libvirt backend has support).  It also requires that you use libvirt "
#| "E<ge> 0.10.3 and qemu E<ge> 1.2."
msgid ""
"Only a subset of the backends support this parameter (currently only the "
"libvirt and direct backends do)."
msgstr ""
"Only a subset of the backends support hotplugging (currently only the "
"libvirt backend has support).  It also requires that you use libvirt E<ge> "
"0.10.3 and qemu E<ge> 1.2."

#. type: =head2
#: ../fish/guestfish-actions.pod:493
msgid "add-drive-ro"
msgstr "add-drive-ro"

#. type: =head2
#: ../fish/guestfish-actions.pod:495
msgid "add-ro"
msgstr "add-ro"

#. type: verbatim
#: ../fish/guestfish-actions.pod:497
#, no-wrap
msgid ""
" add-drive-ro filename\n"
"\n"
msgstr ""
" add-drive-ro filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:499
msgid ""
"This function is the equivalent of calling L</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 ""
"This function is the equivalent of calling L</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."

#. type: =head2
#: ../fish/guestfish-actions.pod:504
msgid "add-drive-ro-with-if"
msgstr "add-drive-ro-with-if"

#. type: verbatim
#: ../fish/guestfish-actions.pod:506
#, no-wrap
msgid ""
" add-drive-ro-with-if filename iface\n"
"\n"
msgstr ""
" add-drive-ro-with-if filename iface\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:508
msgid ""
"This is the same as L</add-drive-ro> but it allows you to specify the QEMU "
"interface emulation to use at run time."
msgstr ""
"This is the same as L</add-drive-ro> but it allows you to specify the QEMU "
"interface emulation to use at run time."

#. type: textblock
#: ../fish/guestfish-actions.pod:511 ../fish/guestfish-actions.pod:541
msgid ""
"I<This function is deprecated.> In new code, use the L</add-drive> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</add-drive> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:518
msgid "add-drive-scratch"
msgstr "add-drive-scratch"

#. type: =head2
#: ../fish/guestfish-actions.pod:520
msgid "scratch"
msgstr "scratch"

#. type: verbatim
#: ../fish/guestfish-actions.pod:522
#, fuzzy, no-wrap
#| msgid ""
#| " add-drive-scratch size [name:..] [label:..]\n"
#| "\n"
msgid ""
" add-drive-scratch size [name:..] [label:..] [blocksize:N]\n"
"\n"
msgstr ""
" add-drive-scratch size [name:..] [label:..]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:524 ../lib/guestfs-actions.pod:668
msgid ""
"This command adds a temporary scratch drive to the handle.  The C<size> "
"parameter is the virtual size (in bytes).  The scratch drive is blank "
"initially (all reads return zeroes until you start writing to it).  The "
"drive is deleted when the handle is closed."
msgstr ""
"This command adds a temporary scratch drive to the handle.  The C<size> "
"parameter is the virtual size (in bytes).  The scratch drive is blank "
"initially (all reads return zeroes until you start writing to it).  The "
"drive is deleted when the handle is closed."

#. type: textblock
#: ../fish/guestfish-actions.pod:529
#, fuzzy
#| msgid ""
#| "The optional arguments C<name> and C<label> are passed through to L</add-"
#| "drive>."
msgid ""
"The optional arguments C<name>, C<label> and C<blocksize> are passed through "
"to L</add-drive-opts>."
msgstr ""
"The optional arguments C<name> and C<label> are passed through to L</add-"
"drive>."

#. type: =head2
#: ../fish/guestfish-actions.pod:534
msgid "add-drive-with-if"
msgstr "add-drive-with-if"

#. type: verbatim
#: ../fish/guestfish-actions.pod:536
#, no-wrap
msgid ""
" add-drive-with-if filename iface\n"
"\n"
msgstr ""
" add-drive-with-if filename iface\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:538
msgid ""
"This is the same as L</add-drive> but it allows you to specify the QEMU "
"interface emulation to use at run time."
msgstr ""
"This is the same as L</add-drive> but it allows you to specify the QEMU "
"interface emulation to use at run time."

#. type: =head2
#: ../fish/guestfish-actions.pod:548
msgid "aug-clear"
msgstr "aug-clear"

#. type: verbatim
#: ../fish/guestfish-actions.pod:550
#, no-wrap
msgid ""
" aug-clear augpath\n"
"\n"
msgstr ""
" aug-clear augpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:552 ../lib/guestfs-actions.pod:812
msgid ""
"Set the value associated with C<path> to C<NULL>.  This is the same as the "
"L<augtool(1)> C<clear> command."
msgstr ""
"Set the value associated with C<path> to C<NULL>.  This is the same as the "
"L<augtool(1)> C<clear> command."

#. type: =head2
#: ../fish/guestfish-actions.pod:555
msgid "aug-close"
msgstr "aug-close"

#. type: verbatim
#: ../fish/guestfish-actions.pod:557
#, no-wrap
msgid ""
" aug-close\n"
"\n"
msgstr ""
" aug-close\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:559
msgid ""
"Close the current Augeas handle and free up any resources used by it.  After "
"calling this, you have to call L</aug-init> again before you can use any "
"other Augeas functions."
msgstr ""
"Close the current Augeas handle and free up any resources used by it.  After "
"calling this, you have to call L</aug-init> again before you can use any "
"other Augeas functions."

#. type: =head2
#: ../fish/guestfish-actions.pod:564
msgid "aug-defnode"
msgstr "aug-defnode"

#. type: verbatim
#: ../fish/guestfish-actions.pod:566
#, no-wrap
msgid ""
" aug-defnode name expr val\n"
"\n"
msgstr ""
" aug-defnode name expr val\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:568 ../lib/guestfs-actions.pod:841
msgid ""
"Defines a variable C<name> whose value is the result of evaluating C<expr>."
msgstr ""
"Defines a variable C<name> whose value is the result of evaluating C<expr>."

#. type: textblock
#: ../fish/guestfish-actions.pod:571
#, fuzzy
#| msgid ""
#| "If C<expr> evaluates to an empty nodeset, a node is created, equivalent "
#| "to calling L</aug-set> C<expr>, C<value>.  C<name> will be the nodeset "
#| "containing that single node."
msgid ""
"If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
"calling L</aug-set> C<expr>, C<val>.  C<name> will be the nodeset containing "
"that single node."
msgstr ""
"If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
"calling L</aug-set> C<expr>, C<value>.  C<name> will be the nodeset "
"containing that single node."

#. type: textblock
#: ../fish/guestfish-actions.pod:575 ../lib/guestfs-actions.pod:848
msgid ""
"On success this returns a pair containing the number of nodes in the "
"nodeset, and a boolean flag if a node was created."
msgstr ""
"On success this returns a pair containing the number of nodes in the "
"nodeset, and a boolean flag if a node was created."

#. type: =head2
#: ../fish/guestfish-actions.pod:579
msgid "aug-defvar"
msgstr "aug-defvar"

#. type: verbatim
#: ../fish/guestfish-actions.pod:581
#, no-wrap
msgid ""
" aug-defvar name expr\n"
"\n"
msgstr ""
" aug-defvar name expr\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:583 ../lib/guestfs-actions.pod:865
msgid ""
"Defines an Augeas variable C<name> whose value is the result of evaluating "
"C<expr>.  If C<expr> is NULL, then C<name> is undefined."
msgstr ""
"Defines an Augeas variable C<name> whose value is the result of evaluating "
"C<expr>.  If C<expr> is NULL, then C<name> is undefined."

#. type: textblock
#: ../fish/guestfish-actions.pod:587 ../lib/guestfs-actions.pod:869
msgid ""
"On success this returns the number of nodes in C<expr>, or C<0> if C<expr> "
"evaluates to something which is not a nodeset."
msgstr ""
"On success this returns the number of nodes in C<expr>, or C<0> if C<expr> "
"evaluates to something which is not a nodeset."

#. type: =head2
#: ../fish/guestfish-actions.pod:590
msgid "aug-get"
msgstr "aug-get"

#. type: verbatim
#: ../fish/guestfish-actions.pod:592
#, no-wrap
msgid ""
" aug-get augpath\n"
"\n"
msgstr ""
" aug-get augpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:594 ../lib/guestfs-actions.pod:882
msgid ""
"Look up the value associated with C<path>.  If C<path> matches exactly one "
"node, the C<value> is returned."
msgstr ""
"Look up the value associated with C<path>.  If C<path> matches exactly one "
"node, the C<value> is returned."

#. type: =head2
#: ../fish/guestfish-actions.pod:597
msgid "aug-init"
msgstr "aug-init"

#. type: verbatim
#: ../fish/guestfish-actions.pod:599
#, no-wrap
msgid ""
" aug-init root flags\n"
"\n"
msgstr ""
" aug-init root flags\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:601 ../lib/guestfs-actions.pod:897
msgid ""
"Create a new Augeas handle for editing configuration files.  If there was "
"any previous Augeas handle associated with this guestfs session, then it is "
"closed."
msgstr ""
"Create a new Augeas handle for editing configuration files.  If there was "
"any previous Augeas handle associated with this guestfs session, then it is "
"closed."

#. type: textblock
#: ../fish/guestfish-actions.pod:605
msgid "You must call this before using any other L</aug-*> commands."
msgstr "You must call this before using any other L</aug-*> commands."

#. type: textblock
#: ../fish/guestfish-actions.pod:608 ../lib/guestfs-actions.pod:904
msgid ""
"C<root> is the filesystem root.  C<root> must not be NULL, use F</> instead."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:611 ../lib/guestfs-actions.pod:907
msgid ""
"The flags are the same as the flags defined in E<lt>augeas.hE<gt>, the "
"logical I<or> of the following integers:"
msgstr ""
"The flags are the same as the flags defined in E<lt>augeas.hE<gt>, the "
"logical I<or> of the following integers:"

#. type: =item
#: ../fish/guestfish-actions.pod:617 ../lib/guestfs-actions.pod:913
msgid "C<AUG_SAVE_BACKUP> = 1"
msgstr "C<AUG_SAVE_BACKUP> = 1"

#. type: textblock
#: ../fish/guestfish-actions.pod:619 ../lib/guestfs-actions.pod:915
msgid "Keep the original file with a C<.augsave> extension."
msgstr "Keep the original file with a C<.augsave> extension."

#. type: =item
#: ../fish/guestfish-actions.pod:621 ../lib/guestfs-actions.pod:917
msgid "C<AUG_SAVE_NEWFILE> = 2"
msgstr "C<AUG_SAVE_NEWFILE> = 2"

#. type: textblock
#: ../fish/guestfish-actions.pod:623 ../lib/guestfs-actions.pod:919
msgid ""
"Save changes into a file with extension C<.augnew>, and do not overwrite "
"original.  Overrides C<AUG_SAVE_BACKUP>."
msgstr ""
"Save changes into a file with extension C<.augnew>, and do not overwrite "
"original.  Overrides C<AUG_SAVE_BACKUP>."

#. type: =item
#: ../fish/guestfish-actions.pod:626 ../lib/guestfs-actions.pod:922
msgid "C<AUG_TYPE_CHECK> = 4"
msgstr "C<AUG_TYPE_CHECK> = 4"

#. type: textblock
#: ../fish/guestfish-actions.pod:628 ../lib/guestfs-actions.pod:924
msgid "Typecheck lenses."
msgstr "Typecheck lenses."

#. type: textblock
#: ../fish/guestfish-actions.pod:630
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 L</set-memsize>."
msgstr ""
"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 L</set-memsize>."

#. type: =item
#: ../fish/guestfish-actions.pod:635 ../lib/guestfs-actions.pod:931
msgid "C<AUG_NO_STDINC> = 8"
msgstr "C<AUG_NO_STDINC> = 8"

#. type: textblock
#: ../fish/guestfish-actions.pod:637 ../lib/guestfs-actions.pod:933
msgid "Do not use standard load path for modules."
msgstr "Do not use standard load path for modules."

#. type: =item
#: ../fish/guestfish-actions.pod:639 ../lib/guestfs-actions.pod:935
msgid "C<AUG_SAVE_NOOP> = 16"
msgstr "C<AUG_SAVE_NOOP> = 16"

#. type: textblock
#: ../fish/guestfish-actions.pod:641 ../lib/guestfs-actions.pod:937
msgid "Make save a no-op, just record what would have been changed."
msgstr "Make save a no-op, just record what would have been changed."

#. type: =item
#: ../fish/guestfish-actions.pod:643 ../lib/guestfs-actions.pod:939
msgid "C<AUG_NO_LOAD> = 32"
msgstr "C<AUG_NO_LOAD> = 32"

#. type: textblock
#: ../fish/guestfish-actions.pod:645
msgid "Do not load the tree in L</aug-init>."
msgstr "Do not load the tree in L</aug-init>."

#. type: textblock
#: ../fish/guestfish-actions.pod:649
msgid "To close the handle, you can call L</aug-close>."
msgstr "To close the handle, you can call L</aug-close>."

#. type: textblock
#: ../fish/guestfish-actions.pod:651 ../lib/guestfs-actions.pod:947
msgid "To find out more about Augeas, see L<http://augeas.net/>."
msgstr "To find out more about Augeas, see L<http://augeas.net/>."

#. type: =head2
#: ../fish/guestfish-actions.pod:653
msgid "aug-insert"
msgstr "aug-insert"

#. type: verbatim
#: ../fish/guestfish-actions.pod:655
#, no-wrap
msgid ""
" aug-insert augpath label true|false\n"
"\n"
msgstr ""
" aug-insert augpath label true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:657 ../lib/guestfs-actions.pod:961
msgid ""
"Create a new sibling C<label> for C<path>, inserting it into the tree before "
"or after C<path> (depending on the boolean flag C<before>)."
msgstr ""
"Create a new sibling C<label> for C<path>, inserting it into the tree before "
"or after C<path> (depending on the boolean flag C<before>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:661 ../lib/guestfs-actions.pod:965
msgid ""
"C<path> must match exactly one existing node in the tree, and C<label> must "
"be a label, ie. not contain F</>, C<*> or end with a bracketed index C<[N]>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:665
msgid "aug-label"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:667
#, no-wrap
msgid ""
" aug-label augpath\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:669 ../lib/guestfs-actions.pod:979
msgid ""
"The label (name of the last element) of the Augeas path expression "
"C<augpath> is returned.  C<augpath> must match exactly one node, else this "
"function returns an error."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:673
msgid "aug-load"
msgstr "aug-load"

#. type: verbatim
#: ../fish/guestfish-actions.pod:675
#, no-wrap
msgid ""
" aug-load\n"
"\n"
msgstr ""
" aug-load\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:677 ../lib/guestfs-actions.pod:993
msgid "Load files into the tree."
msgstr "Load files into the tree."

#. type: textblock
#: ../fish/guestfish-actions.pod:679 ../lib/guestfs-actions.pod:995
msgid "See C<aug_load> in the Augeas documentation for the full gory details."
msgstr "See C<aug_load> in the Augeas documentation for the full gory details."

#. type: =head2
#: ../fish/guestfish-actions.pod:682
msgid "aug-ls"
msgstr "aug-ls"

#. type: verbatim
#: ../fish/guestfish-actions.pod:684
#, no-wrap
msgid ""
" aug-ls augpath\n"
"\n"
msgstr ""
" aug-ls augpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:686
msgid ""
"This is just a shortcut for listing L</aug-match> C<path/*> and sorting the "
"resulting nodes into alphabetical order."
msgstr ""
"This is just a shortcut for listing L</aug-match> C<path/*> and sorting the "
"resulting nodes into alphabetical order."

#. type: =head2
#: ../fish/guestfish-actions.pod:689
msgid "aug-match"
msgstr "aug-match"

#. type: verbatim
#: ../fish/guestfish-actions.pod:691
#, no-wrap
msgid ""
" aug-match augpath\n"
"\n"
msgstr ""
" aug-match augpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:693 ../lib/guestfs-actions.pod:1023
msgid ""
"Returns a list of paths which match the path expression C<path>.  The "
"returned paths are sufficiently qualified so that they match exactly one "
"node in the current tree."
msgstr ""
"Returns a list of paths which match the path expression C<path>.  The "
"returned paths are sufficiently qualified so that they match exactly one "
"node in the current tree."

#. type: =head2
#: ../fish/guestfish-actions.pod:697
msgid "aug-mv"
msgstr "aug-mv"

#. type: verbatim
#: ../fish/guestfish-actions.pod:699
#, no-wrap
msgid ""
" aug-mv src dest\n"
"\n"
msgstr ""
" aug-mv src dest\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:701 ../lib/guestfs-actions.pod:1040
msgid ""
"Move the node C<src> to C<dest>.  C<src> must match exactly one node.  "
"C<dest> is overwritten if it exists."
msgstr ""
"Move the node C<src> to C<dest>.  C<src> must match exactly one node.  "
"C<dest> is overwritten if it exists."

#. type: =head2
#: ../fish/guestfish-actions.pod:704
msgid "aug-rm"
msgstr "aug-rm"

#. type: verbatim
#: ../fish/guestfish-actions.pod:706
#, no-wrap
msgid ""
" aug-rm augpath\n"
"\n"
msgstr ""
" aug-rm augpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:708 ../lib/guestfs-actions.pod:1053
msgid "Remove C<path> and all of its children."
msgstr "Remove C<path> and all of its children."

#. type: textblock
#: ../fish/guestfish-actions.pod:710 ../lib/guestfs-actions.pod:1055
msgid "On success this returns the number of entries which were removed."
msgstr "On success this returns the number of entries which were removed."

#. type: =head2
#: ../fish/guestfish-actions.pod:712
msgid "aug-save"
msgstr "aug-save"

#. type: verbatim
#: ../fish/guestfish-actions.pod:714
#, no-wrap
msgid ""
" aug-save\n"
"\n"
msgstr ""
" aug-save\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:716 ../lib/guestfs-actions.pod:1066
msgid "This writes all pending changes to disk."
msgstr "This writes all pending changes to disk."

#. type: textblock
#: ../fish/guestfish-actions.pod:718
msgid ""
"The flags which were passed to L</aug-init> affect exactly how files are "
"saved."
msgstr ""
"The flags which were passed to L</aug-init> affect exactly how files are "
"saved."

#. type: =head2
#: ../fish/guestfish-actions.pod:721
msgid "aug-set"
msgstr "aug-set"

#. type: verbatim
#: ../fish/guestfish-actions.pod:723
#, no-wrap
msgid ""
" aug-set augpath val\n"
"\n"
msgstr ""
" aug-set augpath val\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:725 ../lib/guestfs-actions.pod:1082
#, fuzzy
#| msgid "Set the value associated with C<path> to C<val>."
msgid "Set the value associated with C<augpath> to C<val>."
msgstr "Set the value associated with C<path> to C<val>."

#. type: textblock
#: ../fish/guestfish-actions.pod:727
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 L</aug-clear> call."
msgstr ""
"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 L</aug-clear> call."

#. type: =head2
#: ../fish/guestfish-actions.pod:732
msgid "aug-setm"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:734
#, no-wrap
msgid ""
" aug-setm base sub val\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:736 ../lib/guestfs-actions.pod:1101
msgid ""
"Change multiple Augeas nodes in a single operation.  C<base> is an "
"expression matching multiple nodes.  C<sub> is a path expression relative to "
"C<base>.  All nodes matching C<base> are found, and then for each node, "
"C<sub> is changed to C<val>.  C<sub> may also be C<NULL> in which case the "
"C<base> nodes are modified."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:742 ../lib/guestfs-actions.pod:1107
msgid "This returns the number of nodes modified."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:744
msgid "aug-transform"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:746
#, no-wrap
msgid ""
" aug-transform lens file [remove:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:748 ../lib/guestfs-actions.pod:1128
msgid ""
"Add an Augeas transformation for the specified C<lens> so it can handle "
"C<file>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:751 ../lib/guestfs-actions.pod:1131
msgid ""
"If C<remove> is true (C<false> by default), then the transformation is "
"removed."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:756
msgid "available"
msgstr "available"

#. type: verbatim
#: ../fish/guestfish-actions.pod:758
#, no-wrap
msgid ""
" available 'groups ...'\n"
"\n"
msgstr ""
" available 'groups ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:760 ../lib/guestfs-actions.pod:1168
msgid ""
"This command is used to check the availability of some groups of "
"functionality in the appliance, which not all builds of the libguestfs "
"appliance will be able to provide."
msgstr ""
"This command is used to check the availability of some groups of "
"functionality in the appliance, which not all builds of the libguestfs "
"appliance will be able to provide."

#. type: textblock
#: ../fish/guestfish-actions.pod:764
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 L</available-all-groups>."
msgstr ""
"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 L</available-all-groups>."

#. type: textblock
#: ../fish/guestfish-actions.pod:769 ../lib/guestfs-actions.pod:1177
msgid ""
"The argument C<groups> is a list of group names, eg: C<[\"inotify\", \"augeas"
"\"]> would check for the availability of the Linux inotify functions and "
"Augeas (configuration file editing) functions."
msgstr ""
"The argument C<groups> is a list of group names, eg: C<[\"inotify\", \"augeas"
"\"]> would check for the availability of the Linux inotify functions and "
"Augeas (configuration file editing) functions."

#. type: textblock
#: ../fish/guestfish-actions.pod:774 ../lib/guestfs-actions.pod:1182
msgid "The command returns no error if I<all> requested groups are available."
msgstr "The command returns no error if I<all> requested groups are available."

#. type: textblock
#: ../fish/guestfish-actions.pod:776 ../lib/guestfs-actions.pod:1184
msgid ""
"It fails with an error if one or more of the requested groups is unavailable "
"in the appliance."
msgstr ""
"It fails with an error if one or more of the requested groups is unavailable "
"in the appliance."

#. type: textblock
#: ../fish/guestfish-actions.pod:779 ../lib/guestfs-actions.pod:1187
msgid ""
"If an unknown group name is included in the list of groups then an error is "
"always returned."
msgstr ""
"If an unknown group name is included in the list of groups then an error is "
"always returned."

#. type: textblock
#: ../fish/guestfish-actions.pod:782 ../lib/guestfs-actions.pod:1190
msgid "I<Notes:>"
msgstr "I<Notes:>"

#. type: textblock
#: ../fish/guestfish-actions.pod:788
msgid ""
"L</feature-available> is the same as this call, but with a slightly simpler "
"to use API: that call returns a boolean true/false instead of throwing an "
"error."
msgstr ""
"L</feature-available> is the same as this call, but with a slightly simpler "
"to use API: that call returns a boolean true/false instead of throwing an "
"error."

#. type: textblock
#: ../fish/guestfish-actions.pod:794
msgid "You must call L</launch> before calling this function."
msgstr "You must call L</launch> before calling this function."

#. type: textblock
#: ../fish/guestfish-actions.pod:796 ../lib/guestfs-actions.pod:1204
msgid ""
"The reason is because we don't know what groups are supported by the "
"appliance/daemon until it is running and can be queried."
msgstr ""
"The reason is because we don't know what groups are supported by the "
"appliance/daemon until it is running and can be queried."

#. type: textblock
#: ../fish/guestfish-actions.pod:802 ../lib/guestfs-actions.pod:1210
msgid ""
"If a group of functions is available, this does not necessarily mean that "
"they will work.  You still have to check for errors when calling individual "
"API functions even if they are available."
msgstr ""
"If a group of functions is available, this does not necessarily mean that "
"they will work.  You still have to check for errors when calling individual "
"API functions even if they are available."

#. type: textblock
#: ../fish/guestfish-actions.pod:809 ../lib/guestfs-actions.pod:1217
msgid ""
"It is usually the job of distro packagers to build complete functionality "
"into the libguestfs appliance.  Upstream libguestfs, if built from source "
"with all requirements satisfied, will support everything."
msgstr ""
"It is usually the job of distro packagers to build complete functionality "
"into the libguestfs appliance.  Upstream libguestfs, if built from source "
"with all requirements satisfied, will support everything."

#. type: textblock
#: ../fish/guestfish-actions.pod:816
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 L</version>."
msgstr ""
"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 L</version>."

#. type: textblock
#: ../fish/guestfish-actions.pod:823
msgid "See also L</filesystem-available>."
msgstr "See also L</filesystem-available>."

#. type: =head2
#: ../fish/guestfish-actions.pod:825
msgid "available-all-groups"
msgstr "available-all-groups"

#. type: verbatim
#: ../fish/guestfish-actions.pod:827
#, no-wrap
msgid ""
" available-all-groups\n"
"\n"
msgstr ""
" available-all-groups\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:829
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 L</"
"available> / L</feature-available> on each member of the returned list."
msgstr ""
"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 L</"
"available> / L</feature-available> on each member of the returned list."

#. type: textblock
#: ../fish/guestfish-actions.pod:835
msgid ""
"See also L</available>, L</feature-available> and L<guestfs(3)/AVAILABILITY>."
msgstr ""
"See also L</available>, L</feature-available> and L<guestfs(3)/AVAILABILITY>."

#. type: =head2
#: ../fish/guestfish-actions.pod:838
msgid "base64-in"
msgstr "base64-in"

#. type: verbatim
#: ../fish/guestfish-actions.pod:840
#, no-wrap
msgid ""
" base64-in (base64file|-) filename\n"
"\n"
msgstr ""
" base64-in (base64file|-) filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:842 ../lib/guestfs-actions.pod:1264
msgid ""
"This command uploads base64-encoded data from C<base64file> to F<filename>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:845 ../fish/guestfish-actions.pod:854
#: ../fish/guestfish-actions.pod:1650 ../fish/guestfish-actions.pod:1747
#: ../fish/guestfish-actions.pod:1768 ../fish/guestfish-actions.pod:1959
#: ../fish/guestfish-actions.pod:2127 ../fish/guestfish-actions.pod:2149
#: ../fish/guestfish-actions.pod:2167 ../fish/guestfish-actions.pod:2189
#: ../fish/guestfish-actions.pod:2865 ../fish/guestfish-actions.pod:5605
#: ../fish/guestfish-actions.pod:6588 ../fish/guestfish-actions.pod:6907
#: ../fish/guestfish-actions.pod:6917 ../fish/guestfish-actions.pod:6941
#: ../fish/guestfish-actions.pod:9068 ../fish/guestfish-actions.pod:9116
#: ../fish/guestfish-actions.pod:9127 ../fish/guestfish-actions.pod:9143
#: ../fish/guestfish-actions.pod:9281 ../fish/guestfish-actions.pod:9300
#: ../fish/guestfish-actions.pod:9379 ../fish/guestfish-actions.pod:9402
#: ../fish/guestfish-actions.pod:9879
msgid "Use C<-> instead of a filename to read/write from stdin/stdout."
msgstr "Use C<-> instead of a filename to read/write from stdin/stdout."

#. type: =head2
#: ../fish/guestfish-actions.pod:847
msgid "base64-out"
msgstr "base64-out"

#. type: verbatim
#: ../fish/guestfish-actions.pod:849
#, no-wrap
msgid ""
" base64-out filename (base64file|-)\n"
"\n"
msgstr ""
" base64-out filename (base64file|-)\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:851 ../lib/guestfs-actions.pod:1278
msgid ""
"This command downloads the contents of F<filename>, writing it out to local "
"file C<base64file> encoded as base64."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:856
msgid "blkdiscard"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:858
#, no-wrap
msgid ""
" blkdiscard device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:860 ../lib/guestfs-actions.pod:1291
msgid ""
"This discards all blocks on the block device C<device>, giving the free "
"space back to the host."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:863
msgid ""
"This operation requires support in libguestfs, the host filesystem, qemu and "
"the host kernel.  If this support isn't present it may give an error or even "
"appear to run but do nothing.  You must also set the C<discard> attribute on "
"the underlying drive (see L</add-drive-opts>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:869
msgid ""
"This command depends on the feature C<blkdiscard>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:872
msgid "blkdiscardzeroes"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:874
#, no-wrap
msgid ""
" blkdiscardzeroes device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:876
msgid ""
"This call returns true if blocks on C<device> that have been discarded by a "
"call to L</blkdiscard> are returned as blocks of zero bytes when read the "
"next time."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:880 ../lib/guestfs-actions.pod:1317
msgid ""
"If it returns false, then it may be that discarded blocks are read as stale "
"or random data."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:883
msgid ""
"This command depends on the feature C<blkdiscardzeroes>.  See also L</"
"feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:886
msgid "blkid"
msgstr "blkid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:888
#, no-wrap
msgid ""
" blkid device\n"
"\n"
msgstr ""
" blkid device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:890 ../lib/guestfs-actions.pod:1333
msgid ""
"This command returns block device attributes for C<device>. The following "
"fields are usually present in the returned hash. Other fields may also be "
"present."
msgstr ""
"This command returns block device attributes for C<device>. The following "
"fields are usually present in the returned hash. Other fields may also be "
"present."

#. type: =item
#: ../fish/guestfish-actions.pod:895 ../lib/guestfs-actions.pod:1338
msgid "C<UUID>"
msgstr "C<UUID>"

#. type: textblock
#: ../fish/guestfish-actions.pod:897 ../lib/guestfs-actions.pod:1340
msgid "The uuid of this device."
msgstr "The uuid of this device."

#. type: =item
#: ../fish/guestfish-actions.pod:899 ../lib/guestfs-actions.pod:1342
msgid "C<LABEL>"
msgstr "C<LABEL>"

#. type: textblock
#: ../fish/guestfish-actions.pod:901 ../lib/guestfs-actions.pod:1344
msgid "The label of this device."
msgstr "The label of this device."

#. type: =item
#: ../fish/guestfish-actions.pod:903 ../lib/guestfs-actions.pod:1346
msgid "C<VERSION>"
msgstr "C<VERSION>"

#. type: textblock
#: ../fish/guestfish-actions.pod:905 ../lib/guestfs-actions.pod:1348
msgid "The version of blkid command."
msgstr "The version of blkid command."

#. type: =item
#: ../fish/guestfish-actions.pod:907 ../lib/guestfs-actions.pod:1350
msgid "C<TYPE>"
msgstr "C<TYPE>"

#. type: textblock
#: ../fish/guestfish-actions.pod:909 ../lib/guestfs-actions.pod:1352
msgid "The filesystem type or RAID of this device."
msgstr "The filesystem type or RAID of this device."

#. type: =item
#: ../fish/guestfish-actions.pod:911 ../lib/guestfs-actions.pod:1354
msgid "C<USAGE>"
msgstr "C<USAGE>"

#. type: textblock
#: ../fish/guestfish-actions.pod:913 ../lib/guestfs-actions.pod:1356
msgid "The usage of this device, for example C<filesystem> or C<raid>."
msgstr "The usage of this device, for example C<filesystem> or C<raid>."

#. type: =head2
#: ../fish/guestfish-actions.pod:917
msgid "blockdev-flushbufs"
msgstr "blockdev-flushbufs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:919
#, no-wrap
msgid ""
" blockdev-flushbufs device\n"
"\n"
msgstr ""
" blockdev-flushbufs device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:921 ../lib/guestfs-actions.pod:1374
msgid ""
"This tells the kernel to flush internal buffers associated with C<device>."
msgstr ""
"This tells the kernel to flush internal buffers associated with C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:924 ../fish/guestfish-actions.pod:938
#: ../fish/guestfish-actions.pod:947 ../fish/guestfish-actions.pod:957
#: ../fish/guestfish-actions.pod:969 ../fish/guestfish-actions.pod:982
#: ../fish/guestfish-actions.pod:990 ../fish/guestfish-actions.pod:1016
#: ../fish/guestfish-actions.pod:1024 ../fish/guestfish-actions.pod:1032
#: ../lib/guestfs-actions.pod:1377 ../lib/guestfs-actions.pod:1397
#: ../lib/guestfs-actions.pod:1412 ../lib/guestfs-actions.pod:1428
#: ../lib/guestfs-actions.pod:1446 ../lib/guestfs-actions.pod:1465
#: ../lib/guestfs-actions.pod:1479 ../lib/guestfs-actions.pod:1519
#: ../lib/guestfs-actions.pod:1533 ../lib/guestfs-actions.pod:1547
msgid "This uses the L<blockdev(8)> command."
msgstr "This uses the L<blockdev(8)> command."

#. type: =head2
#: ../fish/guestfish-actions.pod:926
msgid "blockdev-getbsz"
msgstr "blockdev-getbsz"

#. type: verbatim
#: ../fish/guestfish-actions.pod:928
#, no-wrap
msgid ""
" blockdev-getbsz device\n"
"\n"
msgstr ""
" blockdev-getbsz device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:930 ../lib/guestfs-actions.pod:1389
msgid "This returns the block size of a device."
msgstr "This returns the block size of a device."

#. type: textblock
#: ../fish/guestfish-actions.pod:932 ../lib/guestfs-actions.pod:1391
msgid ""
"Note: this is different from both I<size in blocks> and I<filesystem block "
"size>.  Also this setting is not really used by anything.  You should "
"probably not use it for anything.  Filesystems have their own idea about "
"what block size to choose."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:940
msgid "blockdev-getro"
msgstr "blockdev-getro"

#. type: verbatim
#: ../fish/guestfish-actions.pod:942
#, no-wrap
msgid ""
" blockdev-getro device\n"
"\n"
msgstr ""
" blockdev-getro device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:944 ../lib/guestfs-actions.pod:1409
msgid ""
"Returns a boolean indicating if the block device is read-only (true if read-"
"only, false if not)."
msgstr ""
"Returns a boolean indicating if the block device is read-only (true if read-"
"only, false if not)."

#. type: =head2
#: ../fish/guestfish-actions.pod:949
msgid "blockdev-getsize64"
msgstr "blockdev-getsize64"

#. type: verbatim
#: ../fish/guestfish-actions.pod:951
#, no-wrap
msgid ""
" blockdev-getsize64 device\n"
"\n"
msgstr ""
" blockdev-getsize64 device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:953 ../lib/guestfs-actions.pod:1424
msgid "This returns the size of the device in bytes."
msgstr "This returns the size of the device in bytes."

#. type: textblock
#: ../fish/guestfish-actions.pod:955
msgid "See also L</blockdev-getsz>."
msgstr "See also L</blockdev-getsz>."

#. type: =head2
#: ../fish/guestfish-actions.pod:959
msgid "blockdev-getss"
msgstr "blockdev-getss"

#. type: verbatim
#: ../fish/guestfish-actions.pod:961
#, no-wrap
msgid ""
" blockdev-getss device\n"
"\n"
msgstr ""
" blockdev-getss device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:963 ../lib/guestfs-actions.pod:1440
msgid ""
"This returns the size of sectors on a block device.  Usually 512, but can be "
"larger for modern devices."
msgstr ""
"This returns the size of sectors on a block device.  Usually 512, but can be "
"larger for modern devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:966
msgid ""
"(Note, this is not the size in sectors, use L</blockdev-getsz> for that)."
msgstr ""
"(Note, this is not the size in sectors, use L</blockdev-getsz> for that)."

#. type: =head2
#: ../fish/guestfish-actions.pod:971
msgid "blockdev-getsz"
msgstr "blockdev-getsz"

#. type: verbatim
#: ../fish/guestfish-actions.pod:973
#, no-wrap
msgid ""
" blockdev-getsz device\n"
"\n"
msgstr ""
" blockdev-getsz device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:975 ../lib/guestfs-actions.pod:1458
msgid ""
"This returns the size of the device in units of 512-byte sectors (even if "
"the sectorsize isn't 512 bytes ... weird)."
msgstr ""
"This returns the size of the device in units of 512-byte sectors (even if "
"the sectorsize isn't 512 bytes ... weird)."

#. type: textblock
#: ../fish/guestfish-actions.pod:978
msgid ""
"See also L</blockdev-getss> for the real sector size of the device, and L</"
"blockdev-getsize64> for the more useful I<size in bytes>."
msgstr ""
"See also L</blockdev-getss> for the real sector size of the device, and L</"
"blockdev-getsize64> for the more useful I<size in bytes>."

#. type: =head2
#: ../fish/guestfish-actions.pod:984
msgid "blockdev-rereadpt"
msgstr "blockdev-rereadpt"

#. type: verbatim
#: ../fish/guestfish-actions.pod:986
#, no-wrap
msgid ""
" blockdev-rereadpt device\n"
"\n"
msgstr ""
" blockdev-rereadpt device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:988 ../lib/guestfs-actions.pod:1477
msgid "Reread the partition table on C<device>."
msgstr "Reread the partition table on C<device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:992
msgid "blockdev-setbsz"
msgstr "blockdev-setbsz"

#. type: verbatim
#: ../fish/guestfish-actions.pod:994
#, no-wrap
msgid ""
" blockdev-setbsz device blocksize\n"
"\n"
msgstr ""
" blockdev-setbsz device blocksize\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:996 ../lib/guestfs-actions.pod:1500
msgid ""
"This call does nothing and has never done anything because of a bug in "
"blockdev.  B<Do not use it.>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:999
msgid ""
"If you need to set the filesystem block size, use the C<blocksize> option of "
"L</mkfs>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1002 ../fish/guestfish-actions.pod:4247
#: ../fish/guestfish-actions.pod:4620 ../fish/guestfish-actions.pod:4636
#: ../fish/guestfish-actions.pod:4652 ../lib/guestfs-actions.pod:1492
#: ../lib/guestfs-actions.pod:6807 ../lib/guestfs-actions.pod:7354
#: ../lib/guestfs-actions.pod:7376 ../lib/guestfs-actions.pod:7398
#: ../lib/guestfs-actions.pod:15655
msgid ""
"I<This function is deprecated.> There is no replacement.  Consult the API "
"documentation in L<guestfs(3)> for further information."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1010
msgid "blockdev-setra"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1012
#, no-wrap
msgid ""
" blockdev-setra device sectors\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1014 ../lib/guestfs-actions.pod:1517
msgid "Set readahead (in 512-byte sectors) for the device."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1018
msgid "blockdev-setro"
msgstr "blockdev-setro"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1020
#, no-wrap
msgid ""
" blockdev-setro device\n"
"\n"
msgstr ""
" blockdev-setro device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1022 ../lib/guestfs-actions.pod:1531
msgid "Sets the block device named C<device> to read-only."
msgstr "Sets the block device named C<device> to read-only."

#. type: =head2
#: ../fish/guestfish-actions.pod:1026
msgid "blockdev-setrw"
msgstr "blockdev-setrw"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1028
#, no-wrap
msgid ""
" blockdev-setrw device\n"
"\n"
msgstr ""
" blockdev-setrw device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1030 ../lib/guestfs-actions.pod:1545
msgid "Sets the block device named C<device> to read-write."
msgstr "Sets the block device named C<device> to read-write."

#. type: =head2
#: ../fish/guestfish-actions.pod:1034
msgid "btrfs-balance-cancel"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1036
#, no-wrap
msgid ""
" btrfs-balance-cancel path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1038 ../lib/guestfs-actions.pod:1559
msgid "Cancel a running balance on a btrfs filesystem."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1040 ../fish/guestfish-actions.pod:1049
#: ../fish/guestfish-actions.pod:1058 ../fish/guestfish-actions.pod:1067
#: ../fish/guestfish-actions.pod:1077 ../fish/guestfish-actions.pod:1087
#: ../fish/guestfish-actions.pod:1099 ../fish/guestfish-actions.pod:1110
#: ../fish/guestfish-actions.pod:1138 ../fish/guestfish-actions.pod:1150
#: ../fish/guestfish-actions.pod:1159 ../fish/guestfish-actions.pod:1171
#: ../fish/guestfish-actions.pod:1183 ../fish/guestfish-actions.pod:1193
#: ../fish/guestfish-actions.pod:1202 ../fish/guestfish-actions.pod:1211
#: ../fish/guestfish-actions.pod:1220 ../fish/guestfish-actions.pod:1229
#: ../fish/guestfish-actions.pod:1239 ../fish/guestfish-actions.pod:1248
#: ../fish/guestfish-actions.pod:1257 ../fish/guestfish-actions.pod:1272
#: ../fish/guestfish-actions.pod:1281 ../fish/guestfish-actions.pod:1290
#: ../fish/guestfish-actions.pod:1299 ../fish/guestfish-actions.pod:1308
#: ../fish/guestfish-actions.pod:1319 ../fish/guestfish-actions.pod:1328
#: ../fish/guestfish-actions.pod:1338 ../fish/guestfish-actions.pod:1354
#: ../fish/guestfish-actions.pod:1363 ../fish/guestfish-actions.pod:1372
#: ../fish/guestfish-actions.pod:1382 ../fish/guestfish-actions.pod:1393
#: ../fish/guestfish-actions.pod:1402 ../fish/guestfish-actions.pod:1421
#: ../fish/guestfish-actions.pod:1430 ../fish/guestfish-actions.pod:1439
#: ../fish/guestfish-actions.pod:1449 ../fish/guestfish-actions.pod:6452
msgid ""
"This command depends on the feature C<btrfs>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1043
msgid "btrfs-balance-pause"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1045
#, no-wrap
msgid ""
" btrfs-balance-pause path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1047 ../lib/guestfs-actions.pod:1574
msgid "Pause a running balance on a btrfs filesystem."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1052
msgid "btrfs-balance-resume"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1054
#, no-wrap
msgid ""
" btrfs-balance-resume path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1056 ../lib/guestfs-actions.pod:1589
msgid "Resume a paused balance on a btrfs filesystem."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1061
msgid "btrfs-balance-status"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1063
#, no-wrap
msgid ""
" btrfs-balance-status path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1065 ../lib/guestfs-actions.pod:1604
msgid "Show the status of a running or paused balance on a btrfs filesystem."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1070
msgid "btrfs-device-add"
msgstr "btrfs-device-add"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1072
#, no-wrap
msgid ""
" btrfs-device-add 'devices ...' fs\n"
"\n"
msgstr ""
" btrfs-device-add 'devices ...' fs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1074 ../lib/guestfs-actions.pod:1622
msgid ""
"Add the list of device(s) in C<devices> to the btrfs filesystem mounted at "
"C<fs>.  If C<devices> is an empty list, this does nothing."
msgstr ""
"Add the list of device(s) in C<devices> to the btrfs filesystem mounted at "
"C<fs>.  If C<devices> is an empty list, this does nothing."

#. type: =head2
#: ../fish/guestfish-actions.pod:1080
msgid "btrfs-device-delete"
msgstr "btrfs-device-delete"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1082
#, no-wrap
msgid ""
" btrfs-device-delete 'devices ...' fs\n"
"\n"
msgstr ""
" btrfs-device-delete 'devices ...' fs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1084 ../lib/guestfs-actions.pod:1639
msgid ""
"Remove the C<devices> from the btrfs filesystem mounted at C<fs>.  If "
"C<devices> is an empty list, this does nothing."
msgstr ""
"Remove the C<devices> from the btrfs filesystem mounted at C<fs>.  If "
"C<devices> is an empty list, this does nothing."

#. type: =head2
#: ../fish/guestfish-actions.pod:1090
msgid "btrfs-filesystem-balance"
msgstr "btrfs-filesystem-balance"

#. type: =head2
#: ../fish/guestfish-actions.pod:1092
msgid "btrfs-balance"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1094
#, no-wrap
msgid ""
" btrfs-filesystem-balance fs\n"
"\n"
msgstr ""
" btrfs-filesystem-balance fs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1096 ../lib/guestfs-actions.pod:1655
msgid ""
"Balance the chunks in the btrfs filesystem mounted at C<fs> across the "
"underlying devices."
msgstr ""
"Balance the chunks in the btrfs filesystem mounted at C<fs> across the "
"underlying devices."

#. type: =head2
#: ../fish/guestfish-actions.pod:1102
msgid "btrfs-filesystem-defragment"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1104
#, no-wrap
msgid ""
" btrfs-filesystem-defragment path [flush:true|false] [compress:..]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1106 ../lib/guestfs-actions.pod:1680
msgid ""
"Defragment a file or directory on a btrfs filesystem. compress is one of "
"zlib or lzo."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1113
msgid "btrfs-filesystem-resize"
msgstr "btrfs-filesystem-resize"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1115
#, no-wrap
msgid ""
" btrfs-filesystem-resize mountpoint [size:N]\n"
"\n"
msgstr ""
" btrfs-filesystem-resize mountpoint [size:N]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1117 ../lib/guestfs-actions.pod:1725
msgid "This command resizes a btrfs filesystem."
msgstr "This command resizes a btrfs filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:1119 ../lib/guestfs-actions.pod:1727
msgid ""
"Note that unlike other resize calls, the filesystem has to be mounted and "
"the parameter is the mountpoint not the device (this is a requirement of "
"btrfs itself)."
msgstr ""
"Note that unlike other resize calls, the filesystem has to be mounted and "
"the parameter is the mountpoint not the device (this is a requirement of "
"btrfs itself)."

#. type: textblock
#: ../fish/guestfish-actions.pod:1123 ../fish/guestfish-actions.pod:6039
#: ../fish/guestfish-actions.pod:6976 ../fish/guestfish-actions.pod:9190
#: ../fish/guestfish-prepopts.pod:35 ../fish/guestfish-prepopts.pod:50
#: ../fish/guestfish-prepopts.pod:67 ../fish/guestfish-prepopts.pod:86
#: ../fish/guestfish-prepopts.pod:103 ../fish/guestfish-prepopts.pod:119
#: ../fish/guestfish-prepopts.pod:136 ../lib/guestfs-actions.pod:1731
#: ../lib/guestfs-actions.pod:9699 ../lib/guestfs-actions.pod:11401
#: ../lib/guestfs-actions.pod:14842
msgid "The optional parameters are:"
msgstr "The optional parameters are:"

#. type: =item
#: ../fish/guestfish-actions.pod:1127 ../fish/guestfish-actions.pod:6980
#: ../lib/guestfs-actions.pod:1735 ../lib/guestfs-actions.pod:11405
msgid "C<size>"
msgstr "C<size>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1129 ../lib/guestfs-actions.pod:1737
msgid ""
"The new size (in bytes) of the filesystem.  If omitted, the filesystem is "
"resized to the maximum size."
msgstr ""
"The new size (in bytes) of the filesystem.  If omitted, the filesystem is "
"resized to the maximum size."

#. type: textblock
#: ../fish/guestfish-actions.pod:1134 ../lib/guestfs-actions.pod:1742
msgid "See also L<btrfs(8)>."
msgstr "See also L<btrfs(8)>."

#. type: =head2
#: ../fish/guestfish-actions.pod:1141
msgid "btrfs-filesystem-show"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1143
#, no-wrap
msgid ""
" btrfs-filesystem-show device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1145 ../lib/guestfs-actions.pod:1779
msgid ""
"Show all the devices where the filesystems in C<device> is spanned over."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1147 ../lib/guestfs-actions.pod:1781
msgid ""
"If not all the devices for the filesystems are present, then this function "
"fails and the C<errno> is set to C<ENODEV>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1153
msgid "btrfs-filesystem-sync"
msgstr "btrfs-filesystem-sync"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1155
#, no-wrap
msgid ""
" btrfs-filesystem-sync fs\n"
"\n"
msgstr ""
" btrfs-filesystem-sync fs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1157 ../lib/guestfs-actions.pod:1799
msgid "Force sync on the btrfs filesystem mounted at C<fs>."
msgstr "Force sync on the btrfs filesystem mounted at C<fs>."

#. type: =head2
#: ../fish/guestfish-actions.pod:1162
msgid "btrfs-fsck"
msgstr "btrfs-fsck"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1164
#, no-wrap
msgid ""
" btrfs-fsck device [superblock:N] [repair:true|false]\n"
"\n"
msgstr ""
" btrfs-fsck device [superblock:N] [repair:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1166 ../lib/guestfs-actions.pod:1823
msgid ""
"Used to check a btrfs filesystem, C<device> is the device file where the "
"filesystem is stored."
msgstr ""
"Used to check a btrfs filesystem, C<device> is the device file where the "
"filesystem is stored."

#. type: =head2
#: ../fish/guestfish-actions.pod:1174
msgid "btrfs-image"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1176
#, no-wrap
msgid ""
" btrfs-image 'source ...' image [compresslevel:N]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1178 ../lib/guestfs-actions.pod:1870
msgid ""
"This is used to create an image of a btrfs filesystem.  All data will be "
"zeroed, but metadata and the like is preserved."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1186
msgid "btrfs-qgroup-assign"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1188
#, no-wrap
msgid ""
" btrfs-qgroup-assign src dst path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1190 ../lib/guestfs-actions.pod:1912
msgid ""
"Add qgroup C<src> to parent qgroup C<dst>. This command can group several "
"qgroups into a parent qgroup to share common limit."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1196
msgid "btrfs-qgroup-create"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1198
#, no-wrap
msgid ""
" btrfs-qgroup-create qgroupid subvolume\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1200 ../lib/guestfs-actions.pod:1929
msgid "Create a quota group (qgroup) for subvolume at C<subvolume>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1205
msgid "btrfs-qgroup-destroy"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1207
#, no-wrap
msgid ""
" btrfs-qgroup-destroy qgroupid subvolume\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1209 ../lib/guestfs-actions.pod:1945
msgid "Destroy a quota group."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1214
msgid "btrfs-qgroup-limit"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1216
#, no-wrap
msgid ""
" btrfs-qgroup-limit subvolume size\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1218 ../lib/guestfs-actions.pod:1961
msgid "Limit the size of the subvolume with path C<subvolume>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1223
msgid "btrfs-qgroup-remove"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1225
#, no-wrap
msgid ""
" btrfs-qgroup-remove src dst path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1227 ../lib/guestfs-actions.pod:1978
msgid "Remove qgroup C<src> from the parent qgroup C<dst>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1232
msgid "btrfs-qgroup-show"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1234
#, no-wrap
msgid ""
" btrfs-qgroup-show path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1236 ../lib/guestfs-actions.pod:1993
msgid ""
"Show all subvolume quota groups in a btrfs filesystem, including their "
"usages."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1242
msgid "btrfs-quota-enable"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1244
#, no-wrap
msgid ""
" btrfs-quota-enable fs true|false\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1246 ../lib/guestfs-actions.pod:2012
msgid ""
"Enable or disable subvolume quota support for filesystem which contains "
"C<path>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1251
msgid "btrfs-quota-rescan"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1253
#, no-wrap
msgid ""
" btrfs-quota-rescan fs\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1255 ../lib/guestfs-actions.pod:2027
msgid ""
"Trash all qgroup numbers and scan the metadata again with the current config."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1260
msgid "btrfs-replace"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1262
#, no-wrap
msgid ""
" btrfs-replace srcdev targetdev mntpoint\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1264 ../lib/guestfs-actions.pod:2044
msgid ""
"Replace device of a btrfs filesystem. On a live filesystem, duplicate the "
"data to the target device which is currently stored on the source device.  "
"After completion of the operation, the source device is wiped out and "
"removed from the filesystem."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1269 ../lib/guestfs-actions.pod:2049
msgid ""
"The C<targetdev> needs to be same size or larger than the C<srcdev>. Devices "
"which are currently mounted are never allowed to be used as the C<targetdev>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1275
msgid "btrfs-rescue-chunk-recover"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1277
#, no-wrap
msgid ""
" btrfs-rescue-chunk-recover device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1279 ../lib/guestfs-actions.pod:2065
msgid ""
"Recover the chunk tree of btrfs filesystem by scanning the devices one by "
"one."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1284
msgid "btrfs-rescue-super-recover"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1286
#, no-wrap
msgid ""
" btrfs-rescue-super-recover device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1288 ../lib/guestfs-actions.pod:2080
msgid "Recover bad superblocks from good copies."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1293
msgid "btrfs-scrub-cancel"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1295
#, no-wrap
msgid ""
" btrfs-scrub-cancel path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1297 ../lib/guestfs-actions.pod:2095
msgid "Cancel a running scrub on a btrfs filesystem."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1302
msgid "btrfs-scrub-resume"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1304
#, no-wrap
msgid ""
" btrfs-scrub-resume path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1306 ../lib/guestfs-actions.pod:2110
msgid ""
"Resume a previously canceled or interrupted scrub on a btrfs filesystem."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1311
msgid "btrfs-scrub-start"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1313
#, no-wrap
msgid ""
" btrfs-scrub-start path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1315 ../lib/guestfs-actions.pod:2125
msgid ""
"Reads all the data and metadata on the filesystem, and uses checksums and "
"the duplicate copies from RAID storage to identify and repair any corrupt "
"data."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1322
msgid "btrfs-scrub-status"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1324
#, no-wrap
msgid ""
" btrfs-scrub-status path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1326 ../lib/guestfs-actions.pod:2142
msgid "Show status of running or finished scrub on a btrfs filesystem."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1331
msgid "btrfs-set-seeding"
msgstr "btrfs-set-seeding"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1333
#, no-wrap
msgid ""
" btrfs-set-seeding device true|false\n"
"\n"
msgstr ""
" btrfs-set-seeding device true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1335 ../lib/guestfs-actions.pod:2160
msgid ""
"Enable or disable the seeding feature of a device that contains a btrfs "
"filesystem."
msgstr ""
"Enable or disable the seeding feature of a device that contains a btrfs "
"filesystem."

#. type: =head2
#: ../fish/guestfish-actions.pod:1341
msgid "btrfs-subvolume-create"
msgstr "btrfs-subvolume-create"

#. type: =head2
#: ../fish/guestfish-actions.pod:1343
msgid "btrfs-subvolume-create-opts"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1345
#, no-wrap
msgid ""
" btrfs-subvolume-create dest [qgroupid:..]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1347 ../lib/guestfs-actions.pod:2197
msgid ""
"Create a btrfs subvolume.  The C<dest> argument is the destination directory "
"and the name of the subvolume, in the form F</path/to/dest/name>.  The "
"optional parameter C<qgroupid> represents the qgroup which the newly created "
"subvolume will be added to."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1357
msgid "btrfs-subvolume-delete"
msgstr "btrfs-subvolume-delete"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1359
#, no-wrap
msgid ""
" btrfs-subvolume-delete subvolume\n"
"\n"
msgstr ""
" btrfs-subvolume-delete subvolume\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1361 ../lib/guestfs-actions.pod:2237
msgid "Delete the named btrfs subvolume or snapshot."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1366
msgid "btrfs-subvolume-get-default"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1368
#, no-wrap
msgid ""
" btrfs-subvolume-get-default fs\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1370 ../lib/guestfs-actions.pod:2252
msgid ""
"Get the default subvolume or snapshot of a filesystem mounted at "
"C<mountpoint>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1375
msgid "btrfs-subvolume-list"
msgstr "btrfs-subvolume-list"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1377
#, no-wrap
msgid ""
" btrfs-subvolume-list fs\n"
"\n"
msgstr ""
" btrfs-subvolume-list fs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1379 ../lib/guestfs-actions.pod:2267
msgid ""
"List the btrfs snapshots and subvolumes of the btrfs filesystem which is "
"mounted at C<fs>."
msgstr ""
"List the btrfs snapshots and subvolumes of the btrfs filesystem which is "
"mounted at C<fs>."

#. type: =head2
#: ../fish/guestfish-actions.pod:1385
msgid "btrfs-subvolume-set-default"
msgstr "btrfs-subvolume-set-default"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1387
#, no-wrap
msgid ""
" btrfs-subvolume-set-default id fs\n"
"\n"
msgstr ""
" btrfs-subvolume-set-default id fs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1389
msgid ""
"Set the subvolume of the btrfs filesystem C<fs> which will be mounted by "
"default.  See L</btrfs-subvolume-list> to get a list of subvolumes."
msgstr ""
"Set the subvolume of the btrfs filesystem C<fs> which will be mounted by "
"default.  See L</btrfs-subvolume-list> to get a list of subvolumes."

#. type: =head2
#: ../fish/guestfish-actions.pod:1396
msgid "btrfs-subvolume-show"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1398
#, no-wrap
msgid ""
" btrfs-subvolume-show subvolume\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1400 ../lib/guestfs-actions.pod:2303
msgid "Return detailed information of the subvolume."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1405
msgid "btrfs-subvolume-snapshot"
msgstr "btrfs-subvolume-snapshot"

#. type: =head2
#: ../fish/guestfish-actions.pod:1407
msgid "btrfs-subvolume-snapshot-opts"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1409
#, no-wrap
msgid ""
" btrfs-subvolume-snapshot source dest [ro:true|false] [qgroupid:..]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1411 ../lib/guestfs-actions.pod:2346
msgid ""
"Create a snapshot of the btrfs subvolume C<source>.  The C<dest> argument is "
"the destination directory and the name of the snapshot, in the form F</path/"
"to/dest/name>. By default the newly created snapshot is writable, if the "
"value of optional parameter C<ro> is true, then a readonly snapshot is "
"created. The optional parameter C<qgroupid> represents the qgroup which the "
"newly created snapshot will be added to."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1424
msgid "btrfstune-enable-extended-inode-refs"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1426
#, no-wrap
msgid ""
" btrfstune-enable-extended-inode-refs device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1428 ../lib/guestfs-actions.pod:2391
msgid "This will Enable extended inode refs."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1433
msgid "btrfstune-enable-skinny-metadata-extent-refs"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1435
#, no-wrap
msgid ""
" btrfstune-enable-skinny-metadata-extent-refs device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1437 ../lib/guestfs-actions.pod:2406
msgid "This enable skinny metadata extent refs."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1442
msgid "btrfstune-seeding"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1444
#, no-wrap
msgid ""
" btrfstune-seeding device true|false\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1446 ../lib/guestfs-actions.pod:2422
msgid ""
"Enable seeding of a btrfs device, this will force a fs readonly so that you "
"can use it to build other filesystems."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1452
msgid "c-pointer"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1454
#, no-wrap
msgid ""
" c-pointer\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1456
msgid ""
"In non-C language bindings, this allows you to retrieve the underlying C "
"pointer to the handle (ie. L</h *>).  The purpose of this is to allow other "
"libraries to interwork with libguestfs."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1460
msgid "canonical-device-name"
msgstr "canonical-device-name"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1462
#, no-wrap
msgid ""
" canonical-device-name device\n"
"\n"
msgstr ""
" canonical-device-name device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1464 ../lib/guestfs-actions.pod:2451
msgid ""
"This utility function is useful when displaying device names to the user.  "
"It takes a number of irregular device names and returns them in a consistent "
"format:"
msgstr ""
"This utility function is useful when displaying device names to the user.  "
"It takes a number of irregular device names and returns them in a consistent "
"format:"

#. type: =item
#: ../fish/guestfish-actions.pod:1470 ../lib/guestfs-actions.pod:2457
msgid "F</dev/hdX>"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1472 ../lib/guestfs-actions.pod:2459
msgid "F</dev/vdX>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1474 ../lib/guestfs-actions.pod:2461
msgid ""
"These are returned as F</dev/sdX>.  Note this works for device names and "
"partition names.  This is approximately the reverse of the algorithm "
"described in L<guestfs(3)/BLOCK DEVICE NAMING>."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1478 ../lib/guestfs-actions.pod:2465
msgid "F</dev/mapper/VG-LV>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1482
msgid "Converted to F</dev/VG/LV> form using L</lvm-canonical-lv-name>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1486 ../lib/guestfs-actions.pod:2473
msgid "Other strings are returned unmodified."
msgstr "Other strings are returned unmodified."

#. type: =head2
#: ../fish/guestfish-actions.pod:1488
msgid "cap-get-file"
msgstr "cap-get-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1490
#, no-wrap
msgid ""
" cap-get-file path\n"
"\n"
msgstr ""
" cap-get-file path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1492 ../lib/guestfs-actions.pod:2486
msgid ""
"This function returns the Linux capabilities attached to C<path>.  The "
"capabilities set is returned in text form (see L<cap_to_text(3)>)."
msgstr ""
"This function returns the Linux capabilities attached to C<path>.  The "
"capabilities set is returned in text form (see L<cap_to_text(3)>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:1495 ../lib/guestfs-actions.pod:2489
msgid "If no capabilities are attached to a file, an empty string is returned."
msgstr ""
"If no capabilities are attached to a file, an empty string is returned."

#. type: textblock
#: ../fish/guestfish-actions.pod:1497 ../fish/guestfish-actions.pod:1508
msgid ""
"This command depends on the feature C<linuxcaps>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1500
msgid "cap-set-file"
msgstr "cap-set-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1502
#, no-wrap
msgid ""
" cap-set-file path cap\n"
"\n"
msgstr ""
" cap-set-file path cap\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1504 ../lib/guestfs-actions.pod:2506
msgid ""
"This function sets the Linux capabilities attached to C<path>.  The "
"capabilities set C<cap> should be passed in text form (see "
"L<cap_from_text(3)>)."
msgstr ""
"This function sets the Linux capabilities attached to C<path>.  The "
"capabilities set C<cap> should be passed in text form (see "
"L<cap_from_text(3)>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:1511
msgid "case-sensitive-path"
msgstr "case-sensitive-path"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1513
#, no-wrap
msgid ""
" case-sensitive-path path\n"
"\n"
msgstr ""
" case-sensitive-path path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1515 ../lib/guestfs-actions.pod:2523
msgid ""
"This can be used to resolve case insensitive paths on a filesystem which is "
"case sensitive.  The use case is to resolve paths which you have read from "
"Windows configuration files or the Windows Registry, to the true path."
msgstr ""
"This can be used to resolve case insensitive paths on a filesystem which is "
"case sensitive.  The use case is to resolve paths which you have read from "
"Windows configuration files or the Windows Registry, to the true path."

#. type: textblock
#: ../fish/guestfish-actions.pod:1520 ../lib/guestfs-actions.pod:2528
msgid ""
"The command handles a peculiarity of the Linux ntfs-3g filesystem driver "
"(and probably others), which is that although the underlying filesystem is "
"case-insensitive, the driver exports the filesystem to Linux as case-"
"sensitive."
msgstr ""
"The command handles a peculiarity of the Linux ntfs-3g filesystem driver "
"(and probably others), which is that although the underlying filesystem is "
"case-insensitive, the driver exports the filesystem to Linux as case-"
"sensitive."

#. type: textblock
#: ../fish/guestfish-actions.pod:1525 ../lib/guestfs-actions.pod:2533
msgid ""
"One consequence of this is that special directories such as F<C:\\windows> "
"may appear as F</WINDOWS> or F</windows> (or other things) depending on the "
"precise details of how they were created.  In Windows itself this would not "
"be a problem."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1531 ../lib/guestfs-actions.pod:2539
#, fuzzy
#| msgid ""
#| "Bug or feature? You decide: L<http://www.tuxera.com/community/ntfs-3g-faq/"
#| "#posixfilenames1>"
msgid ""
"Bug or feature? You decide: L<https://www.tuxera.com/community/ntfs-3g-faq/"
"#posixfilenames1>"
msgstr ""
"Bug or feature? You decide: L<http://www.tuxera.com/community/ntfs-3g-faq/"
"#posixfilenames1>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1534
msgid ""
"L</case-sensitive-path> attempts to resolve the true case of each element in "
"the path. It will return a resolved path if either the full path or its "
"parent directory exists. If the parent directory exists but the full path "
"does not, the case of the parent directory will be correctly resolved, and "
"the remainder appended unmodified. For example, if the file C<\"/Windows/"
"System32/netkvm.sys\"> exists:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1543
msgid "L</case-sensitive-path> (\"/windows/system32/netkvm.sys\")"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1545 ../lib/guestfs-actions.pod:2553
msgid "\"Windows/System32/netkvm.sys\""
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1547
msgid "L</case-sensitive-path> (\"/windows/system32/NoSuchFile\")"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1549 ../lib/guestfs-actions.pod:2557
msgid "\"Windows/System32/NoSuchFile\""
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1551
msgid "L</case-sensitive-path> (\"/windows/system33/netkvm.sys\")"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1553 ../lib/guestfs-actions.pod:2561
msgid "I<ERROR>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1557
msgid ""
"I<Note>: Because of the above behaviour, L</case-sensitive-path> cannot be "
"used to check for the existence of a file."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1561 ../lib/guestfs-actions.pod:2569
msgid "I<Note>: This function does not handle drive names, backslashes etc."
msgstr "I<Note>: This function does not handle drive names, backslashes etc."

#. type: textblock
#: ../fish/guestfish-actions.pod:1564
msgid "See also L</realpath>."
msgstr "See also L</realpath>."

#. type: =head2
#: ../fish/guestfish-actions.pod:1566
msgid "cat"
msgstr "cat"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1568
#, no-wrap
msgid ""
" cat path\n"
"\n"
msgstr ""
" cat path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1570 ../fish/guestfish-actions.pod:7621
#: ../lib/guestfs-actions.pod:2585 ../lib/guestfs-actions.pod:12394
msgid "Return the contents of the file named C<path>."
msgstr "Return the contents of the file named C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:1572
msgid ""
"Because, in C, this function returns a C<char *>, there is no way to "
"differentiate between a C<\\0> character in a file and end of string.  To "
"handle binary files, use the L</read-file> or L</download> functions."
msgstr ""
"Because, in C, this function returns a C<char *>, there is no way to "
"differentiate between a C<\\0> character in a file and end of string.  To "
"handle binary files, use the L</read-file> or L</download> functions."

#. type: =head2
#: ../fish/guestfish-actions.pod:1577
msgid "checksum"
msgstr "checksum"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1579
#, no-wrap
msgid ""
" checksum csumtype path\n"
"\n"
msgstr ""
" checksum csumtype path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1581 ../lib/guestfs-actions.pod:2604
msgid ""
"This call computes the MD5, SHAx or CRC checksum of the file named C<path>."
msgstr ""
"This call computes the MD5, SHAx or CRC checksum of the file named C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:1584 ../lib/guestfs-actions.pod:2607
msgid ""
"The type of checksum to compute is given by the C<csumtype> parameter which "
"must have one of the following values:"
msgstr ""
"The type of checksum to compute is given by the C<csumtype> parameter which "
"must have one of the following values:"

#. type: =item
#: ../fish/guestfish-actions.pod:1589 ../fish/guestfish-actions.pod:1953
#: ../lib/guestfs-actions.pod:2612 ../lib/guestfs-actions.pod:3421
msgid "C<crc>"
msgstr "C<crc>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1591 ../lib/guestfs-actions.pod:2614
msgid ""
"Compute the cyclic redundancy check (CRC) specified by POSIX for the "
"C<cksum> command."
msgstr ""
"Compute the cyclic redundancy check (CRC) specified by POSIX for the "
"C<cksum> command."

#. type: =item
#: ../fish/guestfish-actions.pod:1594 ../lib/guestfs-actions.pod:2617
msgid "C<md5>"
msgstr "C<md5>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1596 ../lib/guestfs-actions.pod:2619
#, fuzzy
#| msgid "Compute the MD5 hash (using the C<md5sum> program)."
msgid "Compute the MD5 hash (using the L<md5sum(1)> program)."
msgstr "Compute the MD5 hash (using the C<md5sum> program)."

#. type: =item
#: ../fish/guestfish-actions.pod:1598 ../lib/guestfs-actions.pod:2621
msgid "C<sha1>"
msgstr "C<sha1>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1600 ../lib/guestfs-actions.pod:2623
#, fuzzy
#| msgid "Compute the SHA1 hash (using the C<sha1sum> program)."
msgid "Compute the SHA1 hash (using the L<sha1sum(1)> program)."
msgstr "Compute the SHA1 hash (using the C<sha1sum> program)."

#. type: =item
#: ../fish/guestfish-actions.pod:1602 ../lib/guestfs-actions.pod:2625
msgid "C<sha224>"
msgstr "C<sha224>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1604 ../lib/guestfs-actions.pod:2627
#, fuzzy
#| msgid "Compute the SHA224 hash (using the C<sha224sum> program)."
msgid "Compute the SHA224 hash (using the L<sha224sum(1)> program)."
msgstr "Compute the SHA224 hash (using the C<sha224sum> program)."

#. type: =item
#: ../fish/guestfish-actions.pod:1606 ../lib/guestfs-actions.pod:2629
msgid "C<sha256>"
msgstr "C<sha256>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1608 ../lib/guestfs-actions.pod:2631
#, fuzzy
#| msgid "Compute the SHA256 hash (using the C<sha256sum> program)."
msgid "Compute the SHA256 hash (using the L<sha256sum(1)> program)."
msgstr "Compute the SHA256 hash (using the C<sha256sum> program)."

#. type: =item
#: ../fish/guestfish-actions.pod:1610 ../lib/guestfs-actions.pod:2633
msgid "C<sha384>"
msgstr "C<sha384>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1612 ../lib/guestfs-actions.pod:2635
#, fuzzy
#| msgid "Compute the SHA384 hash (using the C<sha384sum> program)."
msgid "Compute the SHA384 hash (using the L<sha384sum(1)> program)."
msgstr "Compute the SHA384 hash (using the C<sha384sum> program)."

#. type: =item
#: ../fish/guestfish-actions.pod:1614 ../lib/guestfs-actions.pod:2637
msgid "C<sha512>"
msgstr "C<sha512>"

#. type: textblock
#: ../fish/guestfish-actions.pod:1616 ../lib/guestfs-actions.pod:2639
#, fuzzy
#| msgid "Compute the SHA512 hash (using the C<sha512sum> program)."
msgid "Compute the SHA512 hash (using the L<sha512sum(1)> program)."
msgstr "Compute the SHA512 hash (using the C<sha512sum> program)."

#. type: textblock
#: ../fish/guestfish-actions.pod:1620 ../lib/guestfs-actions.pod:2643
msgid "The checksum is returned as a printable string."
msgstr "The checksum is returned as a printable string."

#. type: textblock
#: ../fish/guestfish-actions.pod:1622
msgid "To get the checksum for a device, use L</checksum-device>."
msgstr "To get the checksum for a device, use L</checksum-device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:1624
msgid "To get the checksums for many files, use L</checksums-out>."
msgstr "To get the checksums for many files, use L</checksums-out>."

#. type: =head2
#: ../fish/guestfish-actions.pod:1626
msgid "checksum-device"
msgstr "checksum-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1628
#, no-wrap
msgid ""
" checksum-device csumtype device\n"
"\n"
msgstr ""
" checksum-device csumtype device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1630
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 L</"
"checksum> command."
msgstr ""
"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 L</"
"checksum> command."

#. type: =head2
#: ../fish/guestfish-actions.pod:1634
msgid "checksums-out"
msgstr "checksums-out"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1636
#, no-wrap
msgid ""
" checksums-out csumtype directory (sumsfile|-)\n"
"\n"
msgstr ""
" checksums-out csumtype directory (sumsfile|-)\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1638 ../lib/guestfs-actions.pod:2678
msgid ""
"This command computes the checksums of all regular files in F<directory> and "
"then emits a list of those checksums to the local output file C<sumsfile>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1642 ../lib/guestfs-actions.pod:2682
msgid ""
"This can be used for verifying the integrity of a virtual machine.  However "
"to be properly secure you should pay attention to the output of the checksum "
"command (it uses the ones from GNU coreutils).  In particular when the "
"filename is not printable, coreutils uses a special backslash syntax.  For "
"more information, see the GNU coreutils info file."
msgstr ""
"This can be used for verifying the integrity of a virtual machine.  However "
"to be properly secure you should pay attention to the output of the checksum "
"command (it uses the ones from GNU coreutils).  In particular when the "
"filename is not printable, coreutils uses a special backslash syntax.  For "
"more information, see the GNU coreutils info file."

#. type: =head2
#: ../fish/guestfish-actions.pod:1652
msgid "chmod"
msgstr "chmod"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1654
#, no-wrap
msgid ""
" chmod mode path\n"
"\n"
msgstr ""
" chmod mode path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1656 ../lib/guestfs-actions.pod:2701
msgid ""
"Change the mode (permissions) of C<path> to C<mode>.  Only numeric modes are "
"supported."
msgstr ""
"Change the mode (permissions) of C<path> to C<mode>.  Only numeric modes are "
"supported."

#. type: textblock
#: ../fish/guestfish-actions.pod:1659 ../lib/guestfs-actions.pod:2704
msgid ""
"I<Note>: When using this command from guestfish, C<mode> by default would be "
"decimal, unless you prefix it with C<0> to get octal, ie. use C<0700> not "
"C<700>."
msgstr ""
"I<Note>: When using this command from guestfish, C<mode> by default would be "
"decimal, unless you prefix it with C<0> to get octal, ie. use C<0700> not "
"C<700>."

#. type: textblock
#: ../fish/guestfish-actions.pod:1663 ../fish/guestfish-actions.pod:6365
#: ../fish/guestfish-actions.pod:6526 ../fish/guestfish-actions.pod:6542
#: ../fish/guestfish-actions.pod:6558 ../lib/guestfs-actions.pod:2708
#: ../lib/guestfs-actions.pod:10225 ../lib/guestfs-actions.pod:10509
#: ../lib/guestfs-actions.pod:10534 ../lib/guestfs-actions.pod:10559
msgid "The mode actually set is affected by the umask."
msgstr "The mode actually set is affected by the umask."

#. type: =head2
#: ../fish/guestfish-actions.pod:1665
msgid "chown"
msgstr "chown"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1667
#, no-wrap
msgid ""
" chown owner group path\n"
"\n"
msgstr ""
" chown owner group path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1669 ../lib/guestfs-actions.pod:2722
msgid "Change the file owner to C<owner> and group to C<group>."
msgstr "Change the file owner to C<owner> and group to C<group>."

#. type: textblock
#: ../fish/guestfish-actions.pod:1671 ../fish/guestfish-actions.pod:5234
#: ../lib/guestfs-actions.pod:2724 ../lib/guestfs-actions.pod:8436
msgid ""
"Only numeric uid and gid are supported.  If you want to use names, you will "
"need to locate and parse the password file yourself (Augeas support makes "
"this relatively easy)."
msgstr ""
"Only numeric uid and gid are supported.  If you want to use names, you will "
"need to locate and parse the password file yourself (Augeas support makes "
"this relatively easy)."

#. type: =head2
#: ../fish/guestfish-actions.pod:1675
msgid "clear-backend-setting"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1677
#, no-wrap
msgid ""
" clear-backend-setting name\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1679 ../lib/guestfs-actions.pod:2738
msgid ""
"If there is a backend setting string matching C<\"name\"> or beginning with "
"C<\"name=\">, then that string is removed from the backend settings."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1683 ../lib/guestfs-actions.pod:2742
msgid ""
"This call returns the number of strings which were removed (which may be 0, "
"1 or greater than 1)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1686 ../fish/guestfish-actions.pod:3015
#: ../fish/guestfish-actions.pod:3026 ../fish/guestfish-actions.pod:8080
#: ../fish/guestfish-actions.pod:8101 ../lib/guestfs-actions.pod:2745
#: ../lib/guestfs-actions.pod:5008 ../lib/guestfs-actions.pod:5025
#: ../lib/guestfs-actions.pod:13181 ../lib/guestfs-actions.pod:13208
msgid "See L<guestfs(3)/BACKEND>, L<guestfs(3)/BACKEND SETTINGS>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1688
msgid "command"
msgstr "command"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1690
#, no-wrap
msgid ""
" command 'arguments ...'\n"
"\n"
msgstr ""
" command 'arguments ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1692 ../lib/guestfs-actions.pod:2757
msgid ""
"This call runs a command from the guest filesystem.  The filesystem must be "
"mounted, and must contain a compatible operating system (ie. something "
"Linux, with the same or compatible processor architecture)."
msgstr ""
"This call runs a command from the guest filesystem.  The filesystem must be "
"mounted, and must contain a compatible operating system (ie. something "
"Linux, with the same or compatible processor architecture)."

#. type: textblock
#: ../fish/guestfish-actions.pod:1697
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 L</sh>)."
msgstr ""
"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 L</sh>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:1704 ../lib/guestfs-actions.pod:2769
msgid "The return value is anything printed to I<stdout> by the command."
msgstr "The return value is anything printed to I<stdout> by the command."

#. type: textblock
#: ../fish/guestfish-actions.pod:1707 ../lib/guestfs-actions.pod:2772
msgid ""
"If the command returns a non-zero exit status, then this function returns an "
"error message.  The error message string is the content of I<stderr> from "
"the command."
msgstr ""
"If the command returns a non-zero exit status, then this function returns an "
"error message.  The error message string is the content of I<stderr> from "
"the command."

#. type: textblock
#: ../fish/guestfish-actions.pod:1711 ../lib/guestfs-actions.pod:2776
msgid ""
"The C<$PATH> environment variable will contain at least F</usr/bin> and F</"
"bin>.  If you require a program from another location, you should provide "
"the full path in the first parameter."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1716 ../lib/guestfs-actions.pod:2781
msgid ""
"Shared libraries and data files required by the program must be available on "
"filesystems which are mounted in the correct places.  It is the caller’s "
"responsibility to ensure all filesystems that are needed are mounted at the "
"right locations."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1722 ../fish/guestfish-actions.pod:1734
#: ../fish/guestfish-actions.pod:2280 ../fish/guestfish-actions.pod:2297
#: ../fish/guestfish-actions.pod:2418 ../fish/guestfish-actions.pod:2435
#: ../fish/guestfish-actions.pod:3515 ../fish/guestfish-actions.pod:3525
#: ../fish/guestfish-actions.pod:3585 ../fish/guestfish-actions.pod:3600
#: ../fish/guestfish-actions.pod:3610 ../fish/guestfish-actions.pod:3861
#: ../fish/guestfish-actions.pod:7460 ../fish/guestfish-actions.pod:7475
#: ../fish/guestfish-actions.pod:7587 ../fish/guestfish-actions.pod:7604
#: ../fish/guestfish-actions.pod:7689 ../fish/guestfish-actions.pod:8837
#: ../fish/guestfish-actions.pod:8887 ../fish/guestfish-actions.pod:9017
#: ../fish/guestfish-actions.pod:9032 ../fish/guestfish-actions.pod:9770
#: ../fish/guestfish-actions.pod:9916 ../fish/guestfish-actions.pod:9933
#: ../fish/guestfish-actions.pod:10011 ../fish/guestfish-actions.pod:10028
#: ../fish/guestfish-actions.pod:10064 ../fish/guestfish-actions.pod:10081
#: ../lib/guestfs-actions.pod:2790 ../lib/guestfs-actions.pod:2810
#: ../lib/guestfs-actions.pod:4024 ../lib/guestfs-actions.pod:4050
#: ../lib/guestfs-actions.pod:4225 ../lib/guestfs-actions.pod:4251
#: ../lib/guestfs-actions.pod:5789 ../lib/guestfs-actions.pod:5839
#: ../lib/guestfs-actions.pod:5907 ../lib/guestfs-actions.pod:5931
#: ../lib/guestfs-actions.pod:5948 ../lib/guestfs-actions.pod:6364
#: ../lib/guestfs-actions.pod:12134 ../lib/guestfs-actions.pod:12160
#: ../lib/guestfs-actions.pod:12338 ../lib/guestfs-actions.pod:12364
#: ../lib/guestfs-actions.pod:12474 ../lib/guestfs-actions.pod:14224
#: ../lib/guestfs-actions.pod:14283 ../lib/guestfs-actions.pod:14508
#: ../lib/guestfs-actions.pod:14532 ../lib/guestfs-actions.pod:15801
#: ../lib/guestfs-actions.pod:16115 ../lib/guestfs-actions.pod:16141
#: ../lib/guestfs-actions.pod:16267 ../lib/guestfs-actions.pod:16293
#: ../lib/guestfs-actions.pod:16346 ../lib/guestfs-actions.pod:16372
msgid ""
"Because of the message protocol, there is a transfer limit of somewhere "
"between 2MB and 4MB.  See L<guestfs(3)/PROTOCOL LIMITS>."
msgstr ""
"Because of the message protocol, there is a transfer limit of somewhere "
"between 2MB and 4MB.  See L<guestfs(3)/PROTOCOL LIMITS>."

#. type: =head2
#: ../fish/guestfish-actions.pod:1725
msgid "command-lines"
msgstr "command-lines"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1727
#, no-wrap
msgid ""
" command-lines 'arguments ...'\n"
"\n"
msgstr ""
" command-lines 'arguments ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1729
msgid ""
"This is the same as L</command>, but splits the result into a list of lines."
msgstr ""
"This is the same as L</command>, but splits the result into a list of lines."

#. type: textblock
#: ../fish/guestfish-actions.pod:1732
msgid "See also: L</sh-lines>"
msgstr "See also: L</sh-lines>"

#. type: =head2
#: ../fish/guestfish-actions.pod:1737
msgid "compress-device-out"
msgstr "compress-device-out"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1739
#, no-wrap
msgid ""
" compress-device-out ctype device (zdevice|-) [level:N]\n"
"\n"
msgstr ""
" compress-device-out ctype device (zdevice|-) [level:N]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1741 ../lib/guestfs-actions.pod:2831
msgid ""
"This command compresses C<device> and writes it out to the local file "
"C<zdevice>."
msgstr ""
"This command compresses C<device> and writes it out to the local file "
"C<zdevice>."

#. type: textblock
#: ../fish/guestfish-actions.pod:1744
msgid ""
"The C<ctype> and optional C<level> parameters have the same meaning as in L</"
"compress-out>."
msgstr ""
"The C<ctype> and optional C<level> parameters have the same meaning as in L</"
"compress-out>."

#. type: =head2
#: ../fish/guestfish-actions.pod:1751
msgid "compress-out"
msgstr "compress-out"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1753
#, no-wrap
msgid ""
" compress-out ctype file (zfile|-) [level:N]\n"
"\n"
msgstr ""
" compress-out ctype file (zfile|-) [level:N]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1755 ../lib/guestfs-actions.pod:2883
msgid ""
"This command compresses F<file> and writes it out to the local file F<zfile>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1758 ../lib/guestfs-actions.pod:2886
msgid ""
"The compression program used is controlled by the C<ctype> parameter.  "
"Currently this includes: C<compress>, C<gzip>, C<bzip2>, C<xz> or C<lzop>.  "
"Some compression types may not be supported by particular builds of "
"libguestfs, in which case you will get an error containing the substring "
"\"not supported\"."
msgstr ""
"The compression program used is controlled by the C<ctype> parameter.  "
"Currently this includes: C<compress>, C<gzip>, C<bzip2>, C<xz> or C<lzop>.  "
"Some compression types may not be supported by particular builds of "
"libguestfs, in which case you will get an error containing the substring "
"\"not supported\"."

#. type: textblock
#: ../fish/guestfish-actions.pod:1764 ../lib/guestfs-actions.pod:2892
msgid ""
"The optional C<level> parameter controls compression level.  The meaning and "
"default for this parameter depends on the compression program being used."
msgstr ""
"The optional C<level> parameter controls compression level.  The meaning and "
"default for this parameter depends on the compression program being used."

#. type: =head2
#: ../fish/guestfish-actions.pod:1772
msgid "config"
msgstr "config"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1774
#, no-wrap
msgid ""
" config hvparam hvvalue\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1776 ../lib/guestfs-actions.pod:2933
msgid ""
"This can be used to add arbitrary hypervisor parameters of the form I<-param "
"value>.  Actually it’s not quite arbitrary - we prevent you from setting "
"some parameters which would interfere with parameters that we use."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1781 ../lib/guestfs-actions.pod:2938
msgid "The first character of C<hvparam> string must be a C<-> (dash)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1783 ../lib/guestfs-actions.pod:2940
msgid "C<hvvalue> can be NULL."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1785
msgid "copy-attributes"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1787
#, no-wrap
msgid ""
" copy-attributes src dest [all:true|false] [mode:true|false] [xattributes:true|false] [ownership:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1789 ../lib/guestfs-actions.pod:2964
msgid ""
"Copy the attributes of a path (which can be a file or a directory)  to "
"another path."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1792 ../lib/guestfs-actions.pod:2967
msgid ""
"By default B<no> attribute is copied, so make sure to specify any (or C<all> "
"to copy everything)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1795 ../lib/guestfs-actions.pod:2970
msgid "The optional arguments specify which attributes can be copied:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1799 ../lib/guestfs-actions.pod:2974
msgid "C<mode>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1801 ../lib/guestfs-actions.pod:2976
msgid ""
"Copy part of the file mode from C<source> to C<destination>. Only the UNIX "
"permissions and the sticky/setuid/setgid bits can be copied."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1804 ../lib/guestfs-actions.pod:2979
msgid "C<xattributes>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1806
msgid ""
"Copy the Linux extended attributes (xattrs) from C<source> to "
"C<destination>.  This flag does nothing if the I<linuxxattrs> feature is not "
"available (see L</feature-available>)."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1810 ../lib/guestfs-actions.pod:2985
msgid "C<ownership>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1812 ../lib/guestfs-actions.pod:2987
msgid "Copy the owner uid and the group gid of C<source> to C<destination>."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1814 ../lib/guestfs-actions.pod:2989
msgid "C<all>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1816 ../lib/guestfs-actions.pod:2991
msgid ""
"Copy B<all> the attributes from C<source> to C<destination>. Enabling it "
"enables all the other flags, if they are not specified already."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1823
msgid "copy-device-to-device"
msgstr "copy-device-to-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1825
#, no-wrap
msgid ""
" copy-device-to-device src dest [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1827
msgid ""
"The four calls L</copy-device-to-device>, L</copy-device-to-file>, L</copy-"
"file-to-device>, and L</copy-file-to-file> let you copy from a source "
"(device|file) to a destination (device|file)."
msgstr ""
"The four calls L</copy-device-to-device>, L</copy-device-to-file>, L</copy-"
"file-to-device>, and L</copy-file-to-file> let you copy from a source "
"(device|file) to a destination (device|file)."

#. type: textblock
#: ../fish/guestfish-actions.pod:1834 ../lib/guestfs-actions.pod:3050
msgid ""
"Partial copies can be made since you can specify optionally the source "
"offset, destination offset and size to copy.  These values are all specified "
"in bytes.  If not given, the offsets both default to zero, and the size "
"defaults to copying as much as possible until we hit the end of the source."
msgstr ""
"Partial copies can be made since you can specify optionally the source "
"offset, destination offset and size to copy.  These values are all specified "
"in bytes.  If not given, the offsets both default to zero, and the size "
"defaults to copying as much as possible until we hit the end of the source."

#. type: textblock
#: ../fish/guestfish-actions.pod:1840 ../lib/guestfs-actions.pod:3056
msgid ""
"The source and destination may be the same object.  However overlapping "
"regions may not be copied correctly."
msgstr ""
"The source and destination may be the same object.  However overlapping "
"regions may not be copied correctly."

#. type: textblock
#: ../fish/guestfish-actions.pod:1843 ../lib/guestfs-actions.pod:3059
msgid ""
"If the destination is a file, it is created if required.  If the destination "
"file is not large enough, it is extended."
msgstr ""
"If the destination is a file, it is created if required.  If the destination "
"file is not large enough, it is extended."

#. type: textblock
#: ../fish/guestfish-actions.pod:1846 ../lib/guestfs-actions.pod:3062
msgid ""
"If the destination is a file and the C<append> flag is not set, then the "
"destination file is truncated.  If the C<append> flag is set, then the copy "
"appends to the destination file.  The C<append> flag currently cannot be set "
"for devices."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1851 ../lib/guestfs-actions.pod:3067
msgid ""
"If the C<sparse> flag is true then the call avoids writing blocks that "
"contain only zeroes, which can help in some situations where the backing "
"disk is thin-provisioned.  Note that unless the target is already zeroed, "
"using this option will result in incorrect copying."
msgstr ""
"If the C<sparse> flag is true then the call avoids writing blocks that "
"contain only zeroes, which can help in some situations where the backing "
"disk is thin-provisioned.  Note that unless the target is already zeroed, "
"using this option will result in incorrect copying."

#. type: =head2
#: ../fish/guestfish-actions.pod:1859
msgid "copy-device-to-file"
msgstr "copy-device-to-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1861
#, no-wrap
msgid ""
" copy-device-to-file src dest [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1863 ../fish/guestfish-actions.pod:1872
#: ../fish/guestfish-actions.pod:1881
msgid "See L</copy-device-to-device> for a general overview of this call."
msgstr "See L</copy-device-to-device> for a general overview of this call."

#. type: =head2
#: ../fish/guestfish-actions.pod:1868
msgid "copy-file-to-device"
msgstr "copy-file-to-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1870
#, no-wrap
msgid ""
" copy-file-to-device src dest [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1877
msgid "copy-file-to-file"
msgstr "copy-file-to-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1879
#, no-wrap
msgid ""
" copy-file-to-file src dest [srcoffset:N] [destoffset:N] [size:N] [sparse:true|false] [append:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1884
msgid ""
"This is B<not> the function you want for copying files.  This is for copying "
"blocks within existing files.  See L</cp>, L</cp-a> and L</mv> for general "
"file copying and moving functions."
msgstr ""
"This is B<not> the function you want for copying files.  This is for copying "
"blocks within existing files.  See L</cp>, L</cp-a> and L</mv> for general "
"file copying and moving functions."

#. type: =head2
#: ../fish/guestfish-actions.pod:1891
msgid "copy-size"
msgstr "copy-size"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1893
#, no-wrap
msgid ""
" copy-size src dest size\n"
"\n"
msgstr ""
" copy-size src dest size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1895 ../lib/guestfs-actions.pod:3329
msgid ""
"This command copies exactly C<size> bytes from one source device or file "
"C<src> to another destination device or file C<dest>."
msgstr ""
"This command copies exactly C<size> bytes from one source device or file "
"C<src> to another destination device or file C<dest>."

#. type: textblock
#: ../fish/guestfish-actions.pod:1898 ../lib/guestfs-actions.pod:3332
msgid ""
"Note this will fail if the source is too short or if the destination is not "
"large enough."
msgstr ""
"Note this will fail if the source is too short or if the destination is not "
"large enough."

#. type: textblock
#: ../fish/guestfish-actions.pod:1901 ../fish/guestfish-actions.pod:1977
msgid ""
"I<This function is deprecated.> In new code, use the L</copy-device-to-"
"device> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</copy-device-to-"
"device> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:1908
msgid "cp"
msgstr "cp"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1910
#, no-wrap
msgid ""
" cp src dest\n"
"\n"
msgstr ""
" cp src dest\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1912 ../lib/guestfs-actions.pod:3351
msgid ""
"This copies a file from C<src> to C<dest> where C<dest> is either a "
"destination filename or destination directory."
msgstr ""
"This copies a file from C<src> to C<dest> where C<dest> is either a "
"destination filename or destination directory."

#. type: =head2
#: ../fish/guestfish-actions.pod:1915
msgid "cp-a"
msgstr "cp-a"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1917
#, no-wrap
msgid ""
" cp-a src dest\n"
"\n"
msgstr ""
" cp-a src dest\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1919 ../lib/guestfs-actions.pod:3365
msgid ""
"This copies a file or directory from C<src> to C<dest> recursively using the "
"C<cp -a> command."
msgstr ""
"This copies a file or directory from C<src> to C<dest> recursively using the "
"C<cp -a> command."

#. type: =head2
#: ../fish/guestfish-actions.pod:1922
msgid "cp-r"
msgstr "cp-r"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1924
#, no-wrap
msgid ""
" cp-r src dest\n"
"\n"
msgstr ""
" cp-r src dest\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1926 ../lib/guestfs-actions.pod:3379
msgid ""
"This copies a file or directory from C<src> to C<dest> recursively using the "
"C<cp -rP> command."
msgstr ""
"This copies a file or directory from C<src> to C<dest> recursively using the "
"C<cp -rP> command."

#. type: textblock
#: ../fish/guestfish-actions.pod:1929
msgid ""
"Most users should use L</cp-a> instead.  This command is useful when you "
"don't want to preserve permissions, because the target filesystem does not "
"support it (primarily when writing to DOS FAT filesystems)."
msgstr ""
"Most users should use L</cp-a> instead.  This command is useful when you "
"don't want to preserve permissions, because the target filesystem does not "
"support it (primarily when writing to DOS FAT filesystems)."

#. type: =head2
#: ../fish/guestfish-actions.pod:1934
msgid "cpio-out"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:1936
#, no-wrap
msgid ""
" cpio-out directory (cpiofile|-) [format:..]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1938 ../lib/guestfs-actions.pod:3406
msgid ""
"This command packs the contents of F<directory> and downloads it to local "
"file C<cpiofile>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1941 ../lib/guestfs-actions.pod:3409
msgid ""
"The optional C<format> parameter can be used to select the format.  Only the "
"following formats are currently permitted:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:1946 ../lib/guestfs-actions.pod:3414
msgid "C<newc>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1948 ../lib/guestfs-actions.pod:3416
msgid ""
"New (SVR4) portable format.  This format happens to be compatible with the "
"cpio-like format used by the Linux kernel for initramfs."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1951 ../lib/guestfs-actions.pod:3419
msgid "This is the default format."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:1955 ../lib/guestfs-actions.pod:3423
msgid "New (SVR4) portable format with a checksum."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:1963
msgid "dd"
msgstr "dd"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1965
#, no-wrap
msgid ""
" dd src dest\n"
"\n"
msgstr ""
" dd src dest\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1967 ../lib/guestfs-actions.pod:3469
msgid ""
"This command copies from one source device or file C<src> to another "
"destination device or file C<dest>.  Normally you would use this to copy to "
"or from a device or partition, for example to duplicate a filesystem."
msgstr ""
"This command copies from one source device or file C<src> to another "
"destination device or file C<dest>.  Normally you would use this to copy to "
"or from a device or partition, for example to duplicate a filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:1972
msgid ""
"If the destination is a device, it must be as large or larger than the "
"source file or device, otherwise the copy will fail.  This command cannot do "
"partial copies (see L</copy-device-to-device>)."
msgstr ""
"If the destination is a device, it must be as large or larger than the "
"source file or device, otherwise the copy will fail.  This command cannot do "
"partial copies (see L</copy-device-to-device>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:1984
msgid "device-index"
msgstr "device-index"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1986
#, no-wrap
msgid ""
" device-index device\n"
"\n"
msgstr ""
" device-index device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:1988 ../lib/guestfs-actions.pod:3489
msgid ""
"This function takes a device name (eg. \"/dev/sdb\") and returns the index "
"of the device in the list of devices."
msgstr ""
"This function takes a device name (eg. \"/dev/sdb\") and returns the index "
"of the device in the list of devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:1991
msgid ""
"Index numbers start from 0.  The named device must exist, for example as a "
"string returned from L</list-devices>."
msgstr ""
"Index numbers start from 0.  The named device must exist, for example as a "
"string returned from L</list-devices>."

#. type: textblock
#: ../fish/guestfish-actions.pod:1994
msgid "See also L</list-devices>, L</part-to-dev>."
msgstr "See also L</list-devices>, L</part-to-dev>."

#. type: =head2
#: ../fish/guestfish-actions.pod:1996
msgid "df"
msgstr "df"

#. type: verbatim
#: ../fish/guestfish-actions.pod:1998
#, no-wrap
msgid ""
" df\n"
"\n"
msgstr ""
" df\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2000 ../lib/guestfs-actions.pod:3506
#, fuzzy
#| msgid "This command runs the C<df> command to report disk space used."
msgid "This command runs the L<df(1)> command to report disk space used."
msgstr "This command runs the C<df> command to report disk space used."

#. type: textblock
#: ../fish/guestfish-actions.pod:2002 ../fish/guestfish-actions.pod:2013
msgid ""
"This command is mostly useful for interactive sessions.  It is I<not> "
"intended that you try to parse the output string.  Use L</statvfs> from "
"programs."
msgstr ""
"This command is mostly useful for interactive sessions.  It is I<not> "
"intended that you try to parse the output string.  Use L</statvfs> from "
"programs."

#. type: =head2
#: ../fish/guestfish-actions.pod:2006
msgid "df-h"
msgstr "df-h"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2008
#, no-wrap
msgid ""
" df-h\n"
"\n"
msgstr ""
" df-h\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2010 ../lib/guestfs-actions.pod:3522
msgid ""
"This command runs the C<df -h> command to report disk space used in human-"
"readable format."
msgstr ""
"This command runs the C<df -h> command to report disk space used in human-"
"readable format."

#. type: =head2
#: ../fish/guestfish-actions.pod:2017
msgid "disk-create"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:2019
#, no-wrap
msgid ""
" disk-create filename format size [backingfile:..] [backingformat:..] [preallocation:..] [compat:..] [clustersize:N]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2021 ../lib/guestfs-actions.pod:3554
msgid ""
"Create a blank disk image called F<filename> (a host file)  with format "
"C<format> (usually C<raw> or C<qcow2>).  The size is C<size> bytes."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2025 ../lib/guestfs-actions.pod:3558
msgid ""
"If used with the optional C<backingfile> parameter, then a snapshot is "
"created on top of the backing file.  In this case, C<size> must be passed as "
"C<-1>.  The size of the snapshot is the same as the size of the backing "
"file, which is discovered automatically.  You are encouraged to also pass "
"C<backingformat> to describe the format of C<backingfile>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2032 ../lib/guestfs-actions.pod:3565
msgid ""
"If F<filename> refers to a block device, then the device is formatted.  The "
"C<size> is ignored since block devices have an intrinsic size."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2036 ../lib/guestfs-actions.pod:3569
msgid "The other optional parameters are:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2040 ../lib/guestfs-actions.pod:3573
msgid "C<preallocation>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2042 ../lib/guestfs-actions.pod:3575
msgid ""
"If format is C<raw>, then this can be either C<off> (or C<sparse>)  or "
"C<full> to create a sparse or fully allocated file respectively.  The "
"default is C<off>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2046 ../lib/guestfs-actions.pod:3579
msgid ""
"If format is C<qcow2>, then this can be C<off> (or C<sparse>), C<metadata> "
"or C<full>.  Preallocating metadata can be faster when doing lots of writes, "
"but uses more space.  The default is C<off>."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2051 ../lib/guestfs-actions.pod:3584
msgid "C<compat>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2053 ../lib/guestfs-actions.pod:3586
msgid ""
"C<qcow2> only: Pass the string C<1.1> to use the advanced qcow2 format "
"supported by qemu E<ge> 1.1."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2057 ../lib/guestfs-actions.pod:3590
msgid "C<clustersize>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2059 ../lib/guestfs-actions.pod:3592
msgid ""
"C<qcow2> only: Change the qcow2 cluster size.  The default is 65536 (bytes) "
"and this setting may be any power of two between 512 and 2097152."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2065
msgid ""
"Note that this call does not add the new disk to the handle.  You may need "
"to call L</add-drive-opts> separately."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2070
msgid "disk-format"
msgstr "disk-format"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2072
#, no-wrap
msgid ""
" disk-format filename\n"
"\n"
msgstr ""
" disk-format filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2074 ../lib/guestfs-actions.pod:3637
msgid ""
"Detect and return the format of the disk image called F<filename>.  "
"F<filename> can also be a host device, etc.  If the format of the image "
"could not be detected, then C<\"unknown\"> is returned."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2078 ../lib/guestfs-actions.pod:3641
msgid ""
"Note that detecting the disk format can be insecure under some "
"circumstances.  See L<guestfs(3)/CVE-2010-3851>."
msgstr ""
"Note that detecting the disk format can be insecure under some "
"circumstances.  See L<guestfs(3)/CVE-2010-3851>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2081 ../lib/guestfs-actions.pod:3644
msgid "See also: L<guestfs(3)/DISK IMAGE FORMATS>"
msgstr "See also: L<guestfs(3)/DISK IMAGE FORMATS>"

#. type: =head2
#: ../fish/guestfish-actions.pod:2083
msgid "disk-has-backing-file"
msgstr "disk-has-backing-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2085
#, no-wrap
msgid ""
" disk-has-backing-file filename\n"
"\n"
msgstr ""
" disk-has-backing-file filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2087 ../lib/guestfs-actions.pod:3657
msgid ""
"Detect and return whether the disk image F<filename> has a backing file."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2090 ../fish/guestfish-actions.pod:2100
#: ../lib/guestfs-actions.pod:3660 ../lib/guestfs-actions.pod:3676
msgid ""
"Note that detecting disk features can be insecure under some circumstances.  "
"See L<guestfs(3)/CVE-2010-3851>."
msgstr ""
"Note that detecting disk features can be insecure under some circumstances.  "
"See L<guestfs(3)/CVE-2010-3851>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2093
msgid "disk-virtual-size"
msgstr "disk-virtual-size"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2095
#, no-wrap
msgid ""
" disk-virtual-size filename\n"
"\n"
msgstr ""
" disk-virtual-size filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2097 ../lib/guestfs-actions.pod:3673
msgid ""
"Detect and return the virtual size in bytes of the disk image called "
"F<filename>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2103
msgid "dmesg"
msgstr "dmesg"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2105
#, no-wrap
msgid ""
" dmesg\n"
"\n"
msgstr ""
" dmesg\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2107 ../lib/guestfs-actions.pod:3688
#, fuzzy
#| msgid ""
#| "This returns the kernel messages (C<dmesg> output) from the guest "
#| "kernel.  This is sometimes useful for extended debugging of problems."
msgid ""
"This returns the kernel messages (L<dmesg(1)> output) from the guest "
"kernel.  This is sometimes useful for extended debugging of problems."
msgstr ""
"This returns the kernel messages (C<dmesg> output) from the guest kernel.  "
"This is sometimes useful for extended debugging of problems."

#. type: textblock
#: ../fish/guestfish-actions.pod:2111
msgid ""
"Another way to get the same information is to enable verbose messages with "
"L</set-verbose> or by setting the environment variable C<LIBGUESTFS_DEBUG=1> "
"before running the program."
msgstr ""
"Another way to get the same information is to enable verbose messages with "
"L</set-verbose> or by setting the environment variable C<LIBGUESTFS_DEBUG=1> "
"before running the program."

#. type: =head2
#: ../fish/guestfish-actions.pod:2116
msgid "download"
msgstr "download"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2118
#, no-wrap
msgid ""
" download remotefilename (filename|-)\n"
"\n"
msgstr ""
" download remotefilename (filename|-)\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2120 ../fish/guestfish-actions.pod:2176
#: ../lib/guestfs-actions.pod:3709 ../lib/guestfs-actions.pod:3834
msgid ""
"Download file F<remotefilename> and save it as F<filename> on the local "
"machine."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2123 ../fish/guestfish-actions.pod:9375
#: ../lib/guestfs-actions.pod:3712 ../lib/guestfs-actions.pod:15158
msgid "F<filename> can also be a named pipe."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2125
msgid "See also L</upload>, L</cat>."
msgstr "See also L</upload>, L</cat>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2129
msgid "download-blocks"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:2131
#, no-wrap
msgid ""
" download-blocks device start stop (filename|-) [unallocated:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2133 ../lib/guestfs-actions.pod:3742
msgid ""
"Download the data units from F<start> address to F<stop> from the disk "
"partition (eg. F</dev/sda1>)  and save them as F<filename> on the local "
"machine."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2137 ../lib/guestfs-actions.pod:3746
msgid ""
"The use of this API on sparse disk image formats such as QCOW, may result in "
"large zero-filled files downloaded on the host."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2140 ../lib/guestfs-actions.pod:3749
msgid ""
"The size of a data unit varies across filesystem implementations.  On NTFS "
"filesystems data units are referred as clusters while on ExtX ones they are "
"referred as fragments."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2144 ../lib/guestfs-actions.pod:3753
msgid ""
"If the optional C<unallocated> flag is true (default is false), only the "
"unallocated blocks will be extracted.  This is useful to detect hidden data "
"or to retrieve deleted files which data units have not been overwritten yet."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2153 ../fish/guestfish-actions.pod:2169
msgid ""
"This command depends on the feature C<sleuthkit>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2156
msgid "download-inode"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:2158
#, no-wrap
msgid ""
" download-inode device inode (filename|-)\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2160 ../lib/guestfs-actions.pod:3806
msgid ""
"Download a file given its inode from the disk partition (eg. F</dev/sda1>) "
"and save it as F<filename> on the local machine."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2163 ../lib/guestfs-actions.pod:3809
msgid "It is not required to mount the disk to run this command."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2165 ../lib/guestfs-actions.pod:3811
msgid "The command is capable of downloading deleted or inaccessible files."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2172
msgid "download-offset"
msgstr "download-offset"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2174
#, no-wrap
msgid ""
" download-offset remotefilename (filename|-) offset size\n"
"\n"
msgstr ""
" download-offset remotefilename (filename|-) offset size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2179 ../lib/guestfs-actions.pod:3837
msgid ""
"F<remotefilename> is read for C<size> bytes starting at C<offset> (this "
"region must be within the file or device)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2182
msgid ""
"Note that there is no limit on the amount of data that can be downloaded "
"with this call, unlike with L</pread>, and this call always reads the full "
"amount unless an error occurs."
msgstr ""
"Note that there is no limit on the amount of data that can be downloaded "
"with this call, unlike with L</pread>, and this call always reads the full "
"amount unless an error occurs."

#. type: textblock
#: ../fish/guestfish-actions.pod:2187
msgid "See also L</download>, L</pread>."
msgstr "See also L</download>, L</pread>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2191
msgid "drop-caches"
msgstr "drop-caches"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2193
#, no-wrap
msgid ""
" drop-caches whattodrop\n"
"\n"
msgstr ""
" drop-caches whattodrop\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2195 ../lib/guestfs-actions.pod:3862
#, fuzzy
#| msgid ""
#| "This instructs the guest kernel to drop its page cache, and/or dentries "
#| "and inode caches.  The parameter C<whattodrop> tells the kernel what "
#| "precisely to drop, see L<http://linux-mm.org/Drop_Caches>"
msgid ""
"This instructs the guest kernel to drop its page cache, and/or dentries and "
"inode caches.  The parameter C<whattodrop> tells the kernel what precisely "
"to drop, see L<https://linux-mm.org/Drop_Caches>"
msgstr ""
"This instructs the guest kernel to drop its page cache, and/or dentries and "
"inode caches.  The parameter C<whattodrop> tells the kernel what precisely "
"to drop, see L<http://linux-mm.org/Drop_Caches>"

#. type: textblock
#: ../fish/guestfish-actions.pod:2200 ../lib/guestfs-actions.pod:3867
msgid "Setting C<whattodrop> to 3 should drop everything."
msgstr "Setting C<whattodrop> to 3 should drop everything."

#. type: textblock
#: ../fish/guestfish-actions.pod:2202 ../lib/guestfs-actions.pod:3869
msgid ""
"This automatically calls L<sync(2)> before the operation, so that the "
"maximum guest memory is freed."
msgstr ""
"This automatically calls L<sync(2)> before the operation, so that the "
"maximum guest memory is freed."

#. type: =head2
#: ../fish/guestfish-actions.pod:2205
msgid "du"
msgstr "du"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2207
#, no-wrap
msgid ""
" du path\n"
"\n"
msgstr ""
" du path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2209 ../lib/guestfs-actions.pod:3882
msgid ""
"This command runs the C<du -s> command to estimate file space usage for "
"C<path>."
msgstr ""
"This command runs the C<du -s> command to estimate file space usage for "
"C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2212 ../lib/guestfs-actions.pod:3885
msgid ""
"C<path> can be a file or a directory.  If C<path> is a directory then the "
"estimate includes the contents of the directory and all subdirectories "
"(recursively)."
msgstr ""
"C<path> can be a file or a directory.  If C<path> is a directory then the "
"estimate includes the contents of the directory and all subdirectories "
"(recursively)."

#. type: textblock
#: ../fish/guestfish-actions.pod:2216 ../lib/guestfs-actions.pod:3889
msgid ""
"The result is the estimated size in I<kilobytes> (ie. units of 1024 bytes)."
msgstr ""
"The result is the estimated size in I<kilobytes> (ie. units of 1024 bytes)."

#. type: =head2
#: ../fish/guestfish-actions.pod:2219
msgid "e2fsck"
msgstr "e2fsck"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2221
#, no-wrap
msgid ""
" e2fsck device [correct:true|false] [forceall:true|false]\n"
"\n"
msgstr ""
" e2fsck device [correct:true|false] [forceall:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2223 ../lib/guestfs-actions.pod:3916
msgid ""
"This runs the ext2/ext3 filesystem checker on C<device>.  It can take the "
"following optional arguments:"
msgstr ""
"This runs the ext2/ext3 filesystem checker on C<device>.  It can take the "
"following optional arguments:"

#. type: =item
#: ../fish/guestfish-actions.pod:2228 ../lib/guestfs-actions.pod:3921
msgid "C<correct>"
msgstr "C<correct>"

#. type: textblock
#: ../fish/guestfish-actions.pod:2230 ../lib/guestfs-actions.pod:3923
msgid ""
"Automatically repair the file system. This option will cause e2fsck to "
"automatically fix any filesystem problems that can be safely fixed without "
"human intervention."
msgstr ""
"Automatically repair the file system. This option will cause e2fsck to "
"automatically fix any filesystem problems that can be safely fixed without "
"human intervention."

#. type: textblock
#: ../fish/guestfish-actions.pod:2234 ../lib/guestfs-actions.pod:3927
msgid ""
"This option may not be specified at the same time as the C<forceall> option."
msgstr ""
"This option may not be specified at the same time as the C<forceall> option."

#. type: =item
#: ../fish/guestfish-actions.pod:2236 ../lib/guestfs-actions.pod:3929
msgid "C<forceall>"
msgstr "C<forceall>"

#. type: textblock
#: ../fish/guestfish-actions.pod:2238 ../lib/guestfs-actions.pod:3931
msgid ""
"Assume an answer of ‘yes’ to all questions; allows e2fsck to be used non-"
"interactively."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2241 ../lib/guestfs-actions.pod:3934
msgid ""
"This option may not be specified at the same time as the C<correct> option."
msgstr ""
"This option may not be specified at the same time as the C<correct> option."

#. type: =head2
#: ../fish/guestfish-actions.pod:2247
msgid "e2fsck-f"
msgstr "e2fsck-f"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2249
#, no-wrap
msgid ""
" e2fsck-f device\n"
"\n"
msgstr ""
" e2fsck-f device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2251 ../lib/guestfs-actions.pod:3977
msgid ""
"This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3 filesystem checker "
"on C<device>, noninteractively (I<-p>), even if the filesystem appears to be "
"clean (I<-f>)."
msgstr ""
"This runs C<e2fsck -p -f device>, ie. runs the ext2/ext3 filesystem checker "
"on C<device>, noninteractively (I<-p>), even if the filesystem appears to be "
"clean (I<-f>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:2255
msgid ""
"I<This function is deprecated.> In new code, use the L</e2fsck> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</e2fsck> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:2262
msgid "echo-daemon"
msgstr "echo-daemon"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2264
#, no-wrap
msgid ""
" echo-daemon 'words ...'\n"
"\n"
msgstr ""
" echo-daemon 'words ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2266 ../lib/guestfs-actions.pod:3991
msgid ""
"This command concatenates the list of C<words> passed with single spaces "
"between them and returns the resulting string."
msgstr ""
"This command concatenates the list of C<words> passed with single spaces "
"between them and returns the resulting string."

#. type: textblock
#: ../fish/guestfish-actions.pod:2269 ../lib/guestfs-actions.pod:3994
msgid "You can use this command to test the connection through to the daemon."
msgstr "You can use this command to test the connection through to the daemon."

#. type: textblock
#: ../fish/guestfish-actions.pod:2271
msgid "See also L</ping-daemon>."
msgstr "See also L</ping-daemon>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2273
msgid "egrep"
msgstr "egrep"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2275
#, no-wrap
msgid ""
" egrep regex path\n"
"\n"
msgstr ""
" egrep regex path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2277 ../lib/guestfs-actions.pod:4017
#, fuzzy
#| msgid ""
#| "This calls the external C<egrep> program and returns the matching lines."
msgid ""
"This calls the external L<egrep(1)> program and returns the matching lines."
msgstr ""
"This calls the external C<egrep> program and returns the matching lines."

#. type: textblock
#: ../fish/guestfish-actions.pod:2283 ../fish/guestfish-actions.pod:2300
#: ../fish/guestfish-actions.pod:2421 ../fish/guestfish-actions.pod:2438
#: ../fish/guestfish-actions.pod:3528 ../fish/guestfish-actions.pod:9919
#: ../fish/guestfish-actions.pod:9936 ../fish/guestfish-actions.pod:10014
#: ../fish/guestfish-actions.pod:10031 ../fish/guestfish-actions.pod:10067
#: ../fish/guestfish-actions.pod:10084
msgid ""
"I<This function is deprecated.> In new code, use the L</grep> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</grep> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:2290
msgid "egrepi"
msgstr "egrepi"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2292
#, no-wrap
msgid ""
" egrepi regex path\n"
"\n"
msgstr ""
" egrepi regex path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2294 ../lib/guestfs-actions.pod:4043
msgid ""
"This calls the external C<egrep -i> program and returns the matching lines."
msgstr ""
"This calls the external C<egrep -i> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:2307
msgid "equal"
msgstr "equal"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2309
#, no-wrap
msgid ""
" equal file1 file2\n"
"\n"
msgstr ""
" equal file1 file2\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2311 ../lib/guestfs-actions.pod:4062
msgid ""
"This compares the two files F<file1> and F<file2> and returns true if their "
"content is exactly equal, or false otherwise."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2314 ../lib/guestfs-actions.pod:4065
msgid "The external L<cmp(1)> program is used for the comparison."
msgstr "The external L<cmp(1)> program is used for the comparison."

#. type: =head2
#: ../fish/guestfish-actions.pod:2316
msgid "exists"
msgstr "exists"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2318
#, no-wrap
msgid ""
" exists path\n"
"\n"
msgstr ""
" exists path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2320 ../lib/guestfs-actions.pod:4077
msgid ""
"This returns C<true> if and only if there is a file, directory (or anything) "
"with the given C<path> name."
msgstr ""
"This returns C<true> if and only if there is a file, directory (or anything) "
"with the given C<path> name."

#. type: textblock
#: ../fish/guestfish-actions.pod:2323
msgid "See also L</is-file>, L</is-dir>, L</stat>."
msgstr "See also L</is-file>, L</is-dir>, L</stat>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2325
msgid "extlinux"
msgstr "extlinux"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2327
#, no-wrap
msgid ""
" extlinux directory\n"
"\n"
msgstr ""
" extlinux directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2329
msgid ""
"Install the SYSLINUX bootloader on the device mounted at F<directory>.  "
"Unlike L</syslinux> which requires a FAT filesystem, this can be used on an "
"ext2/3/4 or btrfs filesystem."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2333 ../lib/guestfs-actions.pod:4096
msgid ""
"The F<directory> parameter can be either a mountpoint, or a directory within "
"the mountpoint."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2336
msgid ""
"You also have to mark the partition as \"active\" (L</part-set-bootable>) "
"and a Master Boot Record must be installed (eg. using L</pwrite-device>) on "
"the first sector of the whole disk.  The SYSLINUX package comes with some "
"suitable Master Boot Records.  See the L<extlinux(1)> man page for further "
"information."
msgstr ""
"You also have to mark the partition as \"active\" (L</part-set-bootable>) "
"and a Master Boot Record must be installed (eg. using L</pwrite-device>) on "
"the first sector of the whole disk.  The SYSLINUX package comes with some "
"suitable Master Boot Records.  See the L<extlinux(1)> man page for further "
"information."

#. type: textblock
#: ../fish/guestfish-actions.pod:2343 ../lib/guestfs-actions.pod:4106
msgid ""
"Additional configuration can be supplied to SYSLINUX by placing a file "
"called F<extlinux.conf> on the filesystem under F<directory>.  For further "
"information about the contents of this file, see L<extlinux(1)>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2348
msgid "See also L</syslinux>."
msgstr "See also L</syslinux>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2350
msgid ""
"This command depends on the feature C<extlinux>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2353
msgid "f2fs-expand"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:2355
#, no-wrap
msgid ""
" f2fs-expand device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2357 ../lib/guestfs-actions.pod:4126
msgid ""
"This expands a f2fs filesystem to match the size of the underlying device."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2360
msgid ""
"This command depends on the feature C<f2fs>.  See also L</feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2363
msgid "fallocate"
msgstr "fallocate"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2365
#, no-wrap
msgid ""
" fallocate path len\n"
"\n"
msgstr ""
" fallocate path len\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2367 ../fish/guestfish-actions.pod:2386
#: ../lib/guestfs-actions.pod:4150 ../lib/guestfs-actions.pod:4169
msgid ""
"This command preallocates a file (containing zero bytes) named C<path> of "
"size C<len> bytes.  If the file exists already, it is overwritten."
msgstr ""
"This command preallocates a file (containing zero bytes) named C<path> of "
"size C<len> bytes.  If the file exists already, it is overwritten."

#. type: textblock
#: ../fish/guestfish-actions.pod:2371 ../lib/guestfs-actions.pod:4154
msgid ""
"Do not confuse this with the guestfish-specific C<alloc> command which "
"allocates a file in the host and attaches it as a device."
msgstr ""
"Do not confuse this with the guestfish-specific C<alloc> command which "
"allocates a file in the host and attaches it as a device."

#. type: textblock
#: ../fish/guestfish-actions.pod:2375
msgid ""
"I<This function is deprecated.> In new code, use the L</fallocate64> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</fallocate64> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:2382
msgid "fallocate64"
msgstr "fallocate64"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2384
#, no-wrap
msgid ""
" fallocate64 path len\n"
"\n"
msgstr ""
" fallocate64 path len\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2390
msgid ""
"Note that this call allocates disk blocks for the file.  To create a sparse "
"file use L</truncate-size> instead."
msgstr ""
"Note that this call allocates disk blocks for the file.  To create a sparse "
"file use L</truncate-size> instead."

#. type: textblock
#: ../fish/guestfish-actions.pod:2393
msgid ""
"The deprecated call L</fallocate> does the same, but owing to an oversight "
"it only allowed 30 bit lengths to be specified, effectively limiting the "
"maximum size of files created through that call to 1GB."
msgstr ""
"The deprecated call L</fallocate> does the same, but owing to an oversight "
"it only allowed 30 bit lengths to be specified, effectively limiting the "
"maximum size of files created through that call to 1GB."

#. type: textblock
#: ../fish/guestfish-actions.pod:2398 ../lib/guestfs-actions.pod:4181
msgid ""
"Do not confuse this with the guestfish-specific C<alloc> and C<sparse> "
"commands which create a file in the host and attach it as a device."
msgstr ""
"Do not confuse this with the guestfish-specific C<alloc> and C<sparse> "
"commands which create a file in the host and attach it as a device."

#. type: =head2
#: ../fish/guestfish-actions.pod:2402
msgid "feature-available"
msgstr "feature-available"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2404
#, no-wrap
msgid ""
" feature-available 'groups ...'\n"
"\n"
msgstr ""
" feature-available 'groups ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2406
msgid ""
"This is the same as L</available>, but unlike that call it returns a simple "
"true/false boolean result, instead of throwing an exception if a feature is "
"not found.  For other documentation see L</available>."
msgstr ""
"This is the same as L</available>, but unlike that call it returns a simple "
"true/false boolean result, instead of throwing an exception if a feature is "
"not found.  For other documentation see L</available>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2411
msgid "fgrep"
msgstr "fgrep"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2413
#, no-wrap
msgid ""
" fgrep pattern path\n"
"\n"
msgstr ""
" fgrep pattern path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2415 ../lib/guestfs-actions.pod:4218
#, fuzzy
#| msgid ""
#| "This calls the external C<fgrep> program and returns the matching lines."
msgid ""
"This calls the external L<fgrep(1)> program and returns the matching lines."
msgstr ""
"This calls the external C<fgrep> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:2428
msgid "fgrepi"
msgstr "fgrepi"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2430
#, no-wrap
msgid ""
" fgrepi pattern path\n"
"\n"
msgstr ""
" fgrepi pattern path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2432 ../lib/guestfs-actions.pod:4244
msgid ""
"This calls the external C<fgrep -i> program and returns the matching lines."
msgstr ""
"This calls the external C<fgrep -i> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:2445
msgid "file"
msgstr "file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2447
#, no-wrap
msgid ""
" file path\n"
"\n"
msgstr ""
" file path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2449 ../lib/guestfs-actions.pod:4262
msgid ""
"This call uses the standard L<file(1)> command to determine the type or "
"contents of the file."
msgstr ""
"This call uses the standard L<file(1)> command to determine the type or "
"contents of the file."

#. type: textblock
#: ../fish/guestfish-actions.pod:2452 ../lib/guestfs-actions.pod:4265
msgid ""
"This call will also transparently look inside various types of compressed "
"file."
msgstr ""
"This call will also transparently look inside various types of compressed "
"file."

#. type: textblock
#: ../fish/guestfish-actions.pod:2455 ../lib/guestfs-actions.pod:4268
msgid ""
"The exact command which runs is C<file -zb path>.  Note in particular that "
"the filename is not prepended to the output (the I<-b> option)."
msgstr ""
"The exact command which runs is C<file -zb path>.  Note in particular that "
"the filename is not prepended to the output (the I<-b> option)."

#. type: textblock
#: ../fish/guestfish-actions.pod:2459 ../lib/guestfs-actions.pod:4272
msgid ""
"The output depends on the output of the underlying L<file(1)> command and it "
"can change in future in ways beyond our control.  In other words, the output "
"is not guaranteed by the ABI."
msgstr ""
"The output depends on the output of the underlying L<file(1)> command and it "
"can change in future in ways beyond our control.  In other words, the output "
"is not guaranteed by the ABI."

#. type: textblock
#: ../fish/guestfish-actions.pod:2463
msgid ""
"See also: L<file(1)>, L</vfs-type>, L</lstat>, L</is-file>, L</is-blockdev> "
"(etc), L</is-zero>."
msgstr ""
"See also: L<file(1)>, L</vfs-type>, L</lstat>, L</is-file>, L</is-blockdev> "
"(etc), L</is-zero>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2466
msgid "file-architecture"
msgstr "file-architecture"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2468
#, no-wrap
msgid ""
" file-architecture filename\n"
"\n"
msgstr ""
" file-architecture filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2470 ../lib/guestfs-actions.pod:4290
msgid ""
"This detects the architecture of the binary F<filename>, and returns it if "
"known."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2473 ../lib/guestfs-actions.pod:4293
msgid "Currently defined architectures are:"
msgstr "Currently defined architectures are:"

#. type: =item
#: ../fish/guestfish-actions.pod:2477 ../lib/guestfs-actions.pod:4297
msgid "\"aarch64\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2479 ../lib/guestfs-actions.pod:4299
msgid "64 bit ARM."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2481 ../lib/guestfs-actions.pod:4301
msgid "\"arm\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2483 ../lib/guestfs-actions.pod:4303
msgid "32 bit ARM."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2485 ../lib/guestfs-actions.pod:4305
msgid "\"i386\""
msgstr "\"i386\""

#. type: textblock
#: ../fish/guestfish-actions.pod:2487 ../lib/guestfs-actions.pod:4307
msgid ""
"This string is returned for all 32 bit i386, i486, i586, i686 binaries "
"irrespective of the precise processor requirements of the binary."
msgstr ""
"This string is returned for all 32 bit i386, i486, i586, i686 binaries "
"irrespective of the precise processor requirements of the binary."

#. type: =item
#: ../fish/guestfish-actions.pod:2490 ../lib/guestfs-actions.pod:4310
msgid "\"ia64\""
msgstr "\"ia64\""

#. type: textblock
#: ../fish/guestfish-actions.pod:2492 ../lib/guestfs-actions.pod:4312
msgid "Intel Itanium."
msgstr "Intel Itanium."

#. type: =item
#: ../fish/guestfish-actions.pod:2494 ../lib/guestfs-actions.pod:4314
msgid "\"ppc\""
msgstr "\"ppc\""

#. type: textblock
#: ../fish/guestfish-actions.pod:2496 ../lib/guestfs-actions.pod:4316
msgid "32 bit Power PC."
msgstr "32 bit Power PC."

#. type: =item
#: ../fish/guestfish-actions.pod:2498 ../lib/guestfs-actions.pod:4318
msgid "\"ppc64\""
msgstr "\"ppc64\""

#. type: textblock
#: ../fish/guestfish-actions.pod:2500 ../lib/guestfs-actions.pod:4320
msgid "64 bit Power PC (big endian)."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2502 ../lib/guestfs-actions.pod:4322
msgid "\"ppc64le\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2504 ../lib/guestfs-actions.pod:4324
msgid "64 bit Power PC (little endian)."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2506 ../lib/guestfs-actions.pod:4326
msgid "\"riscv32\""
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2508 ../lib/guestfs-actions.pod:4328
msgid "\"riscv64\""
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2510 ../lib/guestfs-actions.pod:4330
msgid "\"riscv128\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2512 ../lib/guestfs-actions.pod:4332
msgid "RISC-V 32-, 64- or 128-bit variants."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2514 ../lib/guestfs-actions.pod:4334
msgid "\"s390\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2516 ../lib/guestfs-actions.pod:4336
msgid "31 bit IBM S/390."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2518 ../lib/guestfs-actions.pod:4338
msgid "\"s390x\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2520 ../lib/guestfs-actions.pod:4340
msgid "64 bit IBM S/390."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2522 ../lib/guestfs-actions.pod:4342
msgid "\"sparc\""
msgstr "\"sparc\""

#. type: textblock
#: ../fish/guestfish-actions.pod:2524 ../lib/guestfs-actions.pod:4344
msgid "32 bit SPARC."
msgstr "32 bit SPARC."

#. type: =item
#: ../fish/guestfish-actions.pod:2526 ../lib/guestfs-actions.pod:4346
msgid "\"sparc64\""
msgstr "\"sparc64\""

#. type: textblock
#: ../fish/guestfish-actions.pod:2528 ../lib/guestfs-actions.pod:4348
msgid "64 bit SPARC V9 and above."
msgstr "64 bit SPARC V9 and above."

#. type: =item
#: ../fish/guestfish-actions.pod:2530 ../lib/guestfs-actions.pod:4350
msgid "\"x86_64\""
msgstr "\"x86_64\""

#. type: textblock
#: ../fish/guestfish-actions.pod:2532 ../lib/guestfs-actions.pod:4352
msgid "64 bit x86-64."
msgstr "64 bit x86-64."

#. type: textblock
#: ../fish/guestfish-actions.pod:2536 ../lib/guestfs-actions.pod:4356
msgid "Libguestfs may return other architecture strings in future."
msgstr "Libguestfs may return other architecture strings in future."

#. type: textblock
#: ../fish/guestfish-actions.pod:2538 ../lib/guestfs-actions.pod:4358
msgid "The function works on at least the following types of files:"
msgstr "The function works on at least the following types of files:"

#. type: textblock
#: ../fish/guestfish-actions.pod:2544 ../lib/guestfs-actions.pod:4364
msgid "many types of Un*x and Linux binary"
msgstr "many types of Un*x and Linux binary"

#. type: textblock
#: ../fish/guestfish-actions.pod:2548 ../lib/guestfs-actions.pod:4368
msgid "many types of Un*x and Linux shared library"
msgstr "many types of Un*x and Linux shared library"

#. type: textblock
#: ../fish/guestfish-actions.pod:2552 ../lib/guestfs-actions.pod:4372
msgid "Windows Win32 and Win64 binaries"
msgstr "Windows Win32 and Win64 binaries"

#. type: textblock
#: ../fish/guestfish-actions.pod:2556 ../lib/guestfs-actions.pod:4376
msgid "Windows Win32 and Win64 DLLs"
msgstr "Windows Win32 and Win64 DLLs"

#. type: textblock
#: ../fish/guestfish-actions.pod:2558 ../lib/guestfs-actions.pod:4378
msgid "Win32 binaries and DLLs return C<i386>."
msgstr "Win32 binaries and DLLs return C<i386>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2560 ../lib/guestfs-actions.pod:4380
msgid "Win64 binaries and DLLs return C<x86_64>."
msgstr "Win64 binaries and DLLs return C<x86_64>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2564 ../lib/guestfs-actions.pod:4384
msgid "Linux kernel modules"
msgstr "Linux kernel modules"

#. type: textblock
#: ../fish/guestfish-actions.pod:2568 ../lib/guestfs-actions.pod:4388
msgid "Linux new-style initrd images"
msgstr "Linux new-style initrd images"

#. type: textblock
#: ../fish/guestfish-actions.pod:2572 ../lib/guestfs-actions.pod:4392
msgid "some non-x86 Linux vmlinuz kernels"
msgstr "some non-x86 Linux vmlinuz kernels"

#. type: textblock
#: ../fish/guestfish-actions.pod:2576 ../lib/guestfs-actions.pod:4396
msgid "What it can't do currently:"
msgstr "What it can't do currently:"

#. type: textblock
#: ../fish/guestfish-actions.pod:2582 ../lib/guestfs-actions.pod:4402
msgid "static libraries (libfoo.a)"
msgstr "static libraries (libfoo.a)"

#. type: textblock
#: ../fish/guestfish-actions.pod:2586 ../lib/guestfs-actions.pod:4406
msgid "Linux old-style initrd as compressed ext2 filesystem (RHEL 3)"
msgstr "Linux old-style initrd as compressed ext2 filesystem (RHEL 3)"

#. type: textblock
#: ../fish/guestfish-actions.pod:2590 ../lib/guestfs-actions.pod:4410
msgid "x86 Linux vmlinuz kernels"
msgstr "x86 Linux vmlinuz kernels"

#. type: textblock
#: ../fish/guestfish-actions.pod:2592 ../lib/guestfs-actions.pod:4412
msgid ""
"x86 vmlinuz images (bzImage format) consist of a mix of 16-, 32- and "
"compressed code, and are horribly hard to unpack.  If you want to find the "
"architecture of a kernel, use the architecture of the associated initrd or "
"kernel module(s) instead."
msgstr ""
"x86 vmlinuz images (bzImage format) consist of a mix of 16-, 32- and "
"compressed code, and are horribly hard to unpack.  If you want to find the "
"architecture of a kernel, use the architecture of the associated initrd or "
"kernel module(s) instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:2599
msgid "filesize"
msgstr "filesize"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2601
#, no-wrap
msgid ""
" filesize file\n"
"\n"
msgstr ""
" filesize file\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2603 ../lib/guestfs-actions.pod:4430
msgid "This command returns the size of F<file> in bytes."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2605
msgid ""
"To get other stats about a file, use L</stat>, L</lstat>, L</is-dir>, L</is-"
"file> etc.  To get the size of block devices, use L</blockdev-getsize64>."
msgstr ""
"To get other stats about a file, use L</stat>, L</lstat>, L</is-dir>, L</is-"
"file> etc.  To get the size of block devices, use L</blockdev-getsize64>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2609
msgid "filesystem-available"
msgstr "filesystem-available"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2611
#, no-wrap
msgid ""
" filesystem-available filesystem\n"
"\n"
msgstr ""
" filesystem-available filesystem\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2613 ../lib/guestfs-actions.pod:4446
msgid ""
"Check whether libguestfs supports the named filesystem.  The argument "
"C<filesystem> is a filesystem name, such as C<ext3>."
msgstr ""
"Check whether libguestfs supports the named filesystem.  The argument "
"C<filesystem> is a filesystem name, such as C<ext3>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2617
msgid "You must call L</launch> before using this command."
msgstr "You must call L</launch> before using this command."

#. type: textblock
#: ../fish/guestfish-actions.pod:2619 ../lib/guestfs-actions.pod:4452
msgid ""
"This is mainly useful as a negative test.  If this returns true, it doesn't "
"mean that a particular filesystem can be created or mounted, since "
"filesystems can fail for other reasons such as it being a later version of "
"the filesystem, or having incompatible features, or lacking the right mkfs."
"E<lt>I<fs>E<gt> tool."
msgstr ""
"This is mainly useful as a negative test.  If this returns true, it doesn't "
"mean that a particular filesystem can be created or mounted, since "
"filesystems can fail for other reasons such as it being a later version of "
"the filesystem, or having incompatible features, or lacking the right mkfs."
"E<lt>I<fs>E<gt> tool."

#. type: textblock
#: ../fish/guestfish-actions.pod:2626
msgid ""
"See also L</available>, L</feature-available>, L<guestfs(3)/AVAILABILITY>."
msgstr ""
"See also L</available>, L</feature-available>, L<guestfs(3)/AVAILABILITY>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2629
msgid "filesystem-walk"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:2631
#, no-wrap
msgid ""
" filesystem-walk device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2633 ../lib/guestfs-actions.pod:4472
msgid ""
"Walk through the internal structures of a disk partition (eg. F</dev/sda1>) "
"in order to return a list of all the files and directories stored within."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2637 ../lib/guestfs-actions.pod:4476
msgid "It is not necessary to mount the disk partition to run this command."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2639 ../lib/guestfs-actions.pod:4478
msgid ""
"All entries in the filesystem are returned. This function can list deleted "
"or unaccessible files. The entries are I<not> sorted."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2642 ../lib/guestfs-actions.pod:4481
msgid "The C<tsk_dirent> structure contains the following fields."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2646 ../lib/guestfs-actions.pod:4485
msgid "C<tsk_inode>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2648 ../lib/guestfs-actions.pod:4487
msgid ""
"Filesystem reference number of the node. It might be C<0> if the node has "
"been deleted."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2651 ../lib/guestfs-actions.pod:4490
msgid "C<tsk_type>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2653 ../lib/guestfs-actions.pod:4492
msgid "Basic file type information.  See below for a detailed list of values."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2656 ../lib/guestfs-actions.pod:4495
msgid "C<tsk_size>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2658 ../lib/guestfs-actions.pod:4497
msgid "File size in bytes. It might be C<-1> if the node has been deleted."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2661 ../lib/guestfs-actions.pod:4500
msgid "C<tsk_name>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2663 ../lib/guestfs-actions.pod:4502
msgid "The file path relative to its directory."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2665 ../lib/guestfs-actions.pod:4504
msgid "C<tsk_flags>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2667 ../lib/guestfs-actions.pod:4506
msgid ""
"Bitfield containing extra information regarding the entry.  It contains the "
"logical OR of the following values:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2672 ../lib/guestfs-actions.pod:4511
msgid "0x0001"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2674 ../lib/guestfs-actions.pod:4513
msgid ""
"If set to C<1>, the file is allocated and visible within the filesystem.  "
"Otherwise, the file has been deleted.  Under certain circumstances, the "
"function C<download_inode> can be used to recover deleted files."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2679 ../lib/guestfs-actions.pod:4518
msgid "0x0002"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2681 ../lib/guestfs-actions.pod:4520
msgid ""
"Filesystem such as NTFS and Ext2 or greater, separate the file name from the "
"metadata structure.  The bit is set to C<1> when the file name is in an "
"unallocated state and the metadata structure is in an allocated one.  This "
"generally implies the metadata has been reallocated to a new file.  "
"Therefore, information such as file type, file size, timestamps, number of "
"links and symlink target might not correspond with the ones of the original "
"deleted entry."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2690 ../lib/guestfs-actions.pod:4529
msgid "0x0004"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2692 ../lib/guestfs-actions.pod:4531
msgid ""
"The bit is set to C<1> when the file is compressed using filesystem native "
"compression support (NTFS). The API is not able to detect application level "
"compression."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2698 ../lib/guestfs-actions.pod:4537
msgid "C<tsk_atime_sec>"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2700 ../lib/guestfs-actions.pod:4539
msgid "C<tsk_atime_nsec>"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2702 ../lib/guestfs-actions.pod:4541
msgid "C<tsk_mtime_sec>"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2704 ../lib/guestfs-actions.pod:4543
msgid "C<tsk_mtime_nsec>"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2706 ../lib/guestfs-actions.pod:4545
msgid "C<tsk_ctime_sec>"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2708 ../lib/guestfs-actions.pod:4547
msgid "C<tsk_ctime_nsec>"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2710 ../lib/guestfs-actions.pod:4549
msgid "C<tsk_crtime_sec>"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2712 ../lib/guestfs-actions.pod:4551
msgid "C<tsk_crtime_nsec>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2714 ../lib/guestfs-actions.pod:4553
msgid ""
"Respectively, access, modification, last status change and creation time in "
"Unix format in seconds and nanoseconds."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2717 ../lib/guestfs-actions.pod:4556
msgid "C<tsk_nlink>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2719 ../lib/guestfs-actions.pod:4558
msgid "Number of file names pointing to this entry."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2721 ../lib/guestfs-actions.pod:4560
msgid "C<tsk_link>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2723 ../lib/guestfs-actions.pod:4562
msgid ""
"If the entry is a symbolic link, this field will contain the path to the "
"target file."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2728 ../lib/guestfs-actions.pod:4567
msgid "The C<tsk_type> field will contain one of the following characters:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2732 ../fish/guestfish-actions.pod:7646
#: ../lib/guestfs-actions.pod:4571 ../lib/guestfs-actions.pod:12427
msgid "'b'"
msgstr "'b'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2734 ../fish/guestfish-actions.pod:7648
#: ../lib/guestfs-actions.pod:4573 ../lib/guestfs-actions.pod:12429
msgid "Block special"
msgstr "Block special"

#. type: =item
#: ../fish/guestfish-actions.pod:2736 ../fish/guestfish-actions.pod:3076
#: ../fish/guestfish-actions.pod:7650 ../lib/guestfs-actions.pod:4575
#: ../lib/guestfs-actions.pod:5094 ../lib/guestfs-actions.pod:12431
msgid "'c'"
msgstr "'c'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2738 ../fish/guestfish-actions.pod:7652
#: ../lib/guestfs-actions.pod:4577 ../lib/guestfs-actions.pod:12433
msgid "Char special"
msgstr "Char special"

#. type: =item
#: ../fish/guestfish-actions.pod:2740 ../fish/guestfish-actions.pod:3085
#: ../fish/guestfish-actions.pod:7654 ../lib/guestfs-actions.pod:4579
#: ../lib/guestfs-actions.pod:5103 ../lib/guestfs-actions.pod:12435
msgid "'d'"
msgstr "'d'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2742 ../fish/guestfish-actions.pod:7656
#: ../lib/guestfs-actions.pod:4581 ../lib/guestfs-actions.pod:12437
msgid "Directory"
msgstr "Directory"

#. type: =item
#: ../fish/guestfish-actions.pod:2744 ../fish/guestfish-actions.pod:7658
#: ../lib/guestfs-actions.pod:4583 ../lib/guestfs-actions.pod:12439
msgid "'f'"
msgstr "'f'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2746 ../fish/guestfish-actions.pod:7660
#: ../lib/guestfs-actions.pod:4585 ../lib/guestfs-actions.pod:12441
msgid "FIFO (named pipe)"
msgstr "FIFO (named pipe)"

#. type: =item
#: ../fish/guestfish-actions.pod:2748 ../fish/guestfish-actions.pod:7662
#: ../lib/guestfs-actions.pod:4587 ../lib/guestfs-actions.pod:12443
msgid "'l'"
msgstr "'l'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2750 ../fish/guestfish-actions.pod:7664
#: ../lib/guestfs-actions.pod:4589 ../lib/guestfs-actions.pod:12445
msgid "Symbolic link"
msgstr "Symbolic link"

#. type: =item
#: ../fish/guestfish-actions.pod:2752 ../fish/guestfish-actions.pod:7666
#: ../lib/guestfs-actions.pod:4591 ../lib/guestfs-actions.pod:12447
msgid "'r'"
msgstr "'r'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2754 ../fish/guestfish-actions.pod:7668
#: ../lib/guestfs-actions.pod:4593 ../lib/guestfs-actions.pod:12449
msgid "Regular file"
msgstr "Regular file"

#. type: =item
#: ../fish/guestfish-actions.pod:2756 ../fish/guestfish-actions.pod:3115
#: ../fish/guestfish-actions.pod:7670 ../lib/guestfs-actions.pod:4595
#: ../lib/guestfs-actions.pod:5133 ../lib/guestfs-actions.pod:12451
msgid "'s'"
msgstr "'s'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2758 ../fish/guestfish-actions.pod:7672
#: ../lib/guestfs-actions.pod:4597 ../lib/guestfs-actions.pod:12453
msgid "Socket"
msgstr "Socket"

#. type: =item
#: ../fish/guestfish-actions.pod:2760 ../fish/guestfish-actions.pod:3097
#: ../lib/guestfs-actions.pod:4599 ../lib/guestfs-actions.pod:5115
msgid "'h'"
msgstr "'h'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2762 ../lib/guestfs-actions.pod:4601
msgid "Shadow inode (Solaris)"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2764 ../lib/guestfs-actions.pod:4603
msgid "'w'"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2766 ../lib/guestfs-actions.pod:4605
msgid "Whiteout inode (BSD)"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:2768 ../fish/guestfish-actions.pod:3135
#: ../fish/guestfish-actions.pod:7674 ../lib/guestfs-actions.pod:4607
#: ../lib/guestfs-actions.pod:5153 ../lib/guestfs-actions.pod:12455
msgid "'u'"
msgstr "'u'"

#. type: textblock
#: ../fish/guestfish-actions.pod:2770 ../fish/guestfish-actions.pod:7676
#: ../lib/guestfs-actions.pod:4609 ../lib/guestfs-actions.pod:12457
msgid "Unknown file type"
msgstr "Unknown file type"

#. type: textblock
#: ../fish/guestfish-actions.pod:2774 ../fish/guestfish-actions.pod:2876
msgid ""
"This command depends on the feature C<libtsk>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2777
msgid "fill"
msgstr "fill"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2779
#, no-wrap
msgid ""
" fill c len path\n"
"\n"
msgstr ""
" fill c len path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2781 ../lib/guestfs-actions.pod:4635
msgid ""
"This command creates a new file called C<path>.  The initial content of the "
"file is C<len> octets of C<c>, where C<c> must be a number in the range "
"C<[0..255]>."
msgstr ""
"This command creates a new file called C<path>.  The initial content of the "
"file is C<len> octets of C<c>, where C<c> must be a number in the range "
"C<[0..255]>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2785
msgid ""
"To fill a file with zero bytes (sparsely), it is much more efficient to use "
"L</truncate-size>.  To create a file with a pattern of repeating bytes use "
"L</fill-pattern>."
msgstr ""
"To fill a file with zero bytes (sparsely), it is much more efficient to use "
"L</truncate-size>.  To create a file with a pattern of repeating bytes use "
"L</fill-pattern>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2790
msgid "fill-dir"
msgstr "fill-dir"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2792
#, no-wrap
msgid ""
" fill-dir dir nr\n"
"\n"
msgstr ""
" fill-dir dir nr\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2794 ../lib/guestfs-actions.pod:4660
msgid ""
"This function, useful for testing filesystems, creates C<nr> empty files in "
"the directory C<dir> with names C<00000000> through C<nr-1> (ie. each file "
"name is 8 digits long padded with zeroes)."
msgstr ""
"This function, useful for testing filesystems, creates C<nr> empty files in "
"the directory C<dir> with names C<00000000> through C<nr-1> (ie. each file "
"name is 8 digits long padded with zeroes)."

#. type: =head2
#: ../fish/guestfish-actions.pod:2799
msgid "fill-pattern"
msgstr "fill-pattern"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2801
#, no-wrap
msgid ""
" fill-pattern pattern len path\n"
"\n"
msgstr ""
" fill-pattern pattern len path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2803
msgid ""
"This function is like L</fill> except that it creates a new file of length "
"C<len> containing the repeating pattern of bytes in C<pattern>.  The pattern "
"is truncated if necessary to ensure the length of the file is exactly C<len> "
"bytes."
msgstr ""
"This function is like L</fill> except that it creates a new file of length "
"C<len> containing the repeating pattern of bytes in C<pattern>.  The pattern "
"is truncated if necessary to ensure the length of the file is exactly C<len> "
"bytes."

#. type: =head2
#: ../fish/guestfish-actions.pod:2808
msgid "find"
msgstr "find"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2810
#, no-wrap
msgid ""
" find directory\n"
"\n"
msgstr ""
" find directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2812 ../lib/guestfs-actions.pod:4697
msgid ""
"This command lists out all files and directories, recursively, starting at "
"F<directory>.  It is essentially equivalent to running the shell command "
"C<find directory -print> but some post-processing happens on the output, "
"described below."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2817 ../lib/guestfs-actions.pod:4702
msgid ""
"This returns a list of strings I<without any prefix>.  Thus if the directory "
"structure was:"
msgstr ""
"This returns a list of strings I<without any prefix>.  Thus if the directory "
"structure was:"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2820 ../lib/guestfs-actions.pod:4705
#, no-wrap
msgid ""
" /tmp/a\n"
" /tmp/b\n"
" /tmp/c/d\n"
"\n"
msgstr ""
" /tmp/a\n"
" /tmp/b\n"
" /tmp/c/d\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2824
msgid "then the returned list from L</find> F</tmp> would be 4 elements:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:2827 ../lib/guestfs-actions.pod:4712
#, no-wrap
msgid ""
" a\n"
" b\n"
" c\n"
" c/d\n"
"\n"
msgstr ""
" a\n"
" b\n"
" c\n"
" c/d\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2832 ../lib/guestfs-actions.pod:4717
msgid "If F<directory> is not a directory, then this command returns an error."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2835 ../lib/guestfs-actions.pod:4720
msgid "The returned list is sorted."
msgstr "The returned list is sorted."

#. type: =head2
#: ../fish/guestfish-actions.pod:2837
msgid "find0"
msgstr "find0"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2839
#, no-wrap
msgid ""
" find0 directory (files|-)\n"
"\n"
msgstr ""
" find0 directory (files|-)\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2841 ../lib/guestfs-actions.pod:4735
msgid ""
"This command lists out all files and directories, recursively, starting at "
"F<directory>, placing the resulting list in the external file called "
"F<files>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2845
msgid ""
"This command works the same way as L</find> with the following exceptions:"
msgstr ""
"This command works the same way as L</find> with the following exceptions:"

#. type: textblock
#: ../fish/guestfish-actions.pod:2852 ../lib/guestfs-actions.pod:4746
msgid "The resulting list is written to an external file."
msgstr "The resulting list is written to an external file."

#. type: textblock
#: ../fish/guestfish-actions.pod:2856 ../lib/guestfs-actions.pod:4750
msgid ""
"Items (filenames) in the result are separated by C<\\0> characters.  See "
"L<find(1)> option I<-print0>."
msgstr ""
"Items (filenames) in the result are separated by C<\\0> characters.  See "
"L<find(1)> option I<-print0>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2861 ../lib/guestfs-actions.pod:4755
msgid "The result list is not sorted."
msgstr "The result list is not sorted."

#. type: =head2
#: ../fish/guestfish-actions.pod:2867
msgid "find-inode"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:2869
#, no-wrap
msgid ""
" find-inode device inode\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2871 ../lib/guestfs-actions.pod:4770
msgid "Searches all the entries associated with the given inode."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2873 ../lib/guestfs-actions.pod:4772
msgid ""
"For each entry, a C<tsk_dirent> structure is returned.  See "
"C<filesystem_walk> for more information about C<tsk_dirent> structures."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2879
msgid "findfs-label"
msgstr "findfs-label"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2881
#, no-wrap
msgid ""
" findfs-label label\n"
"\n"
msgstr ""
" findfs-label label\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2883 ../lib/guestfs-actions.pod:4795
msgid ""
"This command searches the filesystems and returns the one which has the "
"given label.  An error is returned if no such filesystem can be found."
msgstr ""
"This command searches the filesystems and returns the one which has the "
"given label.  An error is returned if no such filesystem can be found."

#. type: textblock
#: ../fish/guestfish-actions.pod:2887
msgid "To find the label of a filesystem, use L</vfs-label>."
msgstr "To find the label of a filesystem, use L</vfs-label>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2889
msgid "findfs-uuid"
msgstr "findfs-uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2891
#, no-wrap
msgid ""
" findfs-uuid uuid\n"
"\n"
msgstr ""
" findfs-uuid uuid\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2893 ../lib/guestfs-actions.pod:4812
msgid ""
"This command searches the filesystems and returns the one which has the "
"given UUID.  An error is returned if no such filesystem can be found."
msgstr ""
"This command searches the filesystems and returns the one which has the "
"given UUID.  An error is returned if no such filesystem can be found."

#. type: textblock
#: ../fish/guestfish-actions.pod:2897
msgid "To find the UUID of a filesystem, use L</vfs-uuid>."
msgstr "To find the UUID of a filesystem, use L</vfs-uuid>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2899
msgid "fsck"
msgstr "fsck"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2901
#, no-wrap
msgid ""
" fsck fstype device\n"
"\n"
msgstr ""
" fsck fstype device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2903 ../lib/guestfs-actions.pod:4830
msgid ""
"This runs the filesystem checker (fsck) on C<device> which should have "
"filesystem type C<fstype>."
msgstr ""
"This runs the filesystem checker (fsck) on C<device> which should have "
"filesystem type C<fstype>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2906 ../lib/guestfs-actions.pod:4833
msgid ""
"The returned integer is the status.  See L<fsck(8)> for the list of status "
"codes from C<fsck>."
msgstr ""
"The returned integer is the status.  See L<fsck(8)> for the list of status "
"codes from C<fsck>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2915 ../lib/guestfs-actions.pod:4842
msgid "Multiple status codes can be summed together."
msgstr "Multiple status codes can be summed together."

#. type: textblock
#: ../fish/guestfish-actions.pod:2919 ../lib/guestfs-actions.pod:4846
msgid ""
"A non-zero return code can mean \"success\", for example if errors have been "
"corrected on the filesystem."
msgstr ""
"A non-zero return code can mean \"success\", for example if errors have been "
"corrected on the filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:2924 ../lib/guestfs-actions.pod:4851
msgid "Checking or repairing NTFS volumes is not supported (by linux-ntfs)."
msgstr "Checking or repairing NTFS volumes is not supported (by linux-ntfs)."

#. type: textblock
#: ../fish/guestfish-actions.pod:2929 ../lib/guestfs-actions.pod:4856
msgid ""
"This command is entirely equivalent to running C<fsck -a -t fstype device>."
msgstr ""
"This command is entirely equivalent to running C<fsck -a -t fstype device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:2931
msgid "fstrim"
msgstr "fstrim"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2933
#, no-wrap
msgid ""
" fstrim mountpoint [offset:N] [length:N] [minimumfreeextent:N]\n"
"\n"
msgstr ""
" fstrim mountpoint [offset:N] [length:N] [minimumfreeextent:N]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2935 ../lib/guestfs-actions.pod:4878
msgid ""
"Trim the free space in the filesystem mounted on C<mountpoint>.  The "
"filesystem must be mounted read-write."
msgstr ""
"Trim the free space in the filesystem mounted on C<mountpoint>.  The "
"filesystem must be mounted read-write."

#. type: textblock
#: ../fish/guestfish-actions.pod:2938 ../lib/guestfs-actions.pod:4881
msgid ""
"The filesystem contents are not affected, but any free space in the "
"filesystem is \"trimmed\", that is, given back to the host device, thus "
"making disk images more sparse, allowing unused space in qcow2 files to be "
"reused, etc."
msgstr ""
"The filesystem contents are not affected, but any free space in the "
"filesystem is \"trimmed\", that is, given back to the host device, thus "
"making disk images more sparse, allowing unused space in qcow2 files to be "
"reused, etc."

#. type: textblock
#: ../fish/guestfish-actions.pod:2943 ../lib/guestfs-actions.pod:4886
msgid ""
"This operation requires support in libguestfs, the mounted filesystem, the "
"host filesystem, qemu and the host kernel.  If this support isn't present it "
"may give an error or even appear to run but do nothing."
msgstr ""
"This operation requires support in libguestfs, the mounted filesystem, the "
"host filesystem, qemu and the host kernel.  If this support isn't present it "
"may give an error or even appear to run but do nothing."

#. type: textblock
#: ../fish/guestfish-actions.pod:2948 ../lib/guestfs-actions.pod:4891
msgid ""
"In the case where the kernel vfs driver does not support trimming, this call "
"will fail with errno set to C<ENOTSUP>.  Currently this happens when trying "
"to trim FAT filesystems."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2952
msgid ""
"See also L</zero-free-space>.  That is a slightly different operation that "
"turns free space in the filesystem into zeroes.  It is valid to call L</"
"fstrim> either instead of, or after calling L</zero-free-space>."
msgstr ""
"See also L</zero-free-space>.  That is a slightly different operation that "
"turns free space in the filesystem into zeroes.  It is valid to call L</"
"fstrim> either instead of, or after calling L</zero-free-space>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2959
msgid ""
"This command depends on the feature C<fstrim>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:2962
msgid "get-append"
msgstr "get-append"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2964
#, no-wrap
msgid ""
" get-append\n"
"\n"
msgstr ""
" get-append\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2966 ../lib/guestfs-actions.pod:4934
msgid ""
"Return the additional kernel options which are added to the libguestfs "
"appliance kernel command line."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:2969 ../lib/guestfs-actions.pod:4937
msgid "If C<NULL> then no options are added."
msgstr "If C<NULL> then no options are added."

#. type: =head2
#: ../fish/guestfish-actions.pod:2971
msgid "get-attach-method"
msgstr "get-attach-method"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2973
#, no-wrap
msgid ""
" get-attach-method\n"
"\n"
msgstr ""
" get-attach-method\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2975 ../fish/guestfish-actions.pod:2996
#: ../lib/guestfs-actions.pod:4957 ../lib/guestfs-actions.pod:4982
msgid "Return the current backend."
msgstr "Return the current backend."

#. type: textblock
#: ../fish/guestfish-actions.pod:2977 ../fish/guestfish-actions.pod:3000
msgid "See L</set-backend> and L<guestfs(3)/BACKEND>."
msgstr "See L</set-backend> and L<guestfs(3)/BACKEND>."

#. type: textblock
#: ../fish/guestfish-actions.pod:2979
msgid ""
"I<This function is deprecated.> In new code, use the L</get-backend> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</get-backend> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:2986
msgid "get-autosync"
msgstr "get-autosync"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2988
#, no-wrap
msgid ""
" get-autosync\n"
"\n"
msgstr ""
" get-autosync\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2990 ../lib/guestfs-actions.pod:4971
msgid "Get the autosync flag."
msgstr "Get the autosync flag."

#. type: =head2
#: ../fish/guestfish-actions.pod:2992
msgid "get-backend"
msgstr "get-backend"

#. type: verbatim
#: ../fish/guestfish-actions.pod:2994
#, no-wrap
msgid ""
" get-backend\n"
"\n"
msgstr ""
" get-backend\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:2998 ../fish/guestfish-actions.pod:8068
#: ../lib/guestfs-actions.pod:4984 ../lib/guestfs-actions.pod:13162
msgid "This handle property was previously called the \"attach method\"."
msgstr "This handle property was previously called the \"attach method\"."

#. type: =head2
#: ../fish/guestfish-actions.pod:3002
msgid "get-backend-setting"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3004
#, no-wrap
msgid ""
" get-backend-setting name\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3006 ../lib/guestfs-actions.pod:4999
msgid ""
"Find a backend setting string which is either C<\"name\"> or begins with C<"
"\"name=\">.  If C<\"name\">, this returns the string C<\"1\">.  If C<\"name="
"\">, this returns the part after the equals sign (which may be an empty "
"string)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3011
msgid ""
"If no such setting is found, this function throws an error.  The errno (see "
"L</last-errno>) will be C<ESRCH> in this case."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3017
msgid "get-backend-settings"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3019
#, no-wrap
msgid ""
" get-backend-settings\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3021 ../lib/guestfs-actions.pod:5020
msgid "Return the current backend settings."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3023
msgid ""
"This call returns all backend settings strings.  If you want to find a "
"single backend setting, see L</get-backend-setting>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3028
msgid "get-cachedir"
msgstr "get-cachedir"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3030
#, no-wrap
msgid ""
" get-cachedir\n"
"\n"
msgstr ""
" get-cachedir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3032 ../lib/guestfs-actions.pod:5038
msgid "Get the directory used by the handle to store the appliance cache."
msgstr "Get the directory used by the handle to store the appliance cache."

#. type: =head2
#: ../fish/guestfish-actions.pod:3034
msgid "get-direct"
msgstr "get-direct"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3036
#, no-wrap
msgid ""
" get-direct\n"
"\n"
msgstr ""
" get-direct\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3038 ../lib/guestfs-actions.pod:5057
msgid "Return the direct appliance mode flag."
msgstr "Return the direct appliance mode flag."

#. type: textblock
#: ../fish/guestfish-actions.pod:3040 ../fish/guestfish-actions.pod:8138
msgid ""
"I<This function is deprecated.> In new code, use the L</internal-get-console-"
"socket> call instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3047
msgid "get-e2attrs"
msgstr "get-e2attrs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3049
#, no-wrap
msgid ""
" get-e2attrs file\n"
"\n"
msgstr ""
" get-e2attrs file\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3051 ../lib/guestfs-actions.pod:5069
msgid "This returns the file attributes associated with F<file>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3053 ../lib/guestfs-actions.pod:5071
msgid ""
"The attributes are a set of bits associated with each inode which affect the "
"behaviour of the file.  The attributes are returned as a string of letters "
"(described below).  The string may be empty, indicating that no file "
"attributes are set for this file."
msgstr ""
"The attributes are a set of bits associated with each inode which affect the "
"behaviour of the file.  The attributes are returned as a string of letters "
"(described below).  The string may be empty, indicating that no file "
"attributes are set for this file."

#. type: textblock
#: ../fish/guestfish-actions.pod:3059 ../fish/guestfish-actions.pod:8165
#: ../lib/guestfs-actions.pod:5077 ../lib/guestfs-actions.pod:13295
msgid ""
"These attributes are only present when the file is located on an ext2/3/4 "
"filesystem.  Using this call on other filesystem types will result in an "
"error."
msgstr ""
"These attributes are only present when the file is located on an ext2/3/4 "
"filesystem.  Using this call on other filesystem types will result in an "
"error."

#. type: textblock
#: ../fish/guestfish-actions.pod:3063 ../lib/guestfs-actions.pod:5081
msgid "The characters (file attributes) in the returned string are currently:"
msgstr "The characters (file attributes) in the returned string are currently:"

#. type: =item
#: ../fish/guestfish-actions.pod:3068 ../lib/guestfs-actions.pod:5086
msgid "'A'"
msgstr "'A'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3070 ../lib/guestfs-actions.pod:5088
msgid "When the file is accessed, its atime is not modified."
msgstr "When the file is accessed, its atime is not modified."

#. type: =item
#: ../fish/guestfish-actions.pod:3072 ../lib/guestfs-actions.pod:5090
msgid "'a'"
msgstr "'a'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3074 ../lib/guestfs-actions.pod:5092
msgid "The file is append-only."
msgstr "The file is append-only."

#. type: textblock
#: ../fish/guestfish-actions.pod:3078 ../lib/guestfs-actions.pod:5096
msgid "The file is compressed on-disk."
msgstr "The file is compressed on-disk."

#. type: =item
#: ../fish/guestfish-actions.pod:3080 ../lib/guestfs-actions.pod:5098
msgid "'D'"
msgstr "'D'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3082 ../lib/guestfs-actions.pod:5100
msgid ""
"(Directories only.)  Changes to this directory are written synchronously to "
"disk."
msgstr ""
"(Directories only.)  Changes to this directory are written synchronously to "
"disk."

#. type: textblock
#: ../fish/guestfish-actions.pod:3087 ../lib/guestfs-actions.pod:5105
msgid "The file is not a candidate for backup (see L<dump(8)>)."
msgstr "The file is not a candidate for backup (see L<dump(8)>)."

#. type: =item
#: ../fish/guestfish-actions.pod:3089 ../lib/guestfs-actions.pod:5107
msgid "'E'"
msgstr "'E'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3091 ../lib/guestfs-actions.pod:5109
msgid "The file has compression errors."
msgstr "The file has compression errors."

#. type: =item
#: ../fish/guestfish-actions.pod:3093 ../lib/guestfs-actions.pod:5111
msgid "'e'"
msgstr "'e'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3095 ../lib/guestfs-actions.pod:5113
msgid "The file is using extents."
msgstr "The file is using extents."

#. type: textblock
#: ../fish/guestfish-actions.pod:3099 ../lib/guestfs-actions.pod:5117
msgid ""
"The file is storing its blocks in units of the filesystem blocksize instead "
"of sectors."
msgstr ""
"The file is storing its blocks in units of the filesystem blocksize instead "
"of sectors."

#. type: =item
#: ../fish/guestfish-actions.pod:3102 ../lib/guestfs-actions.pod:5120
msgid "'I'"
msgstr "'I'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3104 ../lib/guestfs-actions.pod:5122
msgid "(Directories only.)  The directory is using hashed trees."
msgstr "(Directories only.)  The directory is using hashed trees."

#. type: =item
#: ../fish/guestfish-actions.pod:3106 ../lib/guestfs-actions.pod:5124
msgid "'i'"
msgstr "'i'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3108 ../lib/guestfs-actions.pod:5126
msgid ""
"The file is immutable.  It cannot be modified, deleted or renamed.  No link "
"can be created to this file."
msgstr ""
"The file is immutable.  It cannot be modified, deleted or renamed.  No link "
"can be created to this file."

#. type: =item
#: ../fish/guestfish-actions.pod:3111 ../lib/guestfs-actions.pod:5129
msgid "'j'"
msgstr "'j'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3113 ../lib/guestfs-actions.pod:5131
msgid "The file is data-journaled."
msgstr "The file is data-journaled."

#. type: textblock
#: ../fish/guestfish-actions.pod:3117 ../lib/guestfs-actions.pod:5135
msgid "When the file is deleted, all its blocks will be zeroed."
msgstr "When the file is deleted, all its blocks will be zeroed."

#. type: =item
#: ../fish/guestfish-actions.pod:3119 ../lib/guestfs-actions.pod:5137
msgid "'S'"
msgstr "'S'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3121 ../lib/guestfs-actions.pod:5139
msgid "Changes to this file are written synchronously to disk."
msgstr "Changes to this file are written synchronously to disk."

#. type: =item
#: ../fish/guestfish-actions.pod:3123 ../lib/guestfs-actions.pod:5141
msgid "'T'"
msgstr "'T'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3125 ../lib/guestfs-actions.pod:5143
msgid ""
"(Directories only.)  This is a hint to the block allocator that "
"subdirectories contained in this directory should be spread across blocks.  "
"If not present, the block allocator will try to group subdirectories "
"together."
msgstr ""
"(Directories only.)  This is a hint to the block allocator that "
"subdirectories contained in this directory should be spread across blocks.  "
"If not present, the block allocator will try to group subdirectories "
"together."

#. type: =item
#: ../fish/guestfish-actions.pod:3130 ../lib/guestfs-actions.pod:5148
msgid "'t'"
msgstr "'t'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3132 ../lib/guestfs-actions.pod:5150
msgid ""
"For a file, this disables tail-merging.  (Not used by upstream "
"implementations of ext2.)"
msgstr ""
"For a file, this disables tail-merging.  (Not used by upstream "
"implementations of ext2.)"

#. type: textblock
#: ../fish/guestfish-actions.pod:3137 ../lib/guestfs-actions.pod:5155
msgid ""
"When the file is deleted, its blocks will be saved, allowing the file to be "
"undeleted."
msgstr ""
"When the file is deleted, its blocks will be saved, allowing the file to be "
"undeleted."

#. type: =item
#: ../fish/guestfish-actions.pod:3140 ../lib/guestfs-actions.pod:5158
msgid "'X'"
msgstr "'X'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3142 ../lib/guestfs-actions.pod:5160
msgid "The raw contents of the compressed file may be accessed."
msgstr "The raw contents of the compressed file may be accessed."

#. type: =item
#: ../fish/guestfish-actions.pod:3144 ../lib/guestfs-actions.pod:5162
msgid "'Z'"
msgstr "'Z'"

#. type: textblock
#: ../fish/guestfish-actions.pod:3146 ../lib/guestfs-actions.pod:5164
msgid "The compressed file is dirty."
msgstr "The compressed file is dirty."

#. type: textblock
#: ../fish/guestfish-actions.pod:3150 ../lib/guestfs-actions.pod:5168
msgid ""
"More file attributes may be added to this list later.  Not all file "
"attributes may be set for all kinds of files.  For detailed information, "
"consult the L<chattr(1)> man page."
msgstr ""
"More file attributes may be added to this list later.  Not all file "
"attributes may be set for all kinds of files.  For detailed information, "
"consult the L<chattr(1)> man page."

#. type: textblock
#: ../fish/guestfish-actions.pod:3154
msgid "See also L</set-e2attrs>."
msgstr "See also L</set-e2attrs>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3156
msgid ""
"Don't confuse these attributes with extended attributes (see L</getxattr>)."
msgstr ""
"Don't confuse these attributes with extended attributes (see L</getxattr>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:3159
msgid "get-e2generation"
msgstr "get-e2generation"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3161
#, no-wrap
msgid ""
" get-e2generation file\n"
"\n"
msgstr ""
" get-e2generation file\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3163 ../lib/guestfs-actions.pod:5188
msgid ""
"This returns the ext2 file generation of a file.  The generation (which used "
"to be called the \"version\") is a number associated with an inode.  This is "
"most commonly used by NFS servers."
msgstr ""
"This returns the ext2 file generation of a file.  The generation (which used "
"to be called the \"version\") is a number associated with an inode.  This is "
"most commonly used by NFS servers."

#. type: textblock
#: ../fish/guestfish-actions.pod:3167 ../lib/guestfs-actions.pod:5192
msgid ""
"The generation is only present when the file is located on an ext2/3/4 "
"filesystem.  Using this call on other filesystem types will result in an "
"error."
msgstr ""
"The generation is only present when the file is located on an ext2/3/4 "
"filesystem.  Using this call on other filesystem types will result in an "
"error."

#. type: textblock
#: ../fish/guestfish-actions.pod:3171
msgid "See L</set-e2generation>."
msgstr "See L</set-e2generation>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3173
msgid "get-e2label"
msgstr "get-e2label"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3175
#, no-wrap
msgid ""
" get-e2label device\n"
"\n"
msgstr ""
" get-e2label device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3177 ../lib/guestfs-actions.pod:5215
msgid ""
"This returns the ext2/3/4 filesystem label of the filesystem on C<device>."
msgstr ""
"This returns the ext2/3/4 filesystem label of the filesystem on C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3180
msgid ""
"I<This function is deprecated.> In new code, use the L</vfs-label> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</vfs-label> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:3187
msgid "get-e2uuid"
msgstr "get-e2uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3189
#, no-wrap
msgid ""
" get-e2uuid device\n"
"\n"
msgstr ""
" get-e2uuid device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3191 ../lib/guestfs-actions.pod:5236
msgid ""
"This returns the ext2/3/4 filesystem UUID of the filesystem on C<device>."
msgstr ""
"This returns the ext2/3/4 filesystem UUID of the filesystem on C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3194
msgid ""
"I<This function is deprecated.> In new code, use the L</vfs-uuid> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</vfs-uuid> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:3201
msgid "get-hv"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3203
#, no-wrap
msgid ""
" get-hv\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3205 ../lib/guestfs-actions.pod:5249
msgid "Return the current hypervisor binary."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3207 ../fish/guestfish-actions.pod:3317
#: ../lib/guestfs-actions.pod:5251 ../lib/guestfs-actions.pod:5438
msgid ""
"This is always non-NULL.  If it wasn't set already, then this will return "
"the default qemu binary name."
msgstr ""
"This is always non-NULL.  If it wasn't set already, then this will return "
"the default qemu binary name."

#. type: =head2
#: ../fish/guestfish-actions.pod:3210
msgid "get-identifier"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3212
#, no-wrap
msgid ""
" get-identifier\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3214
msgid "Get the handle identifier.  See L</set-identifier>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3216
msgid "get-libvirt-requested-credential-challenge"
msgstr "get-libvirt-requested-credential-challenge"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3218
#, no-wrap
msgid ""
" get-libvirt-requested-credential-challenge index\n"
"\n"
msgstr ""
" get-libvirt-requested-credential-challenge index\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3220 ../lib/guestfs-actions.pod:5277
msgid ""
"Get the challenge (provided by libvirt) for the C<index>'th requested "
"credential.  If libvirt did not provide a challenge, this returns the empty "
"string C<\"\">."
msgstr ""
"Get the challenge (provided by libvirt) for the C<index>'th requested "
"credential.  If libvirt did not provide a challenge, this returns the empty "
"string C<\"\">."

#. type: textblock
#: ../fish/guestfish-actions.pod:3224 ../fish/guestfish-actions.pod:3234
#: ../fish/guestfish-actions.pod:3244 ../fish/guestfish-actions.pod:3257
#: ../fish/guestfish-actions.pod:8325 ../fish/guestfish-actions.pod:8362
#: ../lib/guestfs-actions.pod:5281 ../lib/guestfs-actions.pod:5298
#: ../lib/guestfs-actions.pod:5315 ../lib/guestfs-actions.pod:5334
#: ../lib/guestfs-actions.pod:13521 ../lib/guestfs-actions.pod:13564
msgid ""
"See L<guestfs(3)/LIBVIRT AUTHENTICATION> for documentation and example code."
msgstr ""
"See L<guestfs(3)/LIBVIRT AUTHENTICATION> for documentation and example code."

#. type: =head2
#: ../fish/guestfish-actions.pod:3226
msgid "get-libvirt-requested-credential-defresult"
msgstr "get-libvirt-requested-credential-defresult"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3228
#, no-wrap
msgid ""
" get-libvirt-requested-credential-defresult index\n"
"\n"
msgstr ""
" get-libvirt-requested-credential-defresult index\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3230 ../lib/guestfs-actions.pod:5294
msgid ""
"Get the default result (provided by libvirt) for the C<index>'th requested "
"credential.  If libvirt did not provide a default result, this returns the "
"empty string C<\"\">."
msgstr ""
"Get the default result (provided by libvirt) for the C<index>'th requested "
"credential.  If libvirt did not provide a default result, this returns the "
"empty string C<\"\">."

#. type: =head2
#: ../fish/guestfish-actions.pod:3236
msgid "get-libvirt-requested-credential-prompt"
msgstr "get-libvirt-requested-credential-prompt"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3238
#, no-wrap
msgid ""
" get-libvirt-requested-credential-prompt index\n"
"\n"
msgstr ""
" get-libvirt-requested-credential-prompt index\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3240 ../lib/guestfs-actions.pod:5311
msgid ""
"Get the prompt (provided by libvirt) for the C<index>'th requested "
"credential.  If libvirt did not provide a prompt, this returns the empty "
"string C<\"\">."
msgstr ""
"Get the prompt (provided by libvirt) for the C<index>'th requested "
"credential.  If libvirt did not provide a prompt, this returns the empty "
"string C<\"\">."

#. type: =head2
#: ../fish/guestfish-actions.pod:3246
msgid "get-libvirt-requested-credentials"
msgstr "get-libvirt-requested-credentials"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3248
#, no-wrap
msgid ""
" get-libvirt-requested-credentials\n"
"\n"
msgstr ""
" get-libvirt-requested-credentials\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3250 ../lib/guestfs-actions.pod:5327
msgid ""
"This should only be called during the event callback for events of type "
"C<GUESTFS_EVENT_LIBVIRT_AUTH>."
msgstr ""
"This should only be called during the event callback for events of type "
"C<GUESTFS_EVENT_LIBVIRT_AUTH>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3253
msgid ""
"Return the list of credentials requested by libvirt.  Possible values are a "
"subset of the strings provided when you called L</set-libvirt-supported-"
"credentials>."
msgstr ""
"Return the list of credentials requested by libvirt.  Possible values are a "
"subset of the strings provided when you called L</set-libvirt-supported-"
"credentials>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3259
msgid "get-memsize"
msgstr "get-memsize"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3261
#, no-wrap
msgid ""
" get-memsize\n"
"\n"
msgstr ""
" get-memsize\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3263 ../lib/guestfs-actions.pod:5347
msgid "This gets the memory size in megabytes allocated to the hypervisor."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3266
msgid ""
"If L</set-memsize> was not called on this handle, and if "
"C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
"value for memsize."
msgstr ""
"If L</set-memsize> was not called on this handle, and if "
"C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
"value for memsize."

#. type: textblock
#: ../fish/guestfish-actions.pod:3270 ../fish/guestfish-actions.pod:3340
#: ../fish/guestfish-actions.pod:8378 ../fish/guestfish-actions.pod:8502
#: ../lib/guestfs-actions.pod:5354 ../lib/guestfs-actions.pod:5472
#: ../lib/guestfs-actions.pod:13584 ../lib/guestfs-actions.pod:13743
msgid ""
"For more information on the architecture of libguestfs, see L<guestfs(3)>."
msgstr ""
"For more information on the architecture of libguestfs, see L<guestfs(3)>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3273
msgid "get-network"
msgstr "get-network"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3275
#, no-wrap
msgid ""
" get-network\n"
"\n"
msgstr ""
" get-network\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3277 ../lib/guestfs-actions.pod:5366
msgid "This returns the enable network flag."
msgstr "This returns the enable network flag."

#. type: =head2
#: ../fish/guestfish-actions.pod:3279
msgid "get-path"
msgstr "get-path"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3281
#, no-wrap
msgid ""
" get-path\n"
"\n"
msgstr ""
" get-path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3283 ../lib/guestfs-actions.pod:5377
msgid "Return the current search path."
msgstr "Return the current search path."

#. type: textblock
#: ../fish/guestfish-actions.pod:3285 ../lib/guestfs-actions.pod:5379
msgid ""
"This is always non-NULL.  If it wasn't set already, then this will return "
"the default path."
msgstr ""
"This is always non-NULL.  If it wasn't set already, then this will return "
"the default path."

#. type: =head2
#: ../fish/guestfish-actions.pod:3288
msgid "get-pgroup"
msgstr "get-pgroup"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3290
#, no-wrap
msgid ""
" get-pgroup\n"
"\n"
msgstr ""
" get-pgroup\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3292 ../lib/guestfs-actions.pod:5392
msgid "This returns the process group flag."
msgstr "This returns the process group flag."

#. type: =head2
#: ../fish/guestfish-actions.pod:3294
msgid "get-pid"
msgstr "get-pid"

#. type: =head2
#: ../fish/guestfish-actions.pod:3296
msgid "pid"
msgstr "pid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3298
#, no-wrap
msgid ""
" get-pid\n"
"\n"
msgstr ""
" get-pid\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3300 ../lib/guestfs-actions.pod:5403
msgid ""
"Return the process ID of the hypervisor.  If there is no hypervisor running, "
"then this will return an error."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3303 ../lib/guestfs-actions.pod:5406
msgid "This is an internal call used for debugging and testing."
msgstr "This is an internal call used for debugging and testing."

#. type: =head2
#: ../fish/guestfish-actions.pod:3305
msgid "get-program"
msgstr "get-program"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3307
#, no-wrap
msgid ""
" get-program\n"
"\n"
msgstr ""
" get-program\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3309
msgid "Get the program name.  See L</set-program>."
msgstr "Get the program name.  See L</set-program>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3311
msgid "get-qemu"
msgstr "get-qemu"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3313
#, no-wrap
msgid ""
" get-qemu\n"
"\n"
msgstr ""
" get-qemu\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3315 ../lib/guestfs-actions.pod:5436
msgid "Return the current hypervisor binary (usually qemu)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3320
msgid ""
"I<This function is deprecated.> In new code, use the L</get-hv> call instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3327
msgid "get-recovery-proc"
msgstr "get-recovery-proc"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3329
#, no-wrap
msgid ""
" get-recovery-proc\n"
"\n"
msgstr ""
" get-recovery-proc\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3331 ../lib/guestfs-actions.pod:5451
msgid "Return the recovery process enabled flag."
msgstr "Return the recovery process enabled flag."

#. type: =head2
#: ../fish/guestfish-actions.pod:3333
msgid "get-selinux"
msgstr "get-selinux"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3335
#, no-wrap
msgid ""
" get-selinux\n"
"\n"
msgstr ""
" get-selinux\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3337
msgid ""
"This returns the current setting of the selinux flag which is passed to the "
"appliance at boot time.  See L</set-selinux>."
msgstr ""
"This returns the current setting of the selinux flag which is passed to the "
"appliance at boot time.  See L</set-selinux>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3343 ../fish/guestfish-actions.pod:3404
#: ../fish/guestfish-actions.pod:8505 ../fish/guestfish-actions.pod:8607
msgid ""
"I<This function is deprecated.> In new code, use the L</selinux-relabel> "
"call instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3350
msgid "get-smp"
msgstr "get-smp"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3352
#, no-wrap
msgid ""
" get-smp\n"
"\n"
msgstr ""
" get-smp\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3354 ../lib/guestfs-actions.pod:5484
msgid "This returns the number of virtual CPUs assigned to the appliance."
msgstr "This returns the number of virtual CPUs assigned to the appliance."

#. type: =head2
#: ../fish/guestfish-actions.pod:3356
msgid "get-sockdir"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3358
#, no-wrap
msgid ""
" get-sockdir\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3360 ../lib/guestfs-actions.pod:5495
msgid "Get the directory used by the handle to store temporary socket files."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3362
msgid ""
"This is different from L</get-tmpdir>, as we need shorter paths for sockets "
"(due to the limited buffers of filenames for UNIX sockets), and L</get-"
"tmpdir> may be too long for them."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3366 ../lib/guestfs-actions.pod:5501
msgid ""
"The environment variable C<XDG_RUNTIME_DIR> controls the default value: If "
"C<XDG_RUNTIME_DIR> is set, then that is the default.  Else F</tmp> is the "
"default."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3370
msgid "get-tmpdir"
msgstr "get-tmpdir"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3372
#, no-wrap
msgid ""
" get-tmpdir\n"
"\n"
msgstr ""
" get-tmpdir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3374 ../lib/guestfs-actions.pod:5529
msgid "Get the directory used by the handle to store temporary files."
msgstr "Get the directory used by the handle to store temporary files."

#. type: =head2
#: ../fish/guestfish-actions.pod:3376
msgid "get-trace"
msgstr "get-trace"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3378
#, no-wrap
msgid ""
" get-trace\n"
"\n"
msgstr ""
" get-trace\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3380 ../lib/guestfs-actions.pod:5541
msgid "Return the command trace flag."
msgstr "Return the command trace flag."

#. type: =head2
#: ../fish/guestfish-actions.pod:3382
msgid "get-umask"
msgstr "get-umask"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3384
#, no-wrap
msgid ""
" get-umask\n"
"\n"
msgstr ""
" get-umask\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3386
msgid ""
"Return the current umask.  By default the umask is C<022> unless it has been "
"set by calling L</umask>."
msgstr ""
"Return the current umask.  By default the umask is C<022> unless it has been "
"set by calling L</umask>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3389
msgid "get-verbose"
msgstr "get-verbose"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3391
#, no-wrap
msgid ""
" get-verbose\n"
"\n"
msgstr ""
" get-verbose\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3393 ../lib/guestfs-actions.pod:5564
msgid "This returns the verbose messages flag."
msgstr "This returns the verbose messages flag."

#. type: =head2
#: ../fish/guestfish-actions.pod:3395
msgid "getcon"
msgstr "getcon"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3397
#, no-wrap
msgid ""
" getcon\n"
"\n"
msgstr ""
" getcon\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3399 ../lib/guestfs-actions.pod:5582
msgid "This gets the SELinux security context of the daemon."
msgstr "This gets the SELinux security context of the daemon."

#. type: textblock
#: ../fish/guestfish-actions.pod:3401
msgid "See the documentation about SELINUX in L<guestfs(3)>, and L</setcon>"
msgstr "See the documentation about SELINUX in L<guestfs(3)>, and L</setcon>"

#. type: textblock
#: ../fish/guestfish-actions.pod:3411 ../fish/guestfish-actions.pod:8614
msgid ""
"This command depends on the feature C<selinux>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3414
msgid "getxattr"
msgstr "getxattr"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3416
#, no-wrap
msgid ""
" getxattr path name\n"
"\n"
msgstr ""
" getxattr path name\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3418
msgid ""
"Get a single extended attribute from file C<path> named C<name>.  This call "
"follows symlinks.  If you want to lookup an extended attribute for the "
"symlink itself, use L</lgetxattr>."
msgstr ""
"Get a single extended attribute from file C<path> named C<name>.  This call "
"follows symlinks.  If you want to lookup an extended attribute for the "
"symlink itself, use L</lgetxattr>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3422 ../fish/guestfish-actions.pod:5373
msgid ""
"Normally it is better to get all extended attributes from a file in one go "
"by calling L</getxattrs>.  However some Linux filesystem implementations are "
"buggy and do not provide a way to list out attributes.  For these "
"filesystems (notably ntfs-3g)  you have to know the names of the extended "
"attributes you want in advance and call this function."
msgstr ""
"Normally it is better to get all extended attributes from a file in one go "
"by calling L</getxattrs>.  However some Linux filesystem implementations are "
"buggy and do not provide a way to list out attributes.  For these "
"filesystems (notably ntfs-3g)  you have to know the names of the extended "
"attributes you want in advance and call this function."

#. type: textblock
#: ../fish/guestfish-actions.pod:3429 ../fish/guestfish-actions.pod:5380
#: ../lib/guestfs-actions.pod:5614 ../lib/guestfs-actions.pod:8663
msgid ""
"Extended attribute values are blobs of binary data.  If there is no extended "
"attribute named C<name>, this returns an error."
msgstr ""
"Extended attribute values are blobs of binary data.  If there is no extended "
"attribute named C<name>, this returns an error."

#. type: textblock
#: ../fish/guestfish-actions.pod:3432
msgid "See also: L</getxattrs>, L</lgetxattr>, L<attr(5)>."
msgstr "See also: L</getxattrs>, L</lgetxattr>, L<attr(5)>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3434 ../fish/guestfish-actions.pod:3449
#: ../fish/guestfish-actions.pod:5385 ../fish/guestfish-actions.pod:5396
#: ../fish/guestfish-actions.pod:5582 ../fish/guestfish-actions.pod:5615
#: ../fish/guestfish-actions.pod:6016 ../fish/guestfish-actions.pod:7766
#: ../fish/guestfish-actions.pod:8627
msgid ""
"This command depends on the feature C<linuxxattrs>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3437
msgid "getxattrs"
msgstr "getxattrs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3439
#, no-wrap
msgid ""
" getxattrs path\n"
"\n"
msgstr ""
" getxattrs path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3441 ../lib/guestfs-actions.pod:5634
msgid ""
"This call lists the extended attributes of the file or directory C<path>."
msgstr ""
"This call lists the extended attributes of the file or directory C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3444 ../lib/guestfs-actions.pod:5637
msgid ""
"At the system call level, this is a combination of the L<listxattr(2)> and "
"L<getxattr(2)> calls."
msgstr ""
"At the system call level, this is a combination of the L<listxattr(2)> and "
"L<getxattr(2)> calls."

#. type: textblock
#: ../fish/guestfish-actions.pod:3447
msgid "See also: L</lgetxattrs>, L<attr(5)>."
msgstr "See also: L</lgetxattrs>, L<attr(5)>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3452
msgid "glob-expand"
msgstr "glob-expand"

#. type: =head2
#: ../fish/guestfish-actions.pod:3454
msgid "glob-expand-opts"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3456
#, no-wrap
msgid ""
" glob-expand pattern [directoryslash:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3458 ../lib/guestfs-actions.pod:5678
msgid ""
"This command searches for all the pathnames matching C<pattern> according to "
"the wildcard expansion rules used by the shell."
msgstr ""
"This command searches for all the pathnames matching C<pattern> according to "
"the wildcard expansion rules used by the shell."

#. type: textblock
#: ../fish/guestfish-actions.pod:3462 ../lib/guestfs-actions.pod:5682
msgid ""
"If no paths match, then this returns an empty list (note: not an error)."
msgstr ""
"If no paths match, then this returns an empty list (note: not an error)."

#. type: textblock
#: ../fish/guestfish-actions.pod:3465 ../lib/guestfs-actions.pod:5685
msgid ""
"It is just a wrapper around the C L<glob(3)> function with flags C<GLOB_MARK|"
"GLOB_BRACE>.  See that manual page for more details."
msgstr ""
"It is just a wrapper around the C L<glob(3)> function with flags C<GLOB_MARK|"
"GLOB_BRACE>.  See that manual page for more details."

#. type: textblock
#: ../fish/guestfish-actions.pod:3469 ../lib/guestfs-actions.pod:5689
msgid ""
"C<directoryslash> controls whether use the C<GLOB_MARK> flag for L<glob(3)>, "
"and it defaults to true.  It can be explicitly set as off to return no "
"trailing slashes in filenames of directories."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3473
msgid ""
"Notice that there is no equivalent command for expanding a device name (eg. "
"F</dev/sd*>).  Use L</list-devices>, L</list-partitions> etc functions "
"instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3479
msgid "grep"
msgstr "grep"

#. type: =head2
#: ../fish/guestfish-actions.pod:3481
msgid "grep-opts"
msgstr "grep-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3483
#, no-wrap
msgid ""
" grep regex path [extended:true|false] [fixed:true|false] [insensitive:true|false] [compressed:true|false]\n"
"\n"
msgstr ""
" grep regex path [extended:true|false] [fixed:true|false] [insensitive:true|false] [compressed:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3485 ../lib/guestfs-actions.pod:5757
#, fuzzy
#| msgid ""
#| "This calls the external C<grep> program and returns the matching lines."
msgid ""
"This calls the external L<grep(1)> program and returns the matching lines."
msgstr ""
"This calls the external C<grep> program and returns the matching lines."

#. type: textblock
#: ../fish/guestfish-actions.pod:3488 ../lib/guestfs-actions.pod:5760
msgid "The optional flags are:"
msgstr "The optional flags are:"

#. type: =item
#: ../fish/guestfish-actions.pod:3492 ../lib/guestfs-actions.pod:5764
msgid "C<extended>"
msgstr "C<extended>"

#. type: textblock
#: ../fish/guestfish-actions.pod:3494 ../lib/guestfs-actions.pod:5766
msgid ""
"Use extended regular expressions.  This is the same as using the I<-E> flag."
msgstr ""
"Use extended regular expressions.  This is the same as using the I<-E> flag."

#. type: =item
#: ../fish/guestfish-actions.pod:3497 ../lib/guestfs-actions.pod:5769
msgid "C<fixed>"
msgstr "C<fixed>"

#. type: textblock
#: ../fish/guestfish-actions.pod:3499 ../lib/guestfs-actions.pod:5771
msgid ""
"Match fixed (don't use regular expressions).  This is the same as using the "
"I<-F> flag."
msgstr ""
"Match fixed (don't use regular expressions).  This is the same as using the "
"I<-F> flag."

#. type: =item
#: ../fish/guestfish-actions.pod:3502 ../lib/guestfs-actions.pod:5774
msgid "C<insensitive>"
msgstr "C<insensitive>"

#. type: textblock
#: ../fish/guestfish-actions.pod:3504 ../lib/guestfs-actions.pod:5776
msgid "Match case-insensitive.  This is the same as using the I<-i> flag."
msgstr "Match case-insensitive.  This is the same as using the I<-i> flag."

#. type: =item
#: ../fish/guestfish-actions.pod:3506 ../lib/guestfs-actions.pod:5778
msgid "C<compressed>"
msgstr "C<compressed>"

#. type: textblock
#: ../fish/guestfish-actions.pod:3508 ../lib/guestfs-actions.pod:5780
#, fuzzy
#| msgid ""
#| "Use C<zgrep> instead of C<grep>.  This allows the input to be compress- "
#| "or gzip-compressed."
msgid ""
"Use L<zgrep(1)> instead of L<grep(1)>.  This allows the input to be "
"compress- or gzip-compressed."
msgstr ""
"Use C<zgrep> instead of C<grep>.  This allows the input to be compress- or "
"gzip-compressed."

#. type: =head2
#: ../fish/guestfish-actions.pod:3518
msgid "grepi"
msgstr "grepi"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3520
#, no-wrap
msgid ""
" grepi regex path\n"
"\n"
msgstr ""
" grepi regex path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3522 ../lib/guestfs-actions.pod:5832
msgid ""
"This calls the external C<grep -i> program and returns the matching lines."
msgstr ""
"This calls the external C<grep -i> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:3535
msgid "grub-install"
msgstr "grub-install"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3537
#, no-wrap
msgid ""
" grub-install root device\n"
"\n"
msgstr ""
" grub-install root device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3539 ../lib/guestfs-actions.pod:5851
msgid ""
"This command installs GRUB 1 (the Grand Unified Bootloader) on C<device>, "
"with the root directory being C<root>."
msgstr ""
"This command installs GRUB 1 (the Grand Unified Bootloader) on C<device>, "
"with the root directory being C<root>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3548 ../lib/guestfs-actions.pod:5860
msgid ""
"There is currently no way in the API to install grub2, which is used by most "
"modern Linux guests.  It is possible to run the grub2 command from the "
"guest, although see the caveats in L<guestfs(3)/RUNNING COMMANDS>."
msgstr ""
"There is currently no way in the API to install grub2, which is used by most "
"modern Linux guests.  It is possible to run the grub2 command from the "
"guest, although see the caveats in L<guestfs(3)/RUNNING COMMANDS>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3555 ../lib/guestfs-actions.pod:5867
#, fuzzy
#| msgid ""
#| "This uses C<grub-install> from the host.  Unfortunately grub is not "
#| "always compatible with itself, so this only works in rather narrow "
#| "circumstances.  Careful testing with each guest version is advisable."
msgid ""
"This uses L<grub-install(8)> from the host.  Unfortunately grub is not "
"always compatible with itself, so this only works in rather narrow "
"circumstances.  Careful testing with each guest version is advisable."
msgstr ""
"This uses C<grub-install> from the host.  Unfortunately grub is not always "
"compatible with itself, so this only works in rather narrow circumstances.  "
"Careful testing with each guest version is advisable."

#. type: textblock
#: ../fish/guestfish-actions.pod:3562 ../lib/guestfs-actions.pod:5874
msgid ""
"If grub-install reports the error \"No suitable drive was found in the "
"generated device map.\" it may be that you need to create a F</boot/grub/"
"device.map> file first that contains the mapping between grub device names "
"and Linux device names.  It is usually sufficient to create a file "
"containing:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3569 ../lib/guestfs-actions.pod:5881
#, no-wrap
msgid ""
" (hd0) /dev/vda\n"
"\n"
msgstr ""
" (hd0) /dev/vda\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3571 ../lib/guestfs-actions.pod:5883
msgid "replacing F</dev/vda> with the name of the installation device."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3575
msgid ""
"This command depends on the feature C<grub>.  See also L</feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3578
msgid "head"
msgstr "head"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3580
#, no-wrap
msgid ""
" head path\n"
"\n"
msgstr ""
" head path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3582 ../lib/guestfs-actions.pod:5900
msgid ""
"This command returns up to the first 10 lines of a file as a list of strings."
msgstr ""
"This command returns up to the first 10 lines of a file as a list of strings."

#. type: =head2
#: ../fish/guestfish-actions.pod:3588
msgid "head-n"
msgstr "head-n"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3590
#, no-wrap
msgid ""
" head-n nrlines path\n"
"\n"
msgstr ""
" head-n nrlines path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3592 ../lib/guestfs-actions.pod:5919
msgid ""
"If the parameter C<nrlines> is a positive number, this returns the first "
"C<nrlines> lines of the file C<path>."
msgstr ""
"If the parameter C<nrlines> is a positive number, this returns the first "
"C<nrlines> lines of the file C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3595 ../lib/guestfs-actions.pod:5922
msgid ""
"If the parameter C<nrlines> is a negative number, this returns lines from "
"the file C<path>, excluding the last C<nrlines> lines."
msgstr ""
"If the parameter C<nrlines> is a negative number, this returns lines from "
"the file C<path>, excluding the last C<nrlines> lines."

#. type: textblock
#: ../fish/guestfish-actions.pod:3598 ../fish/guestfish-actions.pod:9030
#: ../lib/guestfs-actions.pod:5925 ../lib/guestfs-actions.pod:14526
msgid "If the parameter C<nrlines> is zero, this returns an empty list."
msgstr "If the parameter C<nrlines> is zero, this returns an empty list."

#. type: =head2
#: ../fish/guestfish-actions.pod:3603
msgid "hexdump"
msgstr "hexdump"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3605
#, no-wrap
msgid ""
" hexdump path\n"
"\n"
msgstr ""
" hexdump path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3607 ../lib/guestfs-actions.pod:5942
msgid ""
"This runs C<hexdump -C> on the given C<path>.  The result is the human-"
"readable, canonical hex dump of the file."
msgstr ""
"This runs C<hexdump -C> on the given C<path>.  The result is the human-"
"readable, canonical hex dump of the file."

#. type: =head2
#: ../fish/guestfish-actions.pod:3613
msgid "hivex-close"
msgstr "hivex-close"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3615
#, no-wrap
msgid ""
" hivex-close\n"
"\n"
msgstr ""
" hivex-close\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3617 ../lib/guestfs-actions.pod:5958
msgid "Close the current hivex handle."
msgstr "Close the current hivex handle."

#. type: textblock
#: ../fish/guestfish-actions.pod:3619 ../fish/guestfish-actions.pod:3635
#: ../fish/guestfish-actions.pod:3646 ../fish/guestfish-actions.pod:3657
#: ../fish/guestfish-actions.pod:3668 ../fish/guestfish-actions.pod:3680
#: ../fish/guestfish-actions.pod:3693 ../fish/guestfish-actions.pod:3704
#: ../fish/guestfish-actions.pod:3715 ../fish/guestfish-actions.pod:3727
#: ../fish/guestfish-actions.pod:3738 ../fish/guestfish-actions.pod:3751
#: ../fish/guestfish-actions.pod:3764 ../fish/guestfish-actions.pod:3775
#: ../fish/guestfish-actions.pod:3803 ../fish/guestfish-actions.pod:3838
#: ../lib/guestfs-actions.pod:5960 ../lib/guestfs-actions.pod:5982
#: ../lib/guestfs-actions.pod:6000 ../lib/guestfs-actions.pod:6017
#: ../lib/guestfs-actions.pod:6036 ../lib/guestfs-actions.pod:6055
#: ../lib/guestfs-actions.pod:6075 ../lib/guestfs-actions.pod:6092
#: ../lib/guestfs-actions.pod:6110 ../lib/guestfs-actions.pod:6132
#: ../lib/guestfs-actions.pod:6149 ../lib/guestfs-actions.pod:6181
#: ../lib/guestfs-actions.pod:6219 ../lib/guestfs-actions.pod:6236
#: ../lib/guestfs-actions.pod:6278 ../lib/guestfs-actions.pod:6327
msgid "This is a wrapper around the L<hivex(3)> call of the same name."
msgstr "This is a wrapper around the L<hivex(3)> call of the same name."

#. type: textblock
#: ../fish/guestfish-actions.pod:3621 ../fish/guestfish-actions.pod:3637
#: ../fish/guestfish-actions.pod:3648 ../fish/guestfish-actions.pod:3659
#: ../fish/guestfish-actions.pod:3670 ../fish/guestfish-actions.pod:3682
#: ../fish/guestfish-actions.pod:3695 ../fish/guestfish-actions.pod:3706
#: ../fish/guestfish-actions.pod:3717 ../fish/guestfish-actions.pod:3729
#: ../fish/guestfish-actions.pod:3740 ../fish/guestfish-actions.pod:3755
#: ../fish/guestfish-actions.pod:3766 ../fish/guestfish-actions.pod:3777
#: ../fish/guestfish-actions.pod:3794 ../fish/guestfish-actions.pod:3805
#: ../fish/guestfish-actions.pod:3829 ../fish/guestfish-actions.pod:3842
msgid ""
"This command depends on the feature C<hivex>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3624
msgid "hivex-commit"
msgstr "hivex-commit"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3626
#, no-wrap
msgid ""
" hivex-commit filename\n"
"\n"
msgstr ""
" hivex-commit filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3628 ../lib/guestfs-actions.pod:5975
msgid "Commit (write) changes to the hive."
msgstr "Commit (write) changes to the hive."

#. type: textblock
#: ../fish/guestfish-actions.pod:3630 ../lib/guestfs-actions.pod:5977
msgid ""
"If the optional F<filename> parameter is null, then the changes are written "
"back to the same hive that was opened.  If this is not null then they are "
"written to the alternate filename given and the original hive is left "
"untouched."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3640
msgid "hivex-node-add-child"
msgstr "hivex-node-add-child"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3642
#, no-wrap
msgid ""
" hivex-node-add-child parent name\n"
"\n"
msgstr ""
" hivex-node-add-child parent name\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3644 ../lib/guestfs-actions.pod:5998
msgid "Add a child node to C<parent> named C<name>."
msgstr "Add a child node to C<parent> named C<name>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3651
msgid "hivex-node-children"
msgstr "hivex-node-children"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3653
#, no-wrap
msgid ""
" hivex-node-children nodeh\n"
"\n"
msgstr ""
" hivex-node-children nodeh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3655 ../lib/guestfs-actions.pod:6015
msgid "Return the list of nodes which are subkeys of C<nodeh>."
msgstr "Return the list of nodes which are subkeys of C<nodeh>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3662
msgid "hivex-node-delete-child"
msgstr "hivex-node-delete-child"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3664
#, no-wrap
msgid ""
" hivex-node-delete-child nodeh\n"
"\n"
msgstr ""
" hivex-node-delete-child nodeh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3666 ../lib/guestfs-actions.pod:6034
msgid "Delete C<nodeh>, recursively if necessary."
msgstr "Delete C<nodeh>, recursively if necessary."

#. type: =head2
#: ../fish/guestfish-actions.pod:3673
msgid "hivex-node-get-child"
msgstr "hivex-node-get-child"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3675
#, no-wrap
msgid ""
" hivex-node-get-child nodeh name\n"
"\n"
msgstr ""
" hivex-node-get-child nodeh name\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3677 ../lib/guestfs-actions.pod:6052
msgid ""
"Return the child of C<nodeh> with the name C<name>, if it exists.  This can "
"return C<0> meaning the name was not found."
msgstr ""
"Return the child of C<nodeh> with the name C<name>, if it exists.  This can "
"return C<0> meaning the name was not found."

#. type: =head2
#: ../fish/guestfish-actions.pod:3685
msgid "hivex-node-get-value"
msgstr "hivex-node-get-value"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3687
#, no-wrap
msgid ""
" hivex-node-get-value nodeh key\n"
"\n"
msgstr ""
" hivex-node-get-value nodeh key\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3689 ../lib/guestfs-actions.pod:6071
msgid ""
"Return the value attached to C<nodeh> which has the name C<key>, if it "
"exists.  This can return C<0> meaning the key was not found."
msgstr ""
"Return the value attached to C<nodeh> which has the name C<key>, if it "
"exists.  This can return C<0> meaning the key was not found."

#. type: =head2
#: ../fish/guestfish-actions.pod:3698
msgid "hivex-node-name"
msgstr "hivex-node-name"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3700
#, no-wrap
msgid ""
" hivex-node-name nodeh\n"
"\n"
msgstr ""
" hivex-node-name nodeh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3702 ../lib/guestfs-actions.pod:6090
msgid "Return the name of C<nodeh>."
msgstr "Return the name of C<nodeh>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3709
msgid "hivex-node-parent"
msgstr "hivex-node-parent"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3711
#, no-wrap
msgid ""
" hivex-node-parent nodeh\n"
"\n"
msgstr ""
" hivex-node-parent nodeh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3713 ../lib/guestfs-actions.pod:6108
msgid "Return the parent node of C<nodeh>."
msgstr "Return the parent node of C<nodeh>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3720
msgid "hivex-node-set-value"
msgstr "hivex-node-set-value"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3722
#, no-wrap
msgid ""
" hivex-node-set-value nodeh key t val\n"
"\n"
msgstr ""
" hivex-node-set-value nodeh key t val\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3724 ../lib/guestfs-actions.pod:6129
msgid ""
"Set or replace a single value under the node C<nodeh>.  The C<key> is the "
"name, C<t> is the type, and C<val> is the data."
msgstr ""
"Set or replace a single value under the node C<nodeh>.  The C<key> is the "
"name, C<t> is the type, and C<val> is the data."

#. type: =head2
#: ../fish/guestfish-actions.pod:3732
msgid "hivex-node-values"
msgstr "hivex-node-values"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3734
#, no-wrap
msgid ""
" hivex-node-values nodeh\n"
"\n"
msgstr ""
" hivex-node-values nodeh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3736 ../lib/guestfs-actions.pod:6147
msgid "Return the array of (key, datatype, data) tuples attached to C<nodeh>."
msgstr "Return the array of (key, datatype, data) tuples attached to C<nodeh>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3743
msgid "hivex-open"
msgstr "hivex-open"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3745
#, no-wrap
msgid ""
" hivex-open filename [verbose:true|false] [debug:true|false] [write:true|false] [unsafe:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3747 ../lib/guestfs-actions.pod:6177
msgid ""
"Open the Windows Registry hive file named F<filename>.  If there was any "
"previous hivex handle associated with this guestfs session, then it is "
"closed."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3758
msgid "hivex-root"
msgstr "hivex-root"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3760
#, no-wrap
msgid ""
" hivex-root\n"
"\n"
msgstr ""
" hivex-root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3762 ../lib/guestfs-actions.pod:6217
msgid "Return the root node of the hive."
msgstr "Return the root node of the hive."

#. type: =head2
#: ../fish/guestfish-actions.pod:3769
msgid "hivex-value-key"
msgstr "hivex-value-key"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3771
#, no-wrap
msgid ""
" hivex-value-key valueh\n"
"\n"
msgstr ""
" hivex-value-key valueh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3773 ../lib/guestfs-actions.pod:6234
msgid "Return the key (name) field of a (key, datatype, data) tuple."
msgstr "Return the key (name) field of a (key, datatype, data) tuple."

#. type: =head2
#: ../fish/guestfish-actions.pod:3780
msgid "hivex-value-string"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3782
#, no-wrap
msgid ""
" hivex-value-string valueh\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3784 ../fish/guestfish-actions.pod:3812
msgid ""
"This calls L</hivex-value-value> (which returns the data field from a hivex "
"value tuple).  It then assumes that the field is a UTF-16LE string and "
"converts the result to UTF-8 (or if this is not possible, it returns an "
"error)."
msgstr ""
"This calls L</hivex-value-value> (which returns the data field from a hivex "
"value tuple).  It then assumes that the field is a UTF-16LE string and "
"converts the result to UTF-8 (or if this is not possible, it returns an "
"error)."

#. type: textblock
#: ../fish/guestfish-actions.pod:3789 ../fish/guestfish-actions.pod:3817
#: ../lib/guestfs-actions.pod:6257 ../lib/guestfs-actions.pod:6305
msgid ""
"This is useful for reading strings out of the Windows registry.  However it "
"is not foolproof because the registry is not strongly-typed and fields can "
"contain arbitrary or unexpected data."
msgstr ""
"This is useful for reading strings out of the Windows registry.  However it "
"is not foolproof because the registry is not strongly-typed and fields can "
"contain arbitrary or unexpected data."

#. type: =head2
#: ../fish/guestfish-actions.pod:3797
msgid "hivex-value-type"
msgstr "hivex-value-type"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3799
#, no-wrap
msgid ""
" hivex-value-type valueh\n"
"\n"
msgstr ""
" hivex-value-type valueh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3801 ../lib/guestfs-actions.pod:6276
msgid "Return the data type field from a (key, datatype, data) tuple."
msgstr "Return the data type field from a (key, datatype, data) tuple."

#. type: =head2
#: ../fish/guestfish-actions.pod:3808
msgid "hivex-value-utf8"
msgstr "hivex-value-utf8"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3810
#, no-wrap
msgid ""
" hivex-value-utf8 valueh\n"
"\n"
msgstr ""
" hivex-value-utf8 valueh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3822
msgid ""
"I<This function is deprecated.> In new code, use the L</hivex-value-string> "
"call instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3832
msgid "hivex-value-value"
msgstr "hivex-value-value"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3834
#, no-wrap
msgid ""
" hivex-value-value valueh\n"
"\n"
msgstr ""
" hivex-value-value valueh\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3836 ../lib/guestfs-actions.pod:6325
msgid "Return the data field of a (key, datatype, data) tuple."
msgstr "Return the data field of a (key, datatype, data) tuple."

#. type: textblock
#: ../fish/guestfish-actions.pod:3840
msgid "See also: L</hivex-value-utf8>."
msgstr "See also: L</hivex-value-utf8>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3845
msgid "initrd-cat"
msgstr "initrd-cat"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3847
#, no-wrap
msgid ""
" initrd-cat initrdpath filename\n"
"\n"
msgstr ""
" initrd-cat initrdpath filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3849 ../lib/guestfs-actions.pod:6348
msgid ""
"This command unpacks the file F<filename> from the initrd file called "
"F<initrdpath>.  The filename must be given I<without> the initial F</> "
"character."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3853 ../lib/guestfs-actions.pod:6352
msgid ""
"For example, in guestfish you could use the following command to examine the "
"boot script (usually called F</init>)  contained in a Linux initrd or "
"initramfs image:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:3857 ../lib/guestfs-actions.pod:6356
#, no-wrap
msgid ""
" initrd-cat /boot/initrd-<version>.img init\n"
"\n"
msgstr ""
" initrd-cat /boot/initrd-<version>.img init\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3859
msgid "See also L</initrd-list>."
msgstr "See also L</initrd-list>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3864
msgid "initrd-list"
msgstr "initrd-list"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3866
#, no-wrap
msgid ""
" initrd-list path\n"
"\n"
msgstr ""
" initrd-list path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3868 ../lib/guestfs-actions.pod:6375
msgid "This command lists out files contained in an initrd."
msgstr "This command lists out files contained in an initrd."

#. type: textblock
#: ../fish/guestfish-actions.pod:3870 ../lib/guestfs-actions.pod:6377
msgid ""
"The files are listed without any initial F</> character.  The files are "
"listed in the order they appear (not necessarily alphabetical).  Directory "
"names are listed as separate items."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3874 ../lib/guestfs-actions.pod:6381
msgid ""
"Old Linux kernels (2.4 and earlier) used a compressed ext2 filesystem as "
"initrd.  We I<only> support the newer initramfs format (compressed cpio "
"files)."
msgstr ""
"Old Linux kernels (2.4 and earlier) used a compressed ext2 filesystem as "
"initrd.  We I<only> support the newer initramfs format (compressed cpio "
"files)."

#. type: =head2
#: ../fish/guestfish-actions.pod:3878
msgid "inotify-add-watch"
msgstr "inotify-add-watch"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3880
#, no-wrap
msgid ""
" inotify-add-watch path mask\n"
"\n"
msgstr ""
" inotify-add-watch path mask\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3882 ../lib/guestfs-actions.pod:6398
msgid "Watch C<path> for the events listed in C<mask>."
msgstr "Watch C<path> for the events listed in C<mask>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3884 ../lib/guestfs-actions.pod:6400
msgid ""
"Note that if C<path> is a directory then events within that directory are "
"watched, but this does I<not> happen recursively (in subdirectories)."
msgstr ""
"Note that if C<path> is a directory then events within that directory are "
"watched, but this does I<not> happen recursively (in subdirectories)."

#. type: textblock
#: ../fish/guestfish-actions.pod:3888 ../lib/guestfs-actions.pod:6404
msgid ""
"Note for non-C or non-Linux callers: the inotify events are defined by the "
"Linux kernel ABI and are listed in F</usr/include/sys/inotify.h>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:3892 ../fish/guestfish-actions.pod:3903
#: ../fish/guestfish-actions.pod:3914 ../fish/guestfish-actions.pod:3955
#: ../fish/guestfish-actions.pod:3973 ../fish/guestfish-actions.pod:3983
msgid ""
"This command depends on the feature C<inotify>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:3895
msgid "inotify-close"
msgstr "inotify-close"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3897
#, no-wrap
msgid ""
" inotify-close\n"
"\n"
msgstr ""
" inotify-close\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3899 ../lib/guestfs-actions.pod:6420
msgid ""
"This closes the inotify handle which was previously opened by inotify_init.  "
"It removes all watches, throws away any pending events, and deallocates all "
"resources."
msgstr ""
"This closes the inotify handle which was previously opened by inotify_init.  "
"It removes all watches, throws away any pending events, and deallocates all "
"resources."

#. type: =head2
#: ../fish/guestfish-actions.pod:3906
msgid "inotify-files"
msgstr "inotify-files"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3908
#, no-wrap
msgid ""
" inotify-files\n"
"\n"
msgstr ""
" inotify-files\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3910
msgid ""
"This function is a helpful wrapper around L</inotify-read> which just "
"returns a list of pathnames of objects that were touched.  The returned "
"pathnames are sorted and deduplicated."
msgstr ""
"This function is a helpful wrapper around L</inotify-read> which just "
"returns a list of pathnames of objects that were touched.  The returned "
"pathnames are sorted and deduplicated."

#. type: =head2
#: ../fish/guestfish-actions.pod:3917
msgid "inotify-init"
msgstr "inotify-init"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3919
#, no-wrap
msgid ""
" inotify-init maxevents\n"
"\n"
msgstr ""
" inotify-init maxevents\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3921 ../lib/guestfs-actions.pod:6455
msgid ""
"This command creates a new inotify handle.  The inotify subsystem can be "
"used to notify events which happen to objects in the guest filesystem."
msgstr ""
"This command creates a new inotify handle.  The inotify subsystem can be "
"used to notify events which happen to objects in the guest filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:3925
msgid ""
"C<maxevents> is the maximum number of events which will be queued up between "
"calls to L</inotify-read> or L</inotify-files>.  If this is passed as C<0>, "
"then the kernel (or previously set)  default is used.  For Linux 2.6.29 the "
"default was 16384 events.  Beyond this limit, the kernel throws away events, "
"but records the fact that it threw them away by setting a flag "
"C<IN_Q_OVERFLOW> in the returned structure list (see L</inotify-read>)."
msgstr ""
"C<maxevents> is the maximum number of events which will be queued up between "
"calls to L</inotify-read> or L</inotify-files>.  If this is passed as C<0>, "
"then the kernel (or previously set)  default is used.  For Linux 2.6.29 the "
"default was 16384 events.  Beyond this limit, the kernel throws away events, "
"but records the fact that it threw them away by setting a flag "
"C<IN_Q_OVERFLOW> in the returned structure list (see L</inotify-read>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:3935
msgid ""
"Before any events are generated, you have to add some watches to the "
"internal watch list.  See: L</inotify-add-watch> and L</inotify-rm-watch>."
msgstr ""
"Before any events are generated, you have to add some watches to the "
"internal watch list.  See: L</inotify-add-watch> and L</inotify-rm-watch>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3939
msgid ""
"Queued up events should be read periodically by calling L</inotify-read> (or "
"L</inotify-files> which is just a helpful wrapper around L</inotify-read>).  "
"If you don't read the events out often enough then you risk the internal "
"queue overflowing."
msgstr ""
"Queued up events should be read periodically by calling L</inotify-read> (or "
"L</inotify-files> which is just a helpful wrapper around L</inotify-read>).  "
"If you don't read the events out often enough then you risk the internal "
"queue overflowing."

#. type: textblock
#: ../fish/guestfish-actions.pod:3946
msgid ""
"The handle should be closed after use by calling L</inotify-close>.  This "
"also removes any watches automatically."
msgstr ""
"The handle should be closed after use by calling L</inotify-close>.  This "
"also removes any watches automatically."

#. type: textblock
#: ../fish/guestfish-actions.pod:3950 ../lib/guestfs-actions.pod:6484
msgid ""
"See also L<inotify(7)> for an overview of the inotify interface as exposed "
"by the Linux kernel, which is roughly what we expose via libguestfs.  Note "
"that there is one global inotify handle per libguestfs instance."
msgstr ""
"See also L<inotify(7)> for an overview of the inotify interface as exposed "
"by the Linux kernel, which is roughly what we expose via libguestfs.  Note "
"that there is one global inotify handle per libguestfs instance."

#. type: =head2
#: ../fish/guestfish-actions.pod:3958
msgid "inotify-read"
msgstr "inotify-read"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3960
#, no-wrap
msgid ""
" inotify-read\n"
"\n"
msgstr ""
" inotify-read\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3962 ../lib/guestfs-actions.pod:6501
msgid ""
"Return the complete queue of events that have happened since the previous "
"read call."
msgstr ""
"Return the complete queue of events that have happened since the previous "
"read call."

#. type: textblock
#: ../fish/guestfish-actions.pod:3965 ../lib/guestfs-actions.pod:6504
msgid "If no events have happened, this returns an empty list."
msgstr "If no events have happened, this returns an empty list."

#. type: textblock
#: ../fish/guestfish-actions.pod:3967 ../lib/guestfs-actions.pod:6506
msgid ""
"I<Note>: In order to make sure that all events have been read, you must call "
"this function repeatedly until it returns an empty list.  The reason is that "
"the call will read events up to the maximum appliance-to-host message size "
"and leave remaining events in the queue."
msgstr ""
"I<Note>: In order to make sure that all events have been read, you must call "
"this function repeatedly until it returns an empty list.  The reason is that "
"the call will read events up to the maximum appliance-to-host message size "
"and leave remaining events in the queue."

#. type: =head2
#: ../fish/guestfish-actions.pod:3976
msgid "inotify-rm-watch"
msgstr "inotify-rm-watch"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3978
#, no-wrap
msgid ""
" inotify-rm-watch wd\n"
"\n"
msgstr ""
" inotify-rm-watch wd\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3980
msgid "Remove a previously defined inotify watch.  See L</inotify-add-watch>."
msgstr "Remove a previously defined inotify watch.  See L</inotify-add-watch>."

#. type: =head2
#: ../fish/guestfish-actions.pod:3986
msgid "inspect-get-arch"
msgstr "inspect-get-arch"

#. type: verbatim
#: ../fish/guestfish-actions.pod:3988
#, no-wrap
msgid ""
" inspect-get-arch root\n"
"\n"
msgstr ""
" inspect-get-arch root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:3990
msgid ""
"This returns the architecture of the inspected operating system.  The "
"possible return values are listed under L</file-architecture>."
msgstr ""
"This returns the architecture of the inspected operating system.  The "
"possible return values are listed under L</file-architecture>."

#. type: textblock
#: ../fish/guestfish-actions.pod:3994 ../lib/guestfs-actions.pod:6547
msgid ""
"If the architecture could not be determined, then the string C<unknown> is "
"returned."
msgstr ""
"If the architecture could not be determined, then the string C<unknown> is "
"returned."

#. type: textblock
#: ../fish/guestfish-actions.pod:3997 ../fish/guestfish-actions.pod:4168
#: ../fish/guestfish-actions.pod:4245 ../fish/guestfish-actions.pod:4265
#: ../fish/guestfish-actions.pod:4349 ../fish/guestfish-actions.pod:4425
#: ../fish/guestfish-actions.pod:4446 ../fish/guestfish-actions.pod:4460
#: ../fish/guestfish-actions.pod:4500 ../fish/guestfish-actions.pod:4552
#: ../fish/guestfish-actions.pod:4565 ../fish/guestfish-actions.pod:4581
#: ../fish/guestfish-actions.pod:4597 ../fish/guestfish-actions.pod:4610
#: ../fish/guestfish-actions.pod:4618 ../fish/guestfish-actions.pod:4634
#: ../fish/guestfish-actions.pod:4650 ../fish/guestfish-actions.pod:4754
#: ../fish/guestfish-actions.pod:4863 ../fish/guestfish-actions.pod:4897
#: ../lib/guestfs-actions.pod:6550 ../lib/guestfs-actions.pod:6728
#: ../lib/guestfs-actions.pod:6838 ../lib/guestfs-actions.pod:6857
#: ../lib/guestfs-actions.pod:6988 ../lib/guestfs-actions.pod:7093
#: ../lib/guestfs-actions.pod:7121 ../lib/guestfs-actions.pod:7142
#: ../lib/guestfs-actions.pod:7195 ../lib/guestfs-actions.pod:7255
#: ../lib/guestfs-actions.pod:7275 ../lib/guestfs-actions.pod:7298
#: ../lib/guestfs-actions.pod:7321 ../lib/guestfs-actions.pod:7341
#: ../lib/guestfs-actions.pod:7364 ../lib/guestfs-actions.pod:7386
#: ../lib/guestfs-actions.pod:7408 ../lib/guestfs-actions.pod:7517
#: ../lib/guestfs-actions.pod:7627 ../lib/guestfs-actions.pod:7668
msgid "Please read L<guestfs(3)/INSPECTION> for more details."
msgstr "Please read L<guestfs(3)/INSPECTION> for more details."

#. type: =head2
#: ../fish/guestfish-actions.pod:3999
msgid "inspect-get-distro"
msgstr "inspect-get-distro"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4001
#, no-wrap
msgid ""
" inspect-get-distro root\n"
"\n"
msgstr ""
" inspect-get-distro root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4003 ../lib/guestfs-actions.pod:6563
msgid ""
"This returns the distro (distribution) of the inspected operating system."
msgstr ""
"This returns the distro (distribution) of the inspected operating system."

#. type: textblock
#: ../fish/guestfish-actions.pod:4006 ../lib/guestfs-actions.pod:6566
msgid "Currently defined distros are:"
msgstr "Currently defined distros are:"

#. type: =item
#: ../fish/guestfish-actions.pod:4010 ../lib/guestfs-actions.pod:6570
msgid "\"alpinelinux\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4012 ../lib/guestfs-actions.pod:6572
msgid "Alpine Linux."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4014 ../lib/guestfs-actions.pod:6574
msgid "\"altlinux\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4016 ../lib/guestfs-actions.pod:6576
msgid "ALT Linux."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4018 ../lib/guestfs-actions.pod:6578
msgid "\"archlinux\""
msgstr "\"archlinux\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4020 ../lib/guestfs-actions.pod:6580
msgid "Arch Linux."
msgstr "Arch Linux."

#. type: =item
#: ../fish/guestfish-actions.pod:4022 ../lib/guestfs-actions.pod:6582
msgid "\"buildroot\""
msgstr "\"buildroot\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4024 ../lib/guestfs-actions.pod:6584
msgid "Buildroot-derived distro, but not one we specifically recognize."
msgstr "Buildroot-derived distro, but not one we specifically recognise."

#. type: =item
#: ../fish/guestfish-actions.pod:4026 ../lib/guestfs-actions.pod:6586
msgid "\"centos\""
msgstr "\"centos\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4028 ../lib/guestfs-actions.pod:6588
msgid "CentOS."
msgstr "CentOS."

#. type: =item
#: ../fish/guestfish-actions.pod:4030 ../lib/guestfs-actions.pod:6590
msgid "\"cirros\""
msgstr "\"cirros\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4032 ../lib/guestfs-actions.pod:6592
msgid "Cirros."
msgstr "Cirros."

#. type: =item
#: ../fish/guestfish-actions.pod:4034 ../lib/guestfs-actions.pod:6594
msgid "\"coreos\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4036 ../lib/guestfs-actions.pod:6596
msgid "CoreOS."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4038 ../lib/guestfs-actions.pod:6598
msgid "\"debian\""
msgstr "\"debian\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4040 ../lib/guestfs-actions.pod:6600
msgid "Debian."
msgstr "Debian."

#. type: =item
#: ../fish/guestfish-actions.pod:4042 ../lib/guestfs-actions.pod:6602
msgid "\"fedora\""
msgstr "\"fedora\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4044 ../lib/guestfs-actions.pod:6604
msgid "Fedora."
msgstr "Fedora."

#. type: =item
#: ../fish/guestfish-actions.pod:4046 ../fish/guestfish-actions.pod:4519
#: ../lib/guestfs-actions.pod:6606 ../lib/guestfs-actions.pod:7222
msgid "\"freebsd\""
msgstr "\"freebsd\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4048 ../fish/guestfish-actions.pod:4521
#: ../lib/guestfs-actions.pod:6608 ../lib/guestfs-actions.pod:7224
msgid "FreeBSD."
msgstr "FreeBSD."

#. type: =item
#: ../fish/guestfish-actions.pod:4050 ../lib/guestfs-actions.pod:6610
msgid "\"freedos\""
msgstr "\"freedos\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4052 ../lib/guestfs-actions.pod:6612
msgid "FreeDOS."
msgstr "FreeDOS."

#. type: =item
#: ../fish/guestfish-actions.pod:4054 ../lib/guestfs-actions.pod:6614
msgid "\"frugalware\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4056 ../lib/guestfs-actions.pod:6616
msgid "Frugalware."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4058 ../lib/guestfs-actions.pod:6618
msgid "\"gentoo\""
msgstr "\"gentoo\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4060 ../lib/guestfs-actions.pod:6620
msgid "Gentoo."
msgstr "Gentoo."

#. type: =item
#: ../fish/guestfish-actions.pod:4062 ../lib/guestfs-actions.pod:6622
msgid "\"kalilinux\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4064 ../lib/guestfs-actions.pod:6624
msgid "Kali Linux."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4066 ../lib/guestfs-actions.pod:6626
msgid "\"linuxmint\""
msgstr "\"linuxmint\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4068 ../lib/guestfs-actions.pod:6628
msgid "Linux Mint."
msgstr "Linux Mint."

#. type: =item
#: ../fish/guestfish-actions.pod:4070 ../lib/guestfs-actions.pod:6630
msgid "\"mageia\""
msgstr "\"mageia\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4072 ../lib/guestfs-actions.pod:6632
msgid "Mageia."
msgstr "Mageia."

#. type: =item
#: ../fish/guestfish-actions.pod:4074 ../lib/guestfs-actions.pod:6634
msgid "\"mandriva\""
msgstr "\"mandriva\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4076 ../lib/guestfs-actions.pod:6636
msgid "Mandriva."
msgstr "Mandriva."

#. type: =item
#: ../fish/guestfish-actions.pod:4078 ../lib/guestfs-actions.pod:6638
msgid "\"meego\""
msgstr "\"meego\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4080 ../lib/guestfs-actions.pod:6640
msgid "MeeGo."
msgstr "MeeGo."

#. type: =item
#: ../fish/guestfish-actions.pod:4082 ../lib/guestfs-actions.pod:6642
msgid "\"msdos\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4084 ../lib/guestfs-actions.pod:6644
msgid "Microsoft DOS."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4086 ../lib/guestfs-actions.pod:6646
msgid "\"neokylin\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4088 ../lib/guestfs-actions.pod:6648
msgid "NeoKylin."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4090 ../fish/guestfish-actions.pod:4523
#: ../lib/guestfs-actions.pod:6650 ../lib/guestfs-actions.pod:7226
msgid "\"netbsd\""
msgstr "\"netbsd\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4092 ../fish/guestfish-actions.pod:4525
#: ../lib/guestfs-actions.pod:6652 ../lib/guestfs-actions.pod:7228
msgid "NetBSD."
msgstr "NetBSD."

#. type: =item
#: ../fish/guestfish-actions.pod:4094 ../fish/guestfish-actions.pod:4527
#: ../lib/guestfs-actions.pod:6654 ../lib/guestfs-actions.pod:7230
msgid "\"openbsd\""
msgstr "\"openbsd\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4096 ../fish/guestfish-actions.pod:4529
#: ../lib/guestfs-actions.pod:6656 ../lib/guestfs-actions.pod:7232
msgid "OpenBSD."
msgstr "OpenBSD."

#. type: =item
#: ../fish/guestfish-actions.pod:4098 ../lib/guestfs-actions.pod:6658
#, fuzzy
#| msgid "\"mandriva\""
msgid "\"openmandriva\""
msgstr "\"mandriva\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4100 ../lib/guestfs-actions.pod:6660
#, fuzzy
#| msgid "Mandriva."
msgid "OpenMandriva Lx."
msgstr "Mandriva."

#. type: =item
#: ../fish/guestfish-actions.pod:4102 ../lib/guestfs-actions.pod:6662
msgid "\"opensuse\""
msgstr "\"opensuse\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4104 ../lib/guestfs-actions.pod:6664
msgid "OpenSUSE."
msgstr "OpenSUSE."

#. type: =item
#: ../fish/guestfish-actions.pod:4106 ../lib/guestfs-actions.pod:6666
msgid "\"oraclelinux\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4108 ../lib/guestfs-actions.pod:6668
msgid "Oracle Linux."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4110 ../lib/guestfs-actions.pod:6670
msgid "\"pardus\""
msgstr "\"pardus\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4112 ../lib/guestfs-actions.pod:6672
msgid "Pardus."
msgstr "Pardus."

#. type: =item
#: ../fish/guestfish-actions.pod:4114 ../lib/guestfs-actions.pod:6674
msgid "\"pldlinux\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4116 ../lib/guestfs-actions.pod:6676
msgid "PLD Linux."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4118 ../lib/guestfs-actions.pod:6678
msgid "\"redhat-based\""
msgstr "\"redhat-based\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4120 ../lib/guestfs-actions.pod:6680
msgid "Some Red Hat-derived distro."
msgstr "Some Red Hat-derived distro."

#. type: =item
#: ../fish/guestfish-actions.pod:4122 ../lib/guestfs-actions.pod:6682
msgid "\"rhel\""
msgstr "\"rhel\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4124 ../lib/guestfs-actions.pod:6684
msgid "Red Hat Enterprise Linux."
msgstr "Red Hat Enterprise Linux."

#. type: =item
#: ../fish/guestfish-actions.pod:4126 ../lib/guestfs-actions.pod:6686
msgid "\"scientificlinux\""
msgstr "\"scientificlinux\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4128 ../lib/guestfs-actions.pod:6688
msgid "Scientific Linux."
msgstr "Scientific Linux."

#. type: =item
#: ../fish/guestfish-actions.pod:4130 ../lib/guestfs-actions.pod:6690
msgid "\"slackware\""
msgstr "\"slackware\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4132 ../lib/guestfs-actions.pod:6692
msgid "Slackware."
msgstr "Slackware."

#. type: =item
#: ../fish/guestfish-actions.pod:4134 ../lib/guestfs-actions.pod:6694
msgid "\"sles\""
msgstr "\"sles\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4136 ../lib/guestfs-actions.pod:6696
msgid "SuSE Linux Enterprise Server or Desktop."
msgstr "SuSE Linux Enterprise Server or Desktop."

#. type: =item
#: ../fish/guestfish-actions.pod:4138 ../lib/guestfs-actions.pod:6698
msgid "\"suse-based\""
msgstr "\"suse-based\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4140 ../lib/guestfs-actions.pod:6700
msgid "Some openSuSE-derived distro."
msgstr "Some openSuSE-derived distro."

#. type: =item
#: ../fish/guestfish-actions.pod:4142 ../lib/guestfs-actions.pod:6702
msgid "\"ttylinux\""
msgstr "\"ttylinux\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4144 ../lib/guestfs-actions.pod:6704
msgid "ttylinux."
msgstr "ttylinux."

#. type: =item
#: ../fish/guestfish-actions.pod:4146 ../lib/guestfs-actions.pod:6706
msgid "\"ubuntu\""
msgstr "\"ubuntu\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4148 ../lib/guestfs-actions.pod:6708
msgid "Ubuntu."
msgstr "Ubuntu."

#. type: =item
#: ../fish/guestfish-actions.pod:4150 ../fish/guestfish-actions.pod:4543
#: ../lib/guestfs-actions.pod:6710 ../lib/guestfs-actions.pod:7246
msgid "\"unknown\""
msgstr "\"unknown\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4152 ../lib/guestfs-actions.pod:6712
msgid "The distro could not be determined."
msgstr "The distro could not be determined."

#. type: =item
#: ../fish/guestfish-actions.pod:4154 ../lib/guestfs-actions.pod:6714
msgid "\"voidlinux\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4156 ../lib/guestfs-actions.pod:6716
msgid "Void Linux."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4158 ../fish/guestfish-actions.pod:4515
#: ../lib/guestfs-actions.pod:6718 ../lib/guestfs-actions.pod:7218
msgid "\"windows\""
msgstr "\"windows\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4160 ../lib/guestfs-actions.pod:6720
msgid ""
"Windows does not have distributions.  This string is returned if the OS type "
"is Windows."
msgstr ""
"Windows does not have distributions.  This string is returned if the OS type "
"is Windows."

#. type: textblock
#: ../fish/guestfish-actions.pod:4165 ../fish/guestfish-actions.pod:4549
#: ../lib/guestfs-actions.pod:6725 ../lib/guestfs-actions.pod:7252
msgid ""
"Future versions of libguestfs may return other strings here.  The caller "
"should be prepared to handle any string."
msgstr ""
"Future versions of libguestfs may return other strings here.  The caller "
"should be prepared to handle any string."

#. type: =head2
#: ../fish/guestfish-actions.pod:4170
msgid "inspect-get-drive-mappings"
msgstr "inspect-get-drive-mappings"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4172
#, no-wrap
msgid ""
" inspect-get-drive-mappings root\n"
"\n"
msgstr ""
" inspect-get-drive-mappings root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4174 ../lib/guestfs-actions.pod:6741
msgid ""
"This call is useful for Windows which uses a primitive system of assigning "
"drive letters (like F<C:\\>) to partitions.  This inspection API examines "
"the Windows Registry to find out how disks/partitions are mapped to drive "
"letters, and returns a hash table as in the example below:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:4180 ../lib/guestfs-actions.pod:6747
#, no-wrap
msgid ""
" C      =>     /dev/vda2\n"
" E      =>     /dev/vdb1\n"
" F      =>     /dev/vdc1\n"
"\n"
msgstr ""
" C      =>     /dev/vda2\n"
" E      =>     /dev/vdb1\n"
" F      =>     /dev/vdc1\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4184 ../lib/guestfs-actions.pod:6751
msgid ""
"Note that keys are drive letters.  For Windows, the key is case insensitive "
"and just contains the drive letter, without the customary colon separator "
"character."
msgstr ""
"Note that keys are drive letters.  For Windows, the key is case insensitive "
"and just contains the drive letter, without the customary colon separator "
"character."

#. type: textblock
#: ../fish/guestfish-actions.pod:4188 ../lib/guestfs-actions.pod:6755
msgid ""
"In future we may support other operating systems that also used drive "
"letters, but the keys for those might not be case insensitive and might be "
"longer than 1 character.  For example in OS-9, hard drives were named C<h0>, "
"C<h1> etc."
msgstr ""
"In future we may support other operating systems that also used drive "
"letters, but the keys for those might not be case insensitive and might be "
"longer than 1 character.  For example in OS-9, hard drives were named C<h0>, "
"C<h1> etc."

#. type: textblock
#: ../fish/guestfish-actions.pod:4193 ../lib/guestfs-actions.pod:6760
msgid ""
"For Windows guests, currently only hard drive mappings are returned.  "
"Removable disks (eg. DVD-ROMs) are ignored."
msgstr ""
"For Windows guests, currently only hard drive mappings are returned.  "
"Removable disks (eg. DVD-ROMs) are ignored."

#. type: textblock
#: ../fish/guestfish-actions.pod:4196 ../lib/guestfs-actions.pod:6763
msgid ""
"For guests that do not use drive mappings, or if the drive mappings could "
"not be determined, this returns an empty hash table."
msgstr ""
"For guests that do not use drive mappings, or if the drive mappings could "
"not be determined, this returns an empty hash table."

#. type: textblock
#: ../fish/guestfish-actions.pod:4199
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-mountpoints>, L</inspect-get-filesystems>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-mountpoints>, L</inspect-get-filesystems>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4203
msgid "inspect-get-filesystems"
msgstr "inspect-get-filesystems"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4205
#, no-wrap
msgid ""
" inspect-get-filesystems root\n"
"\n"
msgstr ""
" inspect-get-filesystems root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4207 ../lib/guestfs-actions.pod:6784
msgid ""
"This returns a list of all the filesystems that we think are associated with "
"this operating system.  This includes the root filesystem, other ordinary "
"filesystems, and non-mounted devices like swap partitions."
msgstr ""
"This returns a list of all the filesystems that we think are associated with "
"this operating system.  This includes the root filesystem, other ordinary "
"filesystems, and non-mounted devices like swap partitions."

#. type: textblock
#: ../fish/guestfish-actions.pod:4212 ../lib/guestfs-actions.pod:6789
msgid ""
"In the case of a multi-boot virtual machine, it is possible for a filesystem "
"to be shared between operating systems."
msgstr ""
"In the case of a multi-boot virtual machine, it is possible for a filesystem "
"to be shared between operating systems."

#. type: textblock
#: ../fish/guestfish-actions.pod:4215
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-mountpoints>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-mountpoints>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4218
msgid "inspect-get-format"
msgstr "inspect-get-format"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4220
#, no-wrap
msgid ""
" inspect-get-format root\n"
"\n"
msgstr ""
" inspect-get-format root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4222 ../lib/guestfs-actions.pod:6815
msgid ""
"Before libguestfs 1.38, there was some unreliable support for detecting "
"installer CDs.  This API would return:"
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:4227 ../lib/guestfs-actions.pod:6820
#, fuzzy
#| msgid "\"installed\""
msgid "C<installed>"
msgstr "\"installed\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4229 ../lib/guestfs-actions.pod:6822
msgid "This is an installed operating system."
msgstr "This is an installed operating system."

#. type: =item
#: ../fish/guestfish-actions.pod:4231 ../lib/guestfs-actions.pod:6824
#, fuzzy
#| msgid "\"installer\""
msgid "C<installer>"
msgstr "\"installer\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4233 ../lib/guestfs-actions.pod:6826
msgid ""
"The disk image being inspected is not an installed operating system, but a "
"I<bootable> install disk, live CD, or similar."
msgstr ""
"The disk image being inspected is not an installed operating system, but a "
"I<bootable> install disk, live CD, or similar."

#. type: =item
#: ../fish/guestfish-actions.pod:4236 ../lib/guestfs-actions.pod:6829
#, fuzzy
#| msgid "\"unknown\""
msgid "C<unknown>"
msgstr "\"unknown\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4238 ../lib/guestfs-actions.pod:6831
msgid "The format of this disk image is not known."
msgstr "The format of this disk image is not known."

#. type: textblock
#: ../fish/guestfish-actions.pod:4242 ../lib/guestfs-actions.pod:6835
msgid ""
"In libguestfs E<ge> 1.38, this only returns C<installed>.  Use libosinfo "
"directly to detect installer CDs."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:4255
msgid "inspect-get-hostname"
msgstr "inspect-get-hostname"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4257
#, no-wrap
msgid ""
" inspect-get-hostname root\n"
"\n"
msgstr ""
" inspect-get-hostname root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4259 ../lib/guestfs-actions.pod:6851
msgid ""
"This function returns the hostname of the operating system as found by "
"inspection of the guest’s configuration files."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4262 ../lib/guestfs-actions.pod:6854
msgid ""
"If the hostname could not be determined, then the string C<unknown> is "
"returned."
msgstr ""
"If the hostname could not be determined, then the string C<unknown> is "
"returned."

#. type: =head2
#: ../fish/guestfish-actions.pod:4267
msgid "inspect-get-icon"
msgstr "inspect-get-icon"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4269
#, no-wrap
msgid ""
" inspect-get-icon root [favicon:true|false] [highquality:true|false]\n"
"\n"
msgstr ""
" inspect-get-icon root [favicon:true|false] [highquality:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4271 ../lib/guestfs-actions.pod:6880
msgid ""
"This function returns an icon corresponding to the inspected operating "
"system.  The icon is returned as a buffer containing a PNG image (re-encoded "
"to PNG if necessary)."
msgstr ""
"This function returns an icon corresponding to the inspected operating "
"system.  The icon is returned as a buffer containing a PNG image (re-encoded "
"to PNG if necessary)."

#. type: textblock
#: ../fish/guestfish-actions.pod:4275 ../lib/guestfs-actions.pod:6884
msgid ""
"If it was not possible to get an icon this function returns a zero-length "
"(non-NULL) buffer.  I<Callers must check for this case>."
msgstr ""
"If it was not possible to get an icon this function returns a zero-length "
"(non-NULL) buffer.  I<Callers must check for this case>."

#. type: textblock
#: ../fish/guestfish-actions.pod:4278 ../lib/guestfs-actions.pod:6887
msgid ""
"Libguestfs will start by looking for a file called F</etc/favicon.png> or "
"F<C:\\etc\\favicon.png> and if it has the correct format, the contents of "
"this file will be returned.  You can disable favicons by passing the "
"optional C<favicon> boolean as false (default is true)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4284 ../lib/guestfs-actions.pod:6893
msgid ""
"If finding the favicon fails, then we look in other places in the guest for "
"a suitable icon."
msgstr ""
"If finding the favicon fails, then we look in other places in the guest for "
"a suitable icon."

#. type: textblock
#: ../fish/guestfish-actions.pod:4287 ../lib/guestfs-actions.pod:6896
msgid ""
"If the optional C<highquality> boolean is true then only high quality icons "
"are returned, which means only icons of high resolution with an alpha "
"channel.  The default (false) is to return any icon we can, even if it is of "
"substandard quality."
msgstr ""
"If the optional C<highquality> boolean is true then only high quality icons "
"are returned, which means only icons of high resolution with an alpha "
"channel.  The default (false) is to return any icon we can, even if it is of "
"substandard quality."

#. type: textblock
#: ../fish/guestfish-actions.pod:4298 ../lib/guestfs-actions.pod:6907
msgid ""
"Unlike most other inspection API calls, the guest’s disks must be mounted up "
"before you call this, since it needs to read information from the guest "
"filesystem during the call."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4304 ../lib/guestfs-actions.pod:6913
msgid ""
"B<Security:> The icon data comes from the untrusted guest, and should be "
"treated with caution.  PNG files have been known to contain exploits.  "
"Ensure that libpng (or other relevant libraries) are fully up to date before "
"trying to process or display the icon."
msgstr ""
"B<Security:> The icon data comes from the untrusted guest, and should be "
"treated with caution.  PNG files have been known to contain exploits.  "
"Ensure that libpng (or other relevant libraries) are fully up to date before "
"trying to process or display the icon."

#. type: textblock
#: ../fish/guestfish-actions.pod:4312 ../lib/guestfs-actions.pod:6921
msgid ""
"The PNG image returned can be any size.  It might not be square.  Libguestfs "
"tries to return the largest, highest quality icon available.  The "
"application must scale the icon to the required size."
msgstr ""
"The PNG image returned can be any size.  It might not be square.  Libguestfs "
"tries to return the largest, highest quality icon available.  The "
"application must scale the icon to the required size."

#. type: textblock
#: ../fish/guestfish-actions.pod:4319 ../lib/guestfs-actions.pod:6928
#, fuzzy
#| msgid ""
#| "Extracting icons from Windows guests requires the external C<wrestool> "
#| "program from the C<icoutils> package, and several programs (C<bmptopnm>, "
#| "C<pnmtopng>, C<pamcut>)  from the C<netpbm> package.  These must be "
#| "installed separately."
msgid ""
"Extracting icons from Windows guests requires the external L<wrestool(1)> "
"program from the C<icoutils> package, and several programs (L<bmptopnm(1)>, "
"L<pnmtopng(1)>, L<pamcut(1)>)  from the C<netpbm> package.  These must be "
"installed separately."
msgstr ""
"Extracting icons from Windows guests requires the external C<wrestool> "
"program from the C<icoutils> package, and several programs (C<bmptopnm>, "
"C<pnmtopng>, C<pamcut>)  from the C<netpbm> package.  These must be "
"installed separately."

#. type: textblock
#: ../fish/guestfish-actions.pod:4326 ../lib/guestfs-actions.pod:6935
msgid ""
"Operating system icons are usually trademarks.  Seek legal advice before "
"using trademarks in applications."
msgstr ""
"Operating system icons are usually trademarks.  Seek legal advice before "
"using trademarks in applications."

#. type: =head2
#: ../fish/guestfish-actions.pod:4333
msgid "inspect-get-major-version"
msgstr "inspect-get-major-version"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4335
#, no-wrap
msgid ""
" inspect-get-major-version root\n"
"\n"
msgstr ""
" inspect-get-major-version root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4337 ../lib/guestfs-actions.pod:6976
msgid ""
"This returns the major version number of the inspected operating system."
msgstr ""
"This returns the major version number of the inspected operating system."

#. type: textblock
#: ../fish/guestfish-actions.pod:4340 ../lib/guestfs-actions.pod:6979
msgid ""
"Windows uses a consistent versioning scheme which is I<not> reflected in the "
"popular public names used by the operating system.  Notably the operating "
"system known as \"Windows 7\" is really version 6.1 (ie. major = 6, minor = "
"1).  You can find out the real versions corresponding to releases of Windows "
"by consulting Wikipedia or MSDN."
msgstr ""
"Windows uses a consistent versioning scheme which is I<not> reflected in the "
"popular public names used by the operating system.  Notably the operating "
"system known as \"Windows 7\" is really version 6.1 (ie. major = 6, minor = "
"1).  You can find out the real versions corresponding to releases of Windows "
"by consulting Wikipedia or MSDN."

#. type: textblock
#: ../fish/guestfish-actions.pod:4347 ../fish/guestfish-actions.pod:4358
#: ../lib/guestfs-actions.pod:6986 ../lib/guestfs-actions.pod:7003
msgid "If the version could not be determined, then C<0> is returned."
msgstr "If the version could not be determined, then C<0> is returned."

#. type: =head2
#: ../fish/guestfish-actions.pod:4351
msgid "inspect-get-minor-version"
msgstr "inspect-get-minor-version"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4353
#, no-wrap
msgid ""
" inspect-get-minor-version root\n"
"\n"
msgstr ""
" inspect-get-minor-version root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4355 ../lib/guestfs-actions.pod:7000
msgid ""
"This returns the minor version number of the inspected operating system."
msgstr ""
"This returns the minor version number of the inspected operating system."

#. type: textblock
#: ../fish/guestfish-actions.pod:4360
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-major-version>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-major-version>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4363
msgid "inspect-get-mountpoints"
msgstr "inspect-get-mountpoints"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4365
#, no-wrap
msgid ""
" inspect-get-mountpoints root\n"
"\n"
msgstr ""
" inspect-get-mountpoints root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4367 ../lib/guestfs-actions.pod:7018
msgid ""
"This returns a hash of where we think the filesystems associated with this "
"operating system should be mounted.  Callers should note that this is at "
"best an educated guess made by reading configuration files such as F</etc/"
"fstab>.  I<In particular note> that this may return filesystems which are "
"non-existent or not mountable and callers should be prepared to handle or "
"ignore failures if they try to mount them."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4376 ../lib/guestfs-actions.pod:7027
msgid ""
"Each element in the returned hashtable has a key which is the path of the "
"mountpoint (eg. F</boot>) and a value which is the filesystem that would be "
"mounted there (eg. F</dev/sda1>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4381 ../lib/guestfs-actions.pod:7032
msgid ""
"Non-mounted devices such as swap devices are I<not> returned in this list."
msgstr ""
"Non-mounted devices such as swap devices are I<not> returned in this list."

#. type: textblock
#: ../fish/guestfish-actions.pod:4384
msgid ""
"For operating systems like Windows which still use drive letters, this call "
"will only return an entry for the first drive \"mounted on\" F</>.  For "
"information about the mapping of drive letters to partitions, see L</inspect-"
"get-drive-mappings>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4390
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-filesystems>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-filesystems>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4393
msgid "inspect-get-osinfo"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:4395
#, no-wrap
msgid ""
" inspect-get-osinfo root\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4397 ../lib/guestfs-actions.pod:7058
msgid ""
"This function returns a possible short ID for libosinfo corresponding to the "
"guest."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4400 ../lib/guestfs-actions.pod:7061
msgid ""
"I<Note:> The returned ID is only a guess by libguestfs, and nothing ensures "
"that it actually exists in osinfo-db."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4403 ../lib/guestfs-actions.pod:7064
msgid ""
"If no ID could not be determined, then the string C<unknown> is returned."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:4406
msgid "inspect-get-package-format"
msgstr "inspect-get-package-format"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4408
#, no-wrap
msgid ""
" inspect-get-package-format root\n"
"\n"
msgstr ""
" inspect-get-package-format root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4410
msgid ""
"This function and L</inspect-get-package-management> return the package "
"format and package management tool used by the inspected operating system.  "
"For example for Fedora these functions would return C<rpm> (package format), "
"and C<yum> or C<dnf> (package management)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4416 ../lib/guestfs-actions.pod:7084
msgid ""
"This returns the string C<unknown> if we could not determine the package "
"format I<or> if the operating system does not have a real packaging system "
"(eg. Windows)."
msgstr ""
"This returns the string C<unknown> if we could not determine the package "
"format I<or> if the operating system does not have a real packaging system "
"(eg. Windows)."

#. type: textblock
#: ../fish/guestfish-actions.pod:4420 ../lib/guestfs-actions.pod:7088
msgid ""
"Possible strings include: C<rpm>, C<deb>, C<ebuild>, C<pisi>, C<pacman>, "
"C<pkgsrc>, C<apk>, C<xbps>.  Future versions of libguestfs may return other "
"strings."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:4427
msgid "inspect-get-package-management"
msgstr "inspect-get-package-management"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4429
#, no-wrap
msgid ""
" inspect-get-package-management root\n"
"\n"
msgstr ""
" inspect-get-package-management root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4431
msgid ""
"L</inspect-get-package-format> and this function return the package format "
"and package management tool used by the inspected operating system.  For "
"example for Fedora these functions would return C<rpm> (package format), and "
"C<yum> or C<dnf> (package management)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4437 ../lib/guestfs-actions.pod:7112
msgid ""
"This returns the string C<unknown> if we could not determine the package "
"management tool I<or> if the operating system does not have a real packaging "
"system (eg. Windows)."
msgstr ""
"This returns the string C<unknown> if we could not determine the package "
"management tool I<or> if the operating system does not have a real packaging "
"system (eg. Windows)."

#. type: textblock
#: ../fish/guestfish-actions.pod:4441 ../lib/guestfs-actions.pod:7116
msgid ""
"Possible strings include: C<yum>, C<dnf>, C<up2date>, C<apt> (for all Debian "
"derivatives), C<portage>, C<pisi>, C<pacman>, C<urpmi>, C<zypper>, C<apk>, "
"C<xbps>.  Future versions of libguestfs may return other strings."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:4448
msgid "inspect-get-product-name"
msgstr "inspect-get-product-name"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4450
#, no-wrap
msgid ""
" inspect-get-product-name root\n"
"\n"
msgstr ""
" inspect-get-product-name root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4452 ../lib/guestfs-actions.pod:7134
msgid ""
"This returns the product name of the inspected operating system.  The "
"product name is generally some freeform string which can be displayed to the "
"user, but should not be parsed by programs."
msgstr ""
"This returns the product name of the inspected operating system.  The "
"product name is generally some freeform string which can be displayed to the "
"user, but should not be parsed by programs."

#. type: textblock
#: ../fish/guestfish-actions.pod:4457 ../lib/guestfs-actions.pod:7139
msgid ""
"If the product name could not be determined, then the string C<unknown> is "
"returned."
msgstr ""
"If the product name could not be determined, then the string C<unknown> is "
"returned."

#. type: =head2
#: ../fish/guestfish-actions.pod:4462
msgid "inspect-get-product-variant"
msgstr "inspect-get-product-variant"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4464
#, no-wrap
msgid ""
" inspect-get-product-variant root\n"
"\n"
msgstr ""
" inspect-get-product-variant root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4466 ../lib/guestfs-actions.pod:7155
msgid "This returns the product variant of the inspected operating system."
msgstr "This returns the product variant of the inspected operating system."

#. type: textblock
#: ../fish/guestfish-actions.pod:4469 ../lib/guestfs-actions.pod:7158
msgid ""
"For Windows guests, this returns the contents of the Registry key C<HKLM"
"\\Software\\Microsoft\\Windows NT\\CurrentVersion> C<InstallationType> which "
"is usually a string such as C<Client> or C<Server> (other values are "
"possible).  This can be used to distinguish consumer and enterprise versions "
"of Windows that have the same version number (for example, Windows 7 and "
"Windows 2008 Server are both version 6.1, but the former is C<Client> and "
"the latter is C<Server>)."
msgstr ""
"For Windows guests, this returns the contents of the Registry key C<HKLM"
"\\Software\\Microsoft\\Windows NT\\CurrentVersion> C<InstallationType> which "
"is usually a string such as C<Client> or C<Server> (other values are "
"possible).  This can be used to distinguish consumer and enterprise versions "
"of Windows that have the same version number (for example, Windows 7 and "
"Windows 2008 Server are both version 6.1, but the former is C<Client> and "
"the latter is C<Server>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:4478 ../lib/guestfs-actions.pod:7167
msgid ""
"For enterprise Linux guests, in future we intend this to return the product "
"variant such as C<Desktop>, C<Server> and so on.  But this is not "
"implemented at present."
msgstr ""
"For enterprise Linux guests, in future we intend this to return the product "
"variant such as C<Desktop>, C<Server> and so on.  But this is not "
"implemented at present."

#. type: textblock
#: ../fish/guestfish-actions.pod:4482 ../lib/guestfs-actions.pod:7171
msgid ""
"If the product variant could not be determined, then the string C<unknown> "
"is returned."
msgstr ""
"If the product variant could not be determined, then the string C<unknown> "
"is returned."

#. type: textblock
#: ../fish/guestfish-actions.pod:4485
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-product-name>, L</inspect-get-major-version>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also L</inspect-"
"get-product-name>, L</inspect-get-major-version>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4489
msgid "inspect-get-roots"
msgstr "inspect-get-roots"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4491
#, no-wrap
msgid ""
" inspect-get-roots\n"
"\n"
msgstr ""
" inspect-get-roots\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4493
msgid ""
"This function is a convenient way to get the list of root devices, as "
"returned from a previous call to L</inspect-os>, but without redoing the "
"whole inspection process."
msgstr ""
"This function is a convenient way to get the list of root devices, as "
"returned from a previous call to L</inspect-os>, but without redoing the "
"whole inspection process."

#. type: textblock
#: ../fish/guestfish-actions.pod:4497
msgid ""
"This returns an empty list if either no root devices were found or the "
"caller has not called L</inspect-os>."
msgstr ""
"This returns an empty list if either no root devices were found or the "
"caller has not called L</inspect-os>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4502
msgid "inspect-get-type"
msgstr "inspect-get-type"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4504
#, no-wrap
msgid ""
" inspect-get-type root\n"
"\n"
msgstr ""
" inspect-get-type root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4506 ../lib/guestfs-actions.pod:7209
msgid ""
"This returns the type of the inspected operating system.  Currently defined "
"types are:"
msgstr ""
"This returns the type of the inspected operating system.  Currently defined "
"types are:"

#. type: =item
#: ../fish/guestfish-actions.pod:4511 ../lib/guestfs-actions.pod:7214
msgid "\"linux\""
msgstr "\"linux\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4513 ../lib/guestfs-actions.pod:7216
msgid "Any Linux-based operating system."
msgstr "Any Linux-based operating system."

#. type: textblock
#: ../fish/guestfish-actions.pod:4517 ../lib/guestfs-actions.pod:7220
msgid "Any Microsoft Windows operating system."
msgstr "Any Microsoft Windows operating system."

#. type: =item
#: ../fish/guestfish-actions.pod:4531 ../lib/guestfs-actions.pod:7234
msgid "\"hurd\""
msgstr "\"hurd\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4533 ../lib/guestfs-actions.pod:7236
msgid "GNU/Hurd."
msgstr "GNU/Hurd."

#. type: =item
#: ../fish/guestfish-actions.pod:4535 ../lib/guestfs-actions.pod:7238
msgid "\"dos\""
msgstr "\"dos\""

#. type: textblock
#: ../fish/guestfish-actions.pod:4537 ../lib/guestfs-actions.pod:7240
msgid "MS-DOS, FreeDOS and others."
msgstr "MS-DOS, FreeDOS and others."

#. type: =item
#: ../fish/guestfish-actions.pod:4539 ../lib/guestfs-actions.pod:7242
msgid "\"minix\""
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4541 ../lib/guestfs-actions.pod:7244
msgid "MINIX."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4545 ../lib/guestfs-actions.pod:7248
msgid "The operating system type could not be determined."
msgstr "The operating system type could not be determined."

#. type: =head2
#: ../fish/guestfish-actions.pod:4554
msgid "inspect-get-windows-current-control-set"
msgstr "inspect-get-windows-current-control-set"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4556
#, no-wrap
msgid ""
" inspect-get-windows-current-control-set root\n"
"\n"
msgstr ""
" inspect-get-windows-current-control-set root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4558 ../lib/guestfs-actions.pod:7268
msgid ""
"This returns the Windows CurrentControlSet of the inspected guest.  The "
"CurrentControlSet is a registry key name such as C<ControlSet001>."
msgstr ""
"This returns the Windows CurrentControlSet of the inspected guest.  The "
"CurrentControlSet is a registry key name such as C<ControlSet001>."

#. type: textblock
#: ../fish/guestfish-actions.pod:4561 ../lib/guestfs-actions.pod:7271
msgid ""
"This call assumes that the guest is Windows and that the Registry could be "
"examined by inspection.  If this is not the case then an error is returned."
msgstr ""
"This call assumes that the guest is Windows and that the Registry could be "
"examined by inspection.  If this is not the case then an error is returned."

#. type: =head2
#: ../fish/guestfish-actions.pod:4567
msgid "inspect-get-windows-software-hive"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:4569
#, no-wrap
msgid ""
" inspect-get-windows-software-hive root\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4571 ../lib/guestfs-actions.pod:7288
msgid ""
"This returns the path to the hive (binary Windows Registry file)  "
"corresponding to HKLM\\SOFTWARE."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4574 ../lib/guestfs-actions.pod:7291
msgid ""
"This call assumes that the guest is Windows and that the guest has a "
"software hive file with the right name.  If this is not the case then an "
"error is returned.  This call does not check that the hive is a valid "
"Windows Registry hive."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4579 ../fish/guestfish-actions.pod:4595
msgid "You can use L</hivex-open> to read or write to the hive."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:4583
msgid "inspect-get-windows-system-hive"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:4585
#, no-wrap
msgid ""
" inspect-get-windows-system-hive root\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4587 ../lib/guestfs-actions.pod:7311
msgid ""
"This returns the path to the hive (binary Windows Registry file)  "
"corresponding to HKLM\\SYSTEM."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4590 ../lib/guestfs-actions.pod:7314
msgid ""
"This call assumes that the guest is Windows and that the guest has a system "
"hive file with the right name.  If this is not the case then an error is "
"returned.  This call does not check that the hive is a valid Windows "
"Registry hive."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:4599
msgid "inspect-get-windows-systemroot"
msgstr "inspect-get-windows-systemroot"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4601
#, no-wrap
msgid ""
" inspect-get-windows-systemroot root\n"
"\n"
msgstr ""
" inspect-get-windows-systemroot root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4603 ../lib/guestfs-actions.pod:7334
msgid ""
"This returns the Windows systemroot of the inspected guest.  The systemroot "
"is a directory path such as F</WINDOWS>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4606 ../lib/guestfs-actions.pod:7337
msgid ""
"This call assumes that the guest is Windows and that the systemroot could be "
"determined by inspection.  If this is not the case then an error is returned."
msgstr ""
"This call assumes that the guest is Windows and that the systemroot could be "
"determined by inspection.  If this is not the case then an error is returned."

#. type: =head2
#: ../fish/guestfish-actions.pod:4612
msgid "inspect-is-live"
msgstr "inspect-is-live"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4614
#, no-wrap
msgid ""
" inspect-is-live root\n"
"\n"
msgstr ""
" inspect-is-live root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4616 ../fish/guestfish-actions.pod:4632
#: ../fish/guestfish-actions.pod:4648 ../lib/guestfs-actions.pod:7362
#: ../lib/guestfs-actions.pod:7384 ../lib/guestfs-actions.pod:7406
msgid "This is deprecated and always returns C<false>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:4628
msgid "inspect-is-multipart"
msgstr "inspect-is-multipart"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4630
#, no-wrap
msgid ""
" inspect-is-multipart root\n"
"\n"
msgstr ""
" inspect-is-multipart root\n"
"\n"

#. type: =head2
#: ../fish/guestfish-actions.pod:4644
msgid "inspect-is-netinst"
msgstr "inspect-is-netinst"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4646
#, no-wrap
msgid ""
" inspect-is-netinst root\n"
"\n"
msgstr ""
" inspect-is-netinst root\n"
"\n"

#. type: =head2
#: ../fish/guestfish-actions.pod:4660
msgid "inspect-list-applications"
msgstr "inspect-list-applications"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4662
#, no-wrap
msgid ""
" inspect-list-applications root\n"
"\n"
msgstr ""
" inspect-list-applications root\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4664 ../fish/guestfish-actions.pod:4767
#: ../lib/guestfs-actions.pod:7427 ../lib/guestfs-actions.pod:7531
msgid "Return the list of applications installed in the operating system."
msgstr "Return the list of applications installed in the operating system."

#. type: textblock
#: ../fish/guestfish-actions.pod:4666 ../fish/guestfish-actions.pod:4769
msgid ""
"I<Note:> This call works differently from other parts of the inspection "
"API.  You have to call L</inspect-os>, then L</inspect-get-mountpoints>, "
"then mount up the disks, before calling this.  Listing applications is a "
"significantly more difficult operation which requires access to the full "
"filesystem.  Also note that unlike the other L</inspect-get-*> calls which "
"are just returning data cached in the libguestfs handle, this call actually "
"reads parts of the mounted filesystems during the call."
msgstr ""
"I<Note:> This call works differently from other parts of the inspection "
"API.  You have to call L</inspect-os>, then L</inspect-get-mountpoints>, "
"then mount up the disks, before calling this.  Listing applications is a "
"significantly more difficult operation which requires access to the full "
"filesystem.  Also note that unlike the other L</inspect-get-*> calls which "
"are just returning data cached in the libguestfs handle, this call actually "
"reads parts of the mounted filesystems during the call."

#. type: textblock
#: ../fish/guestfish-actions.pod:4676 ../fish/guestfish-actions.pod:4779
#: ../lib/guestfs-actions.pod:7439 ../lib/guestfs-actions.pod:7543
msgid ""
"This returns an empty list if the inspection code was not able to determine "
"the list of applications."
msgstr ""
"This returns an empty list if the inspection code was not able to determine "
"the list of applications."

#. type: textblock
#: ../fish/guestfish-actions.pod:4679 ../fish/guestfish-actions.pod:4782
#: ../lib/guestfs-actions.pod:7442 ../lib/guestfs-actions.pod:7546
msgid "The application structure contains the following fields:"
msgstr "The application structure contains the following fields:"

#. type: =item
#: ../fish/guestfish-actions.pod:4683 ../lib/guestfs-actions.pod:7446
msgid "C<app_name>"
msgstr "C<app_name>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4685 ../fish/guestfish-actions.pod:4788
#: ../lib/guestfs-actions.pod:7448 ../lib/guestfs-actions.pod:7552
#, fuzzy
#| msgid ""
#| "The name of the application.  For Red Hat-derived and Debian-derived "
#| "Linux guests, this is the package name."
msgid ""
"The name of the application.  For Linux guests, this is the package name."
msgstr ""
"The name of the application.  For Red Hat-derived and Debian-derived Linux "
"guests, this is the package name."

#. type: =item
#: ../fish/guestfish-actions.pod:4688 ../lib/guestfs-actions.pod:7451
msgid "C<app_display_name>"
msgstr "C<app_display_name>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4690 ../fish/guestfish-actions.pod:4793
#: ../lib/guestfs-actions.pod:7453 ../lib/guestfs-actions.pod:7557
msgid ""
"The display name of the application, sometimes localized to the install "
"language of the guest operating system."
msgstr ""
"The display name of the application, sometimes localised to the install "
"language of the guest operating system."

#. type: textblock
#: ../fish/guestfish-actions.pod:4693 ../lib/guestfs-actions.pod:7456
msgid ""
"If unavailable this is returned as an empty string C<\"\">.  Callers needing "
"to display something can use C<app_name> instead."
msgstr ""
"If unavailable this is returned as an empty string C<\"\">.  Callers needing "
"to display something can use C<app_name> instead."

#. type: =item
#: ../fish/guestfish-actions.pod:4696 ../lib/guestfs-actions.pod:7459
msgid "C<app_epoch>"
msgstr "C<app_epoch>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4698 ../fish/guestfish-actions.pod:4801
#: ../lib/guestfs-actions.pod:7461 ../lib/guestfs-actions.pod:7565
msgid ""
"For package managers which use epochs, this contains the epoch of the "
"package (an integer).  If unavailable, this is returned as C<0>."
msgstr ""
"For package managers which use epochs, this contains the epoch of the "
"package (an integer).  If unavailable, this is returned as C<0>."

#. type: =item
#: ../fish/guestfish-actions.pod:4701 ../lib/guestfs-actions.pod:7464
msgid "C<app_version>"
msgstr "C<app_version>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4703 ../fish/guestfish-actions.pod:4806
#: ../lib/guestfs-actions.pod:7466 ../lib/guestfs-actions.pod:7570
msgid ""
"The version string of the application or package.  If unavailable this is "
"returned as an empty string C<\"\">."
msgstr ""
"The version string of the application or package.  If unavailable this is "
"returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4706 ../lib/guestfs-actions.pod:7469
msgid "C<app_release>"
msgstr "C<app_release>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4708 ../fish/guestfish-actions.pod:4811
#: ../lib/guestfs-actions.pod:7471 ../lib/guestfs-actions.pod:7575
msgid ""
"The release string of the application or package, for package managers that "
"use this.  If unavailable this is returned as an empty string C<\"\">."
msgstr ""
"The release string of the application or package, for package managers that "
"use this.  If unavailable this is returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4712 ../lib/guestfs-actions.pod:7475
msgid "C<app_install_path>"
msgstr "C<app_install_path>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4714 ../fish/guestfish-actions.pod:4823
#: ../lib/guestfs-actions.pod:7477 ../lib/guestfs-actions.pod:7587
msgid ""
"The installation path of the application (on operating systems such as "
"Windows which use installation paths).  This path is in the format used by "
"the guest operating system, it is not a libguestfs path."
msgstr ""
"The installation path of the application (on operating systems such as "
"Windows which use installation paths).  This path is in the format used by "
"the guest operating system, it is not a libguestfs path."

#. type: textblock
#: ../fish/guestfish-actions.pod:4719 ../fish/guestfish-actions.pod:4828
#: ../lib/guestfs-actions.pod:7482 ../lib/guestfs-actions.pod:7592
msgid "If unavailable this is returned as an empty string C<\"\">."
msgstr "If unavailable this is returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4721 ../lib/guestfs-actions.pod:7484
msgid "C<app_trans_path>"
msgstr "C<app_trans_path>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4723 ../fish/guestfish-actions.pod:4832
#: ../lib/guestfs-actions.pod:7486 ../lib/guestfs-actions.pod:7596
msgid ""
"The install path translated into a libguestfs path.  If unavailable this is "
"returned as an empty string C<\"\">."
msgstr ""
"The install path translated into a libguestfs path.  If unavailable this is "
"returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4726 ../lib/guestfs-actions.pod:7489
msgid "C<app_publisher>"
msgstr "C<app_publisher>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4728 ../fish/guestfish-actions.pod:4837
#: ../lib/guestfs-actions.pod:7491 ../lib/guestfs-actions.pod:7601
msgid ""
"The name of the publisher of the application, for package managers that use "
"this.  If unavailable this is returned as an empty string C<\"\">."
msgstr ""
"The name of the publisher of the application, for package managers that use "
"this.  If unavailable this is returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4732 ../lib/guestfs-actions.pod:7495
msgid "C<app_url>"
msgstr "C<app_url>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4734 ../fish/guestfish-actions.pod:4843
#: ../lib/guestfs-actions.pod:7497 ../lib/guestfs-actions.pod:7607
msgid ""
"The URL (eg. upstream URL) of the application.  If unavailable this is "
"returned as an empty string C<\"\">."
msgstr ""
"The URL (eg. upstream URL) of the application.  If unavailable this is "
"returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4737 ../lib/guestfs-actions.pod:7500
msgid "C<app_source_package>"
msgstr "C<app_source_package>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4739 ../fish/guestfish-actions.pod:4848
#: ../lib/guestfs-actions.pod:7502 ../lib/guestfs-actions.pod:7612
msgid ""
"For packaging systems which support this, the name of the source package.  "
"If unavailable this is returned as an empty string C<\"\">."
msgstr ""
"For packaging systems which support this, the name of the source package.  "
"If unavailable this is returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4742 ../lib/guestfs-actions.pod:7505
msgid "C<app_summary>"
msgstr "C<app_summary>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4744 ../fish/guestfish-actions.pod:4853
#: ../lib/guestfs-actions.pod:7507 ../lib/guestfs-actions.pod:7617
msgid ""
"A short (usually one line) description of the application or package.  If "
"unavailable this is returned as an empty string C<\"\">."
msgstr ""
"A short (usually one line) description of the application or package.  If "
"unavailable this is returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4747 ../lib/guestfs-actions.pod:7510
msgid "C<app_description>"
msgstr "C<app_description>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4749 ../fish/guestfish-actions.pod:4858
#: ../lib/guestfs-actions.pod:7512 ../lib/guestfs-actions.pod:7622
msgid ""
"A longer description of the application or package.  If unavailable this is "
"returned as an empty string C<\"\">."
msgstr ""
"A longer description of the application or package.  If unavailable this is "
"returned as an empty string C<\"\">."

#. type: textblock
#: ../fish/guestfish-actions.pod:4756
msgid ""
"I<This function is deprecated.> In new code, use the L</inspect-list-"
"applications2> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</inspect-list-"
"applications2> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:4763
msgid "inspect-list-applications2"
msgstr "inspect-list-applications2"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4765
#, no-wrap
msgid ""
" inspect-list-applications2 root\n"
"\n"
msgstr ""
" inspect-list-applications2 root\n"
"\n"

#. type: =item
#: ../fish/guestfish-actions.pod:4786 ../lib/guestfs-actions.pod:7550
msgid "C<app2_name>"
msgstr "C<app2_name>"

#. type: =item
#: ../fish/guestfish-actions.pod:4791 ../lib/guestfs-actions.pod:7555
msgid "C<app2_display_name>"
msgstr "C<app2_display_name>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4796 ../lib/guestfs-actions.pod:7560
msgid ""
"If unavailable this is returned as an empty string C<\"\">.  Callers needing "
"to display something can use C<app2_name> instead."
msgstr ""
"If unavailable this is returned as an empty string C<\"\">.  Callers needing "
"to display something can use C<app2_name> instead."

#. type: =item
#: ../fish/guestfish-actions.pod:4799 ../lib/guestfs-actions.pod:7563
msgid "C<app2_epoch>"
msgstr "C<app2_epoch>"

#. type: =item
#: ../fish/guestfish-actions.pod:4804 ../lib/guestfs-actions.pod:7568
msgid "C<app2_version>"
msgstr "C<app2_version>"

#. type: =item
#: ../fish/guestfish-actions.pod:4809 ../lib/guestfs-actions.pod:7573
msgid "C<app2_release>"
msgstr "C<app2_release>"

#. type: =item
#: ../fish/guestfish-actions.pod:4815 ../lib/guestfs-actions.pod:7579
msgid "C<app2_arch>"
msgstr "C<app2_arch>"

#. type: textblock
#: ../fish/guestfish-actions.pod:4817 ../lib/guestfs-actions.pod:7581
msgid ""
"The architecture string of the application or package, for package managers "
"that use this.  If unavailable this is returned as an empty string C<\"\">."
msgstr ""
"The architecture string of the application or package, for package managers "
"that use this.  If unavailable this is returned as an empty string C<\"\">."

#. type: =item
#: ../fish/guestfish-actions.pod:4821 ../lib/guestfs-actions.pod:7585
msgid "C<app2_install_path>"
msgstr "C<app2_install_path>"

#. type: =item
#: ../fish/guestfish-actions.pod:4830 ../lib/guestfs-actions.pod:7594
msgid "C<app2_trans_path>"
msgstr "C<app2_trans_path>"

#. type: =item
#: ../fish/guestfish-actions.pod:4835 ../lib/guestfs-actions.pod:7599
msgid "C<app2_publisher>"
msgstr "C<app2_publisher>"

#. type: =item
#: ../fish/guestfish-actions.pod:4841 ../lib/guestfs-actions.pod:7605
msgid "C<app2_url>"
msgstr "C<app2_url>"

#. type: =item
#: ../fish/guestfish-actions.pod:4846 ../lib/guestfs-actions.pod:7610
msgid "C<app2_source_package>"
msgstr "C<app2_source_package>"

#. type: =item
#: ../fish/guestfish-actions.pod:4851 ../lib/guestfs-actions.pod:7615
msgid "C<app2_summary>"
msgstr "C<app2_summary>"

#. type: =item
#: ../fish/guestfish-actions.pod:4856 ../lib/guestfs-actions.pod:7620
msgid "C<app2_description>"
msgstr "C<app2_description>"

#. type: =head2
#: ../fish/guestfish-actions.pod:4865
msgid "inspect-os"
msgstr "inspect-os"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4867
#, no-wrap
msgid ""
" inspect-os\n"
"\n"
msgstr ""
" inspect-os\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4869 ../lib/guestfs-actions.pod:7640
msgid ""
"This function uses other libguestfs functions and certain heuristics to "
"inspect the disk(s) (usually disks belonging to a virtual machine), looking "
"for operating systems."
msgstr ""
"This function uses other libguestfs functions and certain heuristics to "
"inspect the disk(s) (usually disks belonging to a virtual machine), looking "
"for operating systems."

#. type: textblock
#: ../fish/guestfish-actions.pod:4873 ../lib/guestfs-actions.pod:7644
msgid "The list returned is empty if no operating systems were found."
msgstr "The list returned is empty if no operating systems were found."

#. type: textblock
#: ../fish/guestfish-actions.pod:4875 ../lib/guestfs-actions.pod:7646
msgid ""
"If one operating system was found, then this returns a list with a single "
"element, which is the name of the root filesystem of this operating system.  "
"It is also possible for this function to return a list containing more than "
"one element, indicating a dual-boot or multi-boot virtual machine, with each "
"element being the root filesystem of one of the operating systems."
msgstr ""
"If one operating system was found, then this returns a list with a single "
"element, which is the name of the root filesystem of this operating system.  "
"It is also possible for this function to return a list containing more than "
"one element, indicating a dual-boot or multi-boot virtual machine, with each "
"element being the root filesystem of one of the operating systems."

#. type: textblock
#: ../fish/guestfish-actions.pod:4882
msgid ""
"You can pass the root string(s) returned to other L</inspect-get-*> "
"functions in order to query further information about each operating system, "
"such as the name and version."
msgstr ""
"You can pass the root string(s) returned to other L</inspect-get-*> "
"functions in order to query further information about each operating system, "
"such as the name and version."

#. type: textblock
#: ../fish/guestfish-actions.pod:4887
msgid ""
"This function uses other libguestfs features such as L</mount-ro> and L</"
"umount-all> in order to mount and unmount filesystems and look at the "
"contents.  This should be called with no disks currently mounted.  The "
"function may also use Augeas, so any existing Augeas handle will be closed."
msgstr ""
"This function uses other libguestfs features such as L</mount-ro> and L</"
"umount-all> in order to mount and unmount filesystems and look at the "
"contents.  This should be called with no disks currently mounted.  The "
"function may also use Augeas, so any existing Augeas handle will be closed."

#. type: textblock
#: ../fish/guestfish-actions.pod:4893 ../lib/guestfs-actions.pod:7664
msgid ""
"This function cannot decrypt encrypted disks.  The caller must do that first "
"(supplying the necessary keys) if the disk is encrypted."
msgstr ""
"This function cannot decrypt encrypted disks.  The caller must do that first "
"(supplying the necessary keys) if the disk is encrypted."

#. type: textblock
#: ../fish/guestfish-actions.pod:4899 ../fish/guestfish-actions.pod:5414
#: ../fish/guestfish-actions.pod:5520
msgid "See also L</list-filesystems>."
msgstr "See also L</list-filesystems>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4901
msgid "is-blockdev"
msgstr "is-blockdev"

#. type: =head2
#: ../fish/guestfish-actions.pod:4903
msgid "is-blockdev-opts"
msgstr "is-blockdev-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4905
#, no-wrap
msgid ""
" is-blockdev path [followsymlinks:true|false]\n"
"\n"
msgstr ""
" is-blockdev path [followsymlinks:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4907 ../lib/guestfs-actions.pod:7705
msgid ""
"This returns C<true> if and only if there is a block device with the given "
"C<path> name."
msgstr ""
"This returns C<true> if and only if there is a block device with the given "
"C<path> name."

#. type: textblock
#: ../fish/guestfish-actions.pod:4910 ../lib/guestfs-actions.pod:7708
msgid ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a block device also causes the function to return "
"true."
msgstr ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a block device also causes the function to return "
"true."

#. type: textblock
#: ../fish/guestfish-actions.pod:4914 ../lib/guestfs-actions.pod:7712
msgid ""
"This call only looks at files within the guest filesystem.  Libguestfs "
"partitions and block devices (eg. F</dev/sda>) cannot be used as the C<path> "
"parameter of this call."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:4918 ../fish/guestfish-actions.pod:4935
#: ../fish/guestfish-actions.pod:4962 ../fish/guestfish-actions.pod:4979
#: ../fish/guestfish-actions.pod:4997 ../fish/guestfish-actions.pod:5021
#: ../fish/guestfish-actions.pod:5032
msgid "See also L</stat>."
msgstr "See also L</stat>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4922
msgid "is-chardev"
msgstr "is-chardev"

#. type: =head2
#: ../fish/guestfish-actions.pod:4924
msgid "is-chardev-opts"
msgstr "is-chardev-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4926
#, no-wrap
msgid ""
" is-chardev path [followsymlinks:true|false]\n"
"\n"
msgstr ""
" is-chardev path [followsymlinks:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4928 ../lib/guestfs-actions.pod:7785
msgid ""
"This returns C<true> if and only if there is a character device with the "
"given C<path> name."
msgstr ""
"This returns C<true> if and only if there is a character device with the "
"given C<path> name."

#. type: textblock
#: ../fish/guestfish-actions.pod:4931 ../lib/guestfs-actions.pod:7788
msgid ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a chardev also causes the function to return true."
msgstr ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a chardev also causes the function to return true."

#. type: =head2
#: ../fish/guestfish-actions.pod:4939
msgid "is-config"
msgstr "is-config"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4941
#, no-wrap
msgid ""
" is-config\n"
"\n"
msgstr ""
" is-config\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4943 ../lib/guestfs-actions.pod:7825
msgid ""
"This returns true iff this handle is being configured (in the C<CONFIG> "
"state)."
msgstr ""
"This returns true iff this handle is being configured (in the C<CONFIG> "
"state)."

#. type: textblock
#: ../fish/guestfish-actions.pod:4946 ../lib/guestfs-actions.pod:5518
#: ../lib/guestfs-actions.pod:7752 ../lib/guestfs-actions.pod:7828
#: ../lib/guestfs-actions.pod:8030 ../lib/guestfs-actions.pod:8057
msgid "For more information on states, see L<guestfs(3)>."
msgstr "For more information on states, see L<guestfs(3)>."

#. type: =head2
#: ../fish/guestfish-actions.pod:4948
msgid "is-dir"
msgstr "is-dir"

#. type: =head2
#: ../fish/guestfish-actions.pod:4950
msgid "is-dir-opts"
msgstr "is-dir-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4952
#, no-wrap
msgid ""
" is-dir path [followsymlinks:true|false]\n"
"\n"
msgstr ""
" is-dir path [followsymlinks:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4954 ../lib/guestfs-actions.pod:7861
msgid ""
"This returns C<true> if and only if there is a directory with the given "
"C<path> name.  Note that it returns false for other objects like files."
msgstr ""
"This returns C<true> if and only if there is a directory with the given "
"C<path> name.  Note that it returns false for other objects like files."

#. type: textblock
#: ../fish/guestfish-actions.pod:4958 ../lib/guestfs-actions.pod:7865
msgid ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a directory also causes the function to return true."
msgstr ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a directory also causes the function to return true."

#. type: =head2
#: ../fish/guestfish-actions.pod:4966
msgid "is-fifo"
msgstr "is-fifo"

#. type: =head2
#: ../fish/guestfish-actions.pod:4968
msgid "is-fifo-opts"
msgstr "is-fifo-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4970
#, no-wrap
msgid ""
" is-fifo path [followsymlinks:true|false]\n"
"\n"
msgstr ""
" is-fifo path [followsymlinks:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4972 ../lib/guestfs-actions.pod:7924
msgid ""
"This returns C<true> if and only if there is a FIFO (named pipe)  with the "
"given C<path> name."
msgstr ""
"This returns C<true> if and only if there is a FIFO (named pipe)  with the "
"given C<path> name."

#. type: textblock
#: ../fish/guestfish-actions.pod:4975 ../lib/guestfs-actions.pod:7927
msgid ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a FIFO also causes the function to return true."
msgstr ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a FIFO also causes the function to return true."

#. type: =head2
#: ../fish/guestfish-actions.pod:4983
msgid "is-file"
msgstr "is-file"

#. type: =head2
#: ../fish/guestfish-actions.pod:4985
msgid "is-file-opts"
msgstr "is-file-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:4987
#, no-wrap
msgid ""
" is-file path [followsymlinks:true|false]\n"
"\n"
msgstr ""
" is-file path [followsymlinks:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:4989 ../lib/guestfs-actions.pod:7986
msgid ""
"This returns C<true> if and only if there is a regular file with the given "
"C<path> name.  Note that it returns false for other objects like directories."
msgstr ""
"This returns C<true> if and only if there is a regular file with the given "
"C<path> name.  Note that it returns false for other objects like directories."

#. type: textblock
#: ../fish/guestfish-actions.pod:4993 ../lib/guestfs-actions.pod:7990
msgid ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a file also causes the function to return true."
msgstr ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a file also causes the function to return true."

#. type: =head2
#: ../fish/guestfish-actions.pod:5001
msgid "is-lv"
msgstr "is-lv"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5003
#, no-wrap
msgid ""
" is-lv mountable\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5005 ../lib/guestfs-actions.pod:8042
msgid ""
"This command tests whether C<mountable> is a logical volume, and returns "
"true iff this is the case."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5008
msgid "is-socket"
msgstr "is-socket"

#. type: =head2
#: ../fish/guestfish-actions.pod:5010
msgid "is-socket-opts"
msgstr "is-socket-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5012
#, no-wrap
msgid ""
" is-socket path [followsymlinks:true|false]\n"
"\n"
msgstr ""
" is-socket path [followsymlinks:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5014 ../lib/guestfs-actions.pod:8090
msgid ""
"This returns C<true> if and only if there is a Unix domain socket with the "
"given C<path> name."
msgstr ""
"This returns C<true> if and only if there is a Unix domain socket with the "
"given C<path> name."

#. type: textblock
#: ../fish/guestfish-actions.pod:5017 ../lib/guestfs-actions.pod:8093
msgid ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a socket also causes the function to return true."
msgstr ""
"If the optional flag C<followsymlinks> is true, then a symlink (or chain of "
"symlinks) that ends with a socket also causes the function to return true."

#. type: =head2
#: ../fish/guestfish-actions.pod:5025
msgid "is-symlink"
msgstr "is-symlink"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5027
#, no-wrap
msgid ""
" is-symlink path\n"
"\n"
msgstr ""
" is-symlink path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5029 ../lib/guestfs-actions.pod:8131
msgid ""
"This returns C<true> if and only if there is a symbolic link with the given "
"C<path> name."
msgstr ""
"This returns C<true> if and only if there is a symbolic link with the given "
"C<path> name."

#. type: =head2
#: ../fish/guestfish-actions.pod:5034
msgid "is-whole-device"
msgstr "is-whole-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5036
#, no-wrap
msgid ""
" is-whole-device device\n"
"\n"
msgstr ""
" is-whole-device device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5038 ../lib/guestfs-actions.pod:8146
msgid ""
"This returns C<true> if and only if C<device> refers to a whole block "
"device. That is, not a partition or a logical device."
msgstr ""
"This returns C<true> if and only if C<device> refers to a whole block "
"device. That is, not a partition or a logical device."

#. type: =head2
#: ../fish/guestfish-actions.pod:5041
msgid "is-zero"
msgstr "is-zero"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5043
#, no-wrap
msgid ""
" is-zero path\n"
"\n"
msgstr ""
" is-zero path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5045 ../lib/guestfs-actions.pod:8159
msgid ""
"This returns true iff the file exists and the file is empty or it contains "
"all zero bytes."
msgstr ""
"This returns true iff the file exists and the file is empty or it contains "
"all zero bytes."

#. type: =head2
#: ../fish/guestfish-actions.pod:5048
msgid "is-zero-device"
msgstr "is-zero-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5050
#, no-wrap
msgid ""
" is-zero-device device\n"
"\n"
msgstr ""
" is-zero-device device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5052 ../lib/guestfs-actions.pod:8172
msgid "This returns true iff the device exists and contains all zero bytes."
msgstr "This returns true iff the device exists and contains all zero bytes."

#. type: textblock
#: ../fish/guestfish-actions.pod:5054 ../lib/guestfs-actions.pod:8174
msgid "Note that for large devices this can take a long time to run."
msgstr "Note that for large devices this can take a long time to run."

#. type: =head2
#: ../fish/guestfish-actions.pod:5056
msgid "isoinfo"
msgstr "isoinfo"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5058
#, no-wrap
msgid ""
" isoinfo isofile\n"
"\n"
msgstr ""
" isoinfo isofile\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5060
msgid ""
"This is the same as L</isoinfo-device> except that it works for an ISO file "
"located inside some other mounted filesystem.  Note that in the common case "
"where you have added an ISO file as a libguestfs device, you would I<not> "
"call this.  Instead you would call L</isoinfo-device>."
msgstr ""
"This is the same as L</isoinfo-device> except that it works for an ISO file "
"located inside some other mounted filesystem.  Note that in the common case "
"where you have added an ISO file as a libguestfs device, you would I<not> "
"call this.  Instead you would call L</isoinfo-device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5066
msgid "isoinfo-device"
msgstr "isoinfo-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5068
#, no-wrap
msgid ""
" isoinfo-device device\n"
"\n"
msgstr ""
" isoinfo-device device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5070 ../lib/guestfs-actions.pod:8204
msgid ""
"C<device> is an ISO device.  This returns a struct of information read from "
"the primary volume descriptor (the ISO equivalent of the superblock) of the "
"device."
msgstr ""
"C<device> is an ISO device.  This returns a struct of information read from "
"the primary volume descriptor (the ISO equivalent of the superblock) of the "
"device."

#. type: textblock
#: ../fish/guestfish-actions.pod:5074 ../lib/guestfs-actions.pod:8208
msgid ""
"Usually it is more efficient to use the L<isoinfo(1)> command with the I<-d> "
"option on the host to analyze ISO files, instead of going through libguestfs."
msgstr ""
"Usually it is more efficient to use the L<isoinfo(1)> command with the I<-d> "
"option on the host to analyse ISO files, instead of going through libguestfs."

#. type: textblock
#: ../fish/guestfish-actions.pod:5078 ../lib/guestfs-actions.pod:8212
#, fuzzy
#| msgid ""
#| "For information on the primary volume descriptor fields, see L<http://"
#| "wiki.osdev.org/ISO_9660#The_Primary_Volume_Descriptor>"
msgid ""
"For information on the primary volume descriptor fields, see L<https://wiki."
"osdev.org/ISO_9660#The_Primary_Volume_Descriptor>"
msgstr ""
"For information on the primary volume descriptor fields, see L<http://wiki."
"osdev.org/ISO_9660#The_Primary_Volume_Descriptor>"

#. type: =head2
#: ../fish/guestfish-actions.pod:5081
msgid "journal-close"
msgstr "journal-close"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5083
#, no-wrap
msgid ""
" journal-close\n"
"\n"
msgstr ""
" journal-close\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5085 ../lib/guestfs-actions.pod:8226
msgid "Close the journal handle."
msgstr "Close the journal handle."

#. type: textblock
#: ../fish/guestfish-actions.pod:5087 ../fish/guestfish-actions.pod:5110
#: ../fish/guestfish-actions.pod:5124 ../fish/guestfish-actions.pod:5133
#: ../fish/guestfish-actions.pod:5149 ../fish/guestfish-actions.pod:5165
#: ../fish/guestfish-actions.pod:5179 ../fish/guestfish-actions.pod:5194
msgid ""
"This command depends on the feature C<journal>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5090
msgid "journal-get"
msgstr "journal-get"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5092
#, no-wrap
msgid ""
" journal-get\n"
"\n"
msgstr ""
" journal-get\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5094 ../lib/guestfs-actions.pod:8240
msgid ""
"Read the current journal entry.  This returns all the fields in the journal "
"as a set of C<(attrname, attrval)> pairs.  The C<attrname> is the field name "
"(a string)."
msgstr ""
"Read the current journal entry.  This returns all the fields in the journal "
"as a set of C<(attrname, attrval)> pairs.  The C<attrname> is the field name "
"(a string)."

#. type: textblock
#: ../fish/guestfish-actions.pod:5098 ../lib/guestfs-actions.pod:8244
msgid ""
"The C<attrval> is the field value (a binary blob, often but not always a "
"string).  Please note that C<attrval> is a byte array, I<not> a \\0-"
"terminated C string."
msgstr ""
"The C<attrval> is the field value (a binary blob, often but not always a "
"string).  Please note that C<attrval> is a byte array, I<not> a \\0-"
"terminated C string."

#. type: textblock
#: ../fish/guestfish-actions.pod:5102
msgid ""
"The length of data may be truncated to the data threshold (see: L</journal-"
"set-data-threshold>, L</journal-get-data-threshold>)."
msgstr ""
"The length of data may be truncated to the data threshold (see: L</journal-"
"set-data-threshold>, L</journal-get-data-threshold>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:5106 ../lib/guestfs-actions.pod:8252
msgid ""
"If you set the data threshold to unlimited (C<0>) then this call can read a "
"journal entry of any size, ie. it is not limited by the libguestfs protocol."
msgstr ""
"If you set the data threshold to unlimited (C<0>) then this call can read a "
"journal entry of any size, ie. it is not limited by the libguestfs protocol."

#. type: =head2
#: ../fish/guestfish-actions.pod:5113
msgid "journal-get-data-threshold"
msgstr "journal-get-data-threshold"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5115
#, no-wrap
msgid ""
" journal-get-data-threshold\n"
"\n"
msgstr ""
" journal-get-data-threshold\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5117 ../lib/guestfs-actions.pod:8270
msgid ""
"Get the current data threshold for reading journal entries.  This is a hint "
"to the journal that it may truncate data fields to this size when reading "
"them (note also that it may not truncate them).  If this returns C<0>, then "
"the threshold is unlimited."
msgstr ""
"Get the current data threshold for reading journal entries.  This is a hint "
"to the journal that it may truncate data fields to this size when reading "
"them (note also that it may not truncate them).  If this returns C<0>, then "
"the threshold is unlimited."

#. type: textblock
#: ../fish/guestfish-actions.pod:5122
msgid "See also L</journal-set-data-threshold>."
msgstr "See also L</journal-set-data-threshold>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5127
msgid "journal-get-realtime-usec"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:5129
#, no-wrap
msgid ""
" journal-get-realtime-usec\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5131 ../lib/guestfs-actions.pod:8289
msgid "Get the realtime (wallclock) timestamp of the current journal entry."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5136
msgid "journal-next"
msgstr "journal-next"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5138
#, no-wrap
msgid ""
" journal-next\n"
"\n"
msgstr ""
" journal-next\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5140 ../lib/guestfs-actions.pod:8303
msgid ""
"Move to the next journal entry.  You have to call this at least once after "
"opening the handle before you are able to read data."
msgstr ""
"Move to the next journal entry.  You have to call this at least once after "
"opening the handle before you are able to read data."

#. type: textblock
#: ../fish/guestfish-actions.pod:5144
msgid ""
"The returned boolean tells you if there are any more journal records to "
"read.  C<true> means you can read the next record (eg. using L</journal-"
"get>), and C<false> means you have reached the end of the journal."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5152
msgid "journal-open"
msgstr "journal-open"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5154
#, no-wrap
msgid ""
" journal-open directory\n"
"\n"
msgstr ""
" journal-open directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5156 ../lib/guestfs-actions.pod:8325
msgid ""
"Open the systemd journal located in F<directory>.  Any previously opened "
"journal handle is closed."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5159
msgid ""
"The contents of the journal can be read using L</journal-next> and L</"
"journal-get>."
msgstr ""
"The contents of the journal can be read using L</journal-next> and L</"
"journal-get>."

#. type: textblock
#: ../fish/guestfish-actions.pod:5162
msgid ""
"After you have finished using the journal, you should close the handle by "
"calling L</journal-close>."
msgstr ""
"After you have finished using the journal, you should close the handle by "
"calling L</journal-close>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5168
msgid "journal-set-data-threshold"
msgstr "journal-set-data-threshold"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5170
#, no-wrap
msgid ""
" journal-set-data-threshold threshold\n"
"\n"
msgstr ""
" journal-set-data-threshold threshold\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5172 ../lib/guestfs-actions.pod:8347
msgid ""
"Set the data threshold for reading journal entries.  This is a hint to the "
"journal that it may truncate data fields to this size when reading them "
"(note also that it may not truncate them).  If you set this to C<0>, then "
"the threshold is unlimited."
msgstr ""
"Set the data threshold for reading journal entries.  This is a hint to the "
"journal that it may truncate data fields to this size when reading them "
"(note also that it may not truncate them).  If you set this to C<0>, then "
"the threshold is unlimited."

#. type: textblock
#: ../fish/guestfish-actions.pod:5177
msgid "See also L</journal-get-data-threshold>."
msgstr "See also L</journal-get-data-threshold>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5182
msgid "journal-skip"
msgstr "journal-skip"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5184
#, no-wrap
msgid ""
" journal-skip skip\n"
"\n"
msgstr ""
" journal-skip skip\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5186 ../lib/guestfs-actions.pod:8367
msgid ""
"Skip forwards (C<skip E<ge> 0>) or backwards (C<skip E<lt> 0>) in the "
"journal."
msgstr ""
"Skip forwards (C<skip E<ge> 0>) or backwards (C<skip E<lt> 0>) in the "
"journal."

#. type: textblock
#: ../fish/guestfish-actions.pod:5189 ../lib/guestfs-actions.pod:8370
msgid ""
"The number of entries actually skipped is returned (note S<C<rskip E<ge> "
"0>>).  If this is not the same as the absolute value of the skip parameter "
"(C<|skip|>) you passed in then it means you have reached the end or the "
"start of the journal."
msgstr ""
"The number of entries actually skipped is returned (note S<C<rskip E<ge> "
"0>>).  If this is not the same as the absolute value of the skip parameter "
"(C<|skip|>) you passed in then it means you have reached the end or the "
"start of the journal."

#. type: =head2
#: ../fish/guestfish-actions.pod:5197
msgid "kill-subprocess"
msgstr "kill-subprocess"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5199
#, no-wrap
msgid ""
" kill-subprocess\n"
"\n"
msgstr ""
" kill-subprocess\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5201 ../lib/guestfs-actions.pod:8394
msgid "This kills the hypervisor."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5203
msgid "Do not call this.  See: L</shutdown> instead."
msgstr "Do not call this.  See: L</shutdown> instead."

#. type: textblock
#: ../fish/guestfish-actions.pod:5205
msgid ""
"I<This function is deprecated.> In new code, use the L</shutdown> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</shutdown> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:5212
msgid "launch"
msgstr "launch"

#. type: =head2
#: ../fish/guestfish-actions.pod:5214
msgid "run"
msgstr "run"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5216
#, no-wrap
msgid ""
" launch\n"
"\n"
msgstr ""
" launch\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5218 ../lib/guestfs-actions.pod:8407
msgid ""
"You should call this after configuring the handle (eg. adding drives) but "
"before performing any actions."
msgstr ""
"You should call this after configuring the handle (eg. adding drives) but "
"before performing any actions."

#. type: textblock
#: ../fish/guestfish-actions.pod:5221
msgid ""
"Do not call L</launch> twice on the same handle.  Although it will not give "
"an error (for historical reasons), the precise behaviour when you do this is "
"not well defined.  Handles are very cheap to create, so create a new one for "
"each launch."
msgstr ""
"Do not call L</launch> twice on the same handle.  Although it will not give "
"an error (for historical reasons), the precise behaviour when you do this is "
"not well defined.  Handles are very cheap to create, so create a new one for "
"each launch."

#. type: =head2
#: ../fish/guestfish-actions.pod:5226
msgid "lchown"
msgstr "lchown"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5228
#, no-wrap
msgid ""
" lchown owner group path\n"
"\n"
msgstr ""
" lchown owner group path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5230
msgid ""
"Change the file owner to C<owner> and group to C<group>.  This is like L</"
"chown> but if C<path> is a symlink then the link itself is changed, not the "
"target."
msgstr ""
"Change the file owner to C<owner> and group to C<group>.  This is like L</"
"chown> but if C<path> is a symlink then the link itself is changed, not the "
"target."

#. type: =head2
#: ../fish/guestfish-actions.pod:5238
msgid "ldmtool-create-all"
msgstr "ldmtool-create-all"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5240
#, no-wrap
msgid ""
" ldmtool-create-all\n"
"\n"
msgstr ""
" ldmtool-create-all\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5242 ../lib/guestfs-actions.pod:8449
msgid ""
"This function scans all block devices looking for Windows dynamic disk "
"volumes and partitions, and creates devices for any that were found."
msgstr ""
"This function scans all block devices looking for Windows dynamic disk "
"volumes and partitions, and creates devices for any that were found."

#. type: textblock
#: ../fish/guestfish-actions.pod:5246
msgid ""
"Call L</list-ldm-volumes> and L</list-ldm-partitions> to return all devices."
msgstr ""
"Call L</list-ldm-volumes> and L</list-ldm-partitions> to return all devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:5249
msgid ""
"Note that you B<don't> normally need to call this explicitly, since it is "
"done automatically at L</launch> time.  However you might want to call this "
"function if you have hotplugged disks or have just created a Windows dynamic "
"disk."
msgstr ""
"Note that you B<don't> normally need to call this explicitly, since it is "
"done automatically at L</launch> time.  However you might want to call this "
"function if you have hotplugged disks or have just created a Windows dynamic "
"disk."

#. type: textblock
#: ../fish/guestfish-actions.pod:5254 ../fish/guestfish-actions.pod:5265
#: ../fish/guestfish-actions.pod:5276 ../fish/guestfish-actions.pod:5287
#: ../fish/guestfish-actions.pod:5298 ../fish/guestfish-actions.pod:5312
#: ../fish/guestfish-actions.pod:5326 ../fish/guestfish-actions.pod:5338
#: ../fish/guestfish-actions.pod:5348 ../fish/guestfish-actions.pod:5362
#: ../fish/guestfish-actions.pod:5489 ../fish/guestfish-actions.pod:5500
msgid ""
"This command depends on the feature C<ldm>.  See also L</feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5257
msgid "ldmtool-diskgroup-disks"
msgstr "ldmtool-diskgroup-disks"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5259
#, no-wrap
msgid ""
" ldmtool-diskgroup-disks diskgroup\n"
"\n"
msgstr ""
" ldmtool-diskgroup-disks diskgroup\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5261
msgid ""
"Return the disks in a Windows dynamic disk group.  The C<diskgroup> "
"parameter should be the GUID of a disk group, one element from the list "
"returned by L</ldmtool-scan>."
msgstr ""
"Return the disks in a Windows dynamic disk group.  The C<diskgroup> "
"parameter should be the GUID of a disk group, one element from the list "
"returned by L</ldmtool-scan>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5268
msgid "ldmtool-diskgroup-name"
msgstr "ldmtool-diskgroup-name"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5270
#, no-wrap
msgid ""
" ldmtool-diskgroup-name diskgroup\n"
"\n"
msgstr ""
" ldmtool-diskgroup-name diskgroup\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5272
msgid ""
"Return the name of a Windows dynamic disk group.  The C<diskgroup> parameter "
"should be the GUID of a disk group, one element from the list returned by L</"
"ldmtool-scan>."
msgstr ""
"Return the name of a Windows dynamic disk group.  The C<diskgroup> parameter "
"should be the GUID of a disk group, one element from the list returned by L</"
"ldmtool-scan>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5279
msgid "ldmtool-diskgroup-volumes"
msgstr "ldmtool-diskgroup-volumes"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5281
#, no-wrap
msgid ""
" ldmtool-diskgroup-volumes diskgroup\n"
"\n"
msgstr ""
" ldmtool-diskgroup-volumes diskgroup\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5283
msgid ""
"Return the volumes in a Windows dynamic disk group.  The C<diskgroup> "
"parameter should be the GUID of a disk group, one element from the list "
"returned by L</ldmtool-scan>."
msgstr ""
"Return the volumes in a Windows dynamic disk group.  The C<diskgroup> "
"parameter should be the GUID of a disk group, one element from the list "
"returned by L</ldmtool-scan>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5290
msgid "ldmtool-remove-all"
msgstr "ldmtool-remove-all"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5292
#, no-wrap
msgid ""
" ldmtool-remove-all\n"
"\n"
msgstr ""
" ldmtool-remove-all\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5294
msgid ""
"This is essentially the opposite of L</ldmtool-create-all>.  It removes the "
"device mapper mappings for all Windows dynamic disk volumes"
msgstr ""
"This is essentially the opposite of L</ldmtool-create-all>.  It removes the "
"device mapper mappings for all Windows dynamic disk volumes"

#. type: =head2
#: ../fish/guestfish-actions.pod:5301
msgid "ldmtool-scan"
msgstr "ldmtool-scan"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5303
#, no-wrap
msgid ""
" ldmtool-scan\n"
"\n"
msgstr ""
" ldmtool-scan\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5305 ../fish/guestfish-actions.pod:5319
msgid ""
"This function scans for Windows dynamic disks.  It returns a list of "
"identifiers (GUIDs) for all disk groups that were found.  These identifiers "
"can be passed to other L</ldmtool-*> functions."
msgstr ""
"This function scans for Windows dynamic disks.  It returns a list of "
"identifiers (GUIDs) for all disk groups that were found.  These identifiers "
"can be passed to other L</ldmtool-*> functions."

#. type: textblock
#: ../fish/guestfish-actions.pod:5309
msgid ""
"This function scans all block devices.  To scan a subset of block devices, "
"call L</ldmtool-scan-devices> instead."
msgstr ""
"This function scans all block devices.  To scan a subset of block devices, "
"call L</ldmtool-scan-devices> instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:5315
msgid "ldmtool-scan-devices"
msgstr "ldmtool-scan-devices"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5317
#, no-wrap
msgid ""
" ldmtool-scan-devices 'devices ...'\n"
"\n"
msgstr ""
" ldmtool-scan-devices 'devices ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5323 ../lib/guestfs-actions.pod:8571
msgid ""
"The parameter C<devices> is a list of block devices which are scanned.  If "
"this list is empty, all block devices are scanned."
msgstr ""
"The parameter C<devices> is a list of block devices which are scanned.  If "
"this list is empty, all block devices are scanned."

#. type: =head2
#: ../fish/guestfish-actions.pod:5329
msgid "ldmtool-volume-hint"
msgstr "ldmtool-volume-hint"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5331
#, no-wrap
msgid ""
" ldmtool-volume-hint diskgroup volume\n"
"\n"
msgstr ""
" ldmtool-volume-hint diskgroup volume\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5333 ../lib/guestfs-actions.pod:8590
msgid ""
"Return the hint field of the volume named C<volume> in the disk group with "
"GUID C<diskgroup>.  This may not be defined, in which case the empty string "
"is returned.  The hint field is often, though not always, the name of a "
"Windows drive, eg. C<E:>."
msgstr ""
"Return the hint field of the volume named C<volume> in the disk group with "
"GUID C<diskgroup>.  This may not be defined, in which case the empty string "
"is returned.  The hint field is often, though not always, the name of a "
"Windows drive, eg. C<E:>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5341
msgid "ldmtool-volume-partitions"
msgstr "ldmtool-volume-partitions"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5343
#, no-wrap
msgid ""
" ldmtool-volume-partitions diskgroup volume\n"
"\n"
msgstr ""
" ldmtool-volume-partitions diskgroup volume\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5345 ../lib/guestfs-actions.pod:8610
msgid ""
"Return the list of partitions in the volume named C<volume> in the disk "
"group with GUID C<diskgroup>."
msgstr ""
"Return the list of partitions in the volume named C<volume> in the disk "
"group with GUID C<diskgroup>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5351
msgid "ldmtool-volume-type"
msgstr "ldmtool-volume-type"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5353
#, no-wrap
msgid ""
" ldmtool-volume-type diskgroup volume\n"
"\n"
msgstr ""
" ldmtool-volume-type diskgroup volume\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5355 ../lib/guestfs-actions.pod:8629
msgid ""
"Return the type of the volume named C<volume> in the disk group with GUID "
"C<diskgroup>."
msgstr ""
"Return the type of the volume named C<volume> in the disk group with GUID "
"C<diskgroup>."

#. type: textblock
#: ../fish/guestfish-actions.pod:5358 ../lib/guestfs-actions.pod:8632
msgid ""
"Possible volume types that can be returned here include: C<simple>, "
"C<spanned>, C<striped>, C<mirrored>, C<raid5>.  Other types may also be "
"returned."
msgstr ""
"Possible volume types that can be returned here include: C<simple>, "
"C<spanned>, C<striped>, C<mirrored>, C<raid5>.  Other types may also be "
"returned."

#. type: =head2
#: ../fish/guestfish-actions.pod:5365
msgid "lgetxattr"
msgstr "lgetxattr"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5367
#, no-wrap
msgid ""
" lgetxattr path name\n"
"\n"
msgstr ""
" lgetxattr path name\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5369 ../lib/guestfs-actions.pod:8652
msgid ""
"Get a single extended attribute from file C<path> named C<name>.  If C<path> "
"is a symlink, then this call returns an extended attribute from the symlink."
msgstr ""
"Get a single extended attribute from file C<path> named C<name>.  If C<path> "
"is a symlink, then this call returns an extended attribute from the symlink."

#. type: textblock
#: ../fish/guestfish-actions.pod:5383
msgid "See also: L</lgetxattrs>, L</getxattr>, L<attr(5)>."
msgstr "See also: L</lgetxattrs>, L</getxattr>, L<attr(5)>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5388
msgid "lgetxattrs"
msgstr "lgetxattrs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5390
#, no-wrap
msgid ""
" lgetxattrs path\n"
"\n"
msgstr ""
" lgetxattrs path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5392
msgid ""
"This is the same as L</getxattrs>, but if C<path> is a symbolic link, then "
"it returns the extended attributes of the link itself."
msgstr ""
"This is the same as L</getxattrs>, but if C<path> is a symbolic link, then "
"it returns the extended attributes of the link itself."

#. type: =head2
#: ../fish/guestfish-actions.pod:5399
msgid "list-9p"
msgstr "list-9p"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5401
#, no-wrap
msgid ""
" list-9p\n"
"\n"
msgstr ""
" list-9p\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5403 ../lib/guestfs-actions.pod:8701
msgid ""
"List all 9p filesystems attached to the guest.  A list of mount tags is "
"returned."
msgstr ""
"List all 9p filesystems attached to the guest.  A list of mount tags is "
"returned."

#. type: =head2
#: ../fish/guestfish-actions.pod:5406
msgid "list-devices"
msgstr "list-devices"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5408
#, no-wrap
msgid ""
" list-devices\n"
"\n"
msgstr ""
" list-devices\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5410 ../lib/guestfs-actions.pod:8715
msgid "List all the block devices."
msgstr "List all the block devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:5412 ../lib/guestfs-actions.pod:8717
msgid "The full block device names are returned, eg. F</dev/sda>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5416
msgid "list-disk-labels"
msgstr "list-disk-labels"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5418
#, no-wrap
msgid ""
" list-disk-labels\n"
"\n"
msgstr ""
" list-disk-labels\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5420
msgid ""
"If you add drives using the optional C<label> parameter of L</add-drive-"
"opts>, you can use this call to map between disk labels, and raw block "
"device and partition names (like F</dev/sda> and F</dev/sda1>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5425 ../lib/guestfs-actions.pod:8737
msgid ""
"This returns a hashtable, where keys are the disk labels (I<without> the F</"
"dev/disk/guestfs> prefix), and the values are the full raw block device and "
"partition names (eg. F</dev/sda> and F</dev/sda1>)."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5430
msgid "list-dm-devices"
msgstr "list-dm-devices"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5432
#, no-wrap
msgid ""
" list-dm-devices\n"
"\n"
msgstr ""
" list-dm-devices\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5434 ../lib/guestfs-actions.pod:8755
msgid "List all device mapper devices."
msgstr "List all device mapper devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:5436
msgid ""
"The returned list contains F</dev/mapper/*> devices, eg. ones created by a "
"previous call to L</luks-open>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5439
msgid ""
"Device mapper devices which correspond to logical volumes are I<not> "
"returned in this list.  Call L</lvs> if you want to list logical volumes."
msgstr ""
"Device mapper devices which correspond to logical volumes are I<not> "
"returned in this list.  Call L</lvs> if you want to list logical volumes."

#. type: =head2
#: ../fish/guestfish-actions.pod:5443
msgid "list-filesystems"
msgstr "list-filesystems"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5445
#, no-wrap
msgid ""
" list-filesystems\n"
"\n"
msgstr ""
" list-filesystems\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5447 ../lib/guestfs-actions.pod:8775
msgid ""
"This inspection command looks for filesystems on partitions, block devices "
"and logical volumes, returning a list of C<mountables> containing "
"filesystems and their type."
msgstr ""
"This inspection command looks for filesystems on partitions, block devices "
"and logical volumes, returning a list of C<mountables> containing "
"filesystems and their type."

#. type: textblock
#: ../fish/guestfish-actions.pod:5451 ../lib/guestfs-actions.pod:8779
msgid ""
"The return value is a hash, where the keys are the devices containing "
"filesystems, and the values are the filesystem types.  For example:"
msgstr ""
"The return value is a hash, where the keys are the devices containing "
"filesystems, and the values are the filesystem types.  For example:"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5455 ../lib/guestfs-actions.pod:8783
#, no-wrap
msgid ""
" \"/dev/sda1\" => \"ntfs\"\n"
" \"/dev/sda2\" => \"ext2\"\n"
" \"/dev/vg_guest/lv_root\" => \"ext4\"\n"
" \"/dev/vg_guest/lv_swap\" => \"swap\"\n"
"\n"
msgstr ""
" \"/dev/sda1\" => \"ntfs\"\n"
" \"/dev/sda2\" => \"ext2\"\n"
" \"/dev/vg_guest/lv_root\" => \"ext4\"\n"
" \"/dev/vg_guest/lv_swap\" => \"swap\"\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5460
msgid ""
"The key is not necessarily a block device. It may also be an opaque "
"‘mountable’ string which can be passed to L</mount>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5463 ../lib/guestfs-actions.pod:8791
msgid ""
"The value can have the special value \"unknown\", meaning the content of the "
"device is undetermined or empty.  \"swap\" means a Linux swap partition."
msgstr ""
"The value can have the special value \"unknown\", meaning the content of the "
"device is undetermined or empty.  \"swap\" means a Linux swap partition."

#. type: textblock
#: ../fish/guestfish-actions.pod:5467
msgid ""
"In libguestfs E<le> 1.36 this command ran other libguestfs commands, which "
"might have included L</mount> and L</umount>, and therefore you had to use "
"this soon after launch and only when nothing else was mounted.  This "
"restriction is removed in libguestfs E<ge> 1.38."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5473
msgid ""
"Not all of the filesystems returned will be mountable.  In particular, swap "
"partitions are returned in the list.  Also this command does not check that "
"each filesystem found is valid and mountable, and some filesystems might be "
"mountable but require special options.  Filesystems may not all belong to a "
"single logical operating system (use L</inspect-os> to look for OSes)."
msgstr ""
"Not all of the filesystems returned will be mountable.  In particular, swap "
"partitions are returned in the list.  Also this command does not check that "
"each filesystem found is valid and mountable, and some filesystems might be "
"mountable but require special options.  Filesystems may not all belong to a "
"single logical operating system (use L</inspect-os> to look for OSes)."

#. type: =head2
#: ../fish/guestfish-actions.pod:5481
msgid "list-ldm-partitions"
msgstr "list-ldm-partitions"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5483
#, no-wrap
msgid ""
" list-ldm-partitions\n"
"\n"
msgstr ""
" list-ldm-partitions\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5485 ../lib/guestfs-actions.pod:8822
msgid ""
"This function returns all Windows dynamic disk partitions that were found at "
"launch time.  It returns a list of device names."
msgstr ""
"This function returns all Windows dynamic disk partitions that were found at "
"launch time.  It returns a list of device names."

#. type: =head2
#: ../fish/guestfish-actions.pod:5492
msgid "list-ldm-volumes"
msgstr "list-ldm-volumes"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5494
#, no-wrap
msgid ""
" list-ldm-volumes\n"
"\n"
msgstr ""
" list-ldm-volumes\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5496 ../lib/guestfs-actions.pod:8840
msgid ""
"This function returns all Windows dynamic disk volumes that were found at "
"launch time.  It returns a list of device names."
msgstr ""
"This function returns all Windows dynamic disk volumes that were found at "
"launch time.  It returns a list of device names."

#. type: =head2
#: ../fish/guestfish-actions.pod:5503
msgid "list-md-devices"
msgstr "list-md-devices"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5505
#, no-wrap
msgid ""
" list-md-devices\n"
"\n"
msgstr ""
" list-md-devices\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5507 ../lib/guestfs-actions.pod:8858
msgid "List all Linux md devices."
msgstr "List all Linux md devices."

#. type: =head2
#: ../fish/guestfish-actions.pod:5509
msgid "list-partitions"
msgstr "list-partitions"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5511
#, no-wrap
msgid ""
" list-partitions\n"
"\n"
msgstr ""
" list-partitions\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5513 ../lib/guestfs-actions.pod:8871
msgid "List all the partitions detected on all block devices."
msgstr "List all the partitions detected on all block devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:5515 ../lib/guestfs-actions.pod:8873
msgid "The full partition device names are returned, eg. F</dev/sda1>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5517
msgid ""
"This does not return logical volumes.  For that you will need to call L</"
"lvs>."
msgstr ""
"This does not return logical volumes.  For that you will need to call L</"
"lvs>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5522
msgid "ll"
msgstr "ll"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5524
#, no-wrap
msgid ""
" ll directory\n"
"\n"
msgstr ""
" ll directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5526 ../lib/guestfs-actions.pod:8892
msgid ""
"List the files in F<directory> (relative to the root directory, there is no "
"cwd) in the format of C<ls -la>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5529 ../fish/guestfish-actions.pod:5538
#: ../lib/guestfs-actions.pod:8895 ../lib/guestfs-actions.pod:8918
msgid ""
"This command is mostly useful for interactive sessions.  It is I<not> "
"intended that you try to parse the output string."
msgstr ""
"This command is mostly useful for interactive sessions.  It is I<not> "
"intended that you try to parse the output string."

#. type: =head2
#: ../fish/guestfish-actions.pod:5532
msgid "llz"
msgstr "llz"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5534
#, no-wrap
msgid ""
" llz directory\n"
"\n"
msgstr ""
" llz directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5536 ../lib/guestfs-actions.pod:8916
msgid "List the files in F<directory> in the format of C<ls -laZ>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5541
msgid ""
"I<This function is deprecated.> In new code, use the L</lgetxattrs> call "
"instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5548
msgid "ln"
msgstr "ln"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5550
#, no-wrap
msgid ""
" ln target linkname\n"
"\n"
msgstr ""
" ln target linkname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5552 ../lib/guestfs-actions.pod:8933
#, fuzzy
#| msgid "This command creates a hard link using the C<ln> command."
msgid "This command creates a hard link."
msgstr "This command creates a hard link using the C<ln> command."

#. type: =head2
#: ../fish/guestfish-actions.pod:5554
msgid "ln-f"
msgstr "ln-f"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5556
#, no-wrap
msgid ""
" ln-f target linkname\n"
"\n"
msgstr ""
" ln-f target linkname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5558 ../lib/guestfs-actions.pod:8946
#, fuzzy
#| msgid ""
#| "This command creates a hard link using the C<ln -f> command.  The I<-f> "
#| "option removes the link (C<linkname>) if it exists already."
msgid ""
"This command creates a hard link, removing the link C<linkname> if it exists "
"already."
msgstr ""
"This command creates a hard link using the C<ln -f> command.  The I<-f> "
"option removes the link (C<linkname>) if it exists already."

#. type: =head2
#: ../fish/guestfish-actions.pod:5561
msgid "ln-s"
msgstr "ln-s"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5563
#, no-wrap
msgid ""
" ln-s target linkname\n"
"\n"
msgstr ""
" ln-s target linkname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5565 ../lib/guestfs-actions.pod:8960
msgid "This command creates a symbolic link using the C<ln -s> command."
msgstr "This command creates a symbolic link using the C<ln -s> command."

#. type: =head2
#: ../fish/guestfish-actions.pod:5567
msgid "ln-sf"
msgstr "ln-sf"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5569
#, no-wrap
msgid ""
" ln-sf target linkname\n"
"\n"
msgstr ""
" ln-sf target linkname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5571 ../lib/guestfs-actions.pod:8973
msgid ""
"This command creates a symbolic link using the C<ln -sf> command, The I<-f> "
"option removes the link (C<linkname>) if it exists already."
msgstr ""
"This command creates a symbolic link using the C<ln -sf> command, The I<-f> "
"option removes the link (C<linkname>) if it exists already."

#. type: =head2
#: ../fish/guestfish-actions.pod:5574
msgid "lremovexattr"
msgstr "lremovexattr"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5576
#, no-wrap
msgid ""
" lremovexattr xattr path\n"
"\n"
msgstr ""
" lremovexattr xattr path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5578
msgid ""
"This is the same as L</removexattr>, but if C<path> is a symbolic link, then "
"it removes an extended attribute of the link itself."
msgstr ""
"This is the same as L</removexattr>, but if C<path> is a symbolic link, then "
"it removes an extended attribute of the link itself."

#. type: =head2
#: ../fish/guestfish-actions.pod:5585
msgid "ls"
msgstr "ls"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5587
#, no-wrap
msgid ""
" ls directory\n"
"\n"
msgstr ""
" ls directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5589 ../lib/guestfs-actions.pod:9004
msgid ""
"List the files in F<directory> (relative to the root directory, there is no "
"cwd).  The C<.> and C<..> entries are not returned, but hidden files are "
"shown."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5593
msgid "ls0"
msgstr "ls0"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5595
#, no-wrap
msgid ""
" ls0 dir (filenames|-)\n"
"\n"
msgstr ""
" ls0 dir (filenames|-)\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5597 ../lib/guestfs-actions.pod:9021
msgid ""
"This specialized command is used to get a listing of the filenames in the "
"directory C<dir>.  The list of filenames is written to the local file "
"F<filenames> (on the host)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5601 ../lib/guestfs-actions.pod:9025
msgid "In the output file, the filenames are separated by C<\\0> characters."
msgstr "In the output file, the filenames are separated by C<\\0> characters."

#. type: textblock
#: ../fish/guestfish-actions.pod:5603 ../lib/guestfs-actions.pod:9027
msgid "C<.> and C<..> are not returned.  The filenames are not sorted."
msgstr "C<.> and C<..> are not returned.  The filenames are not sorted."

#. type: =head2
#: ../fish/guestfish-actions.pod:5607
msgid "lsetxattr"
msgstr "lsetxattr"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5609
#, no-wrap
msgid ""
" lsetxattr xattr val vallen path\n"
"\n"
msgstr ""
" lsetxattr xattr val vallen path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5611
msgid ""
"This is the same as L</setxattr>, but if C<path> is a symbolic link, then it "
"sets an extended attribute of the link itself."
msgstr ""
"This is the same as L</setxattr>, but if C<path> is a symbolic link, then it "
"sets an extended attribute of the link itself."

#. type: =head2
#: ../fish/guestfish-actions.pod:5618
msgid "lstat"
msgstr "lstat"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5620
#, no-wrap
msgid ""
" lstat path\n"
"\n"
msgstr ""
" lstat path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5622 ../fish/guestfish-actions.pod:5666
#: ../fish/guestfish-actions.pod:8797 ../fish/guestfish-actions.pod:8812
#: ../lib/guestfs-actions.pod:9066 ../lib/guestfs-actions.pod:9120
#: ../lib/guestfs-actions.pod:14163 ../lib/guestfs-actions.pod:14179
msgid "Returns file information for the given C<path>."
msgstr "Returns file information for the given C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:5624
msgid ""
"This is the same as L</stat> except that if C<path> is a symbolic link, then "
"the link is stat-ed, not the file it refers to."
msgstr ""
"This is the same as L</stat> except that if C<path> is a symbolic link, then "
"the link is stat-ed, not the file it refers to."

#. type: textblock
#: ../fish/guestfish-actions.pod:5628 ../fish/guestfish-actions.pod:5672
#: ../lib/guestfs-actions.pod:9072 ../lib/guestfs-actions.pod:9126
msgid "This is the same as the L<lstat(2)> system call."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5630
msgid ""
"I<This function is deprecated.> In new code, use the L</lstatns> call "
"instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5637
msgid "lstatlist"
msgstr "lstatlist"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5639
#, no-wrap
msgid ""
" lstatlist path 'names ...'\n"
"\n"
msgstr ""
" lstatlist path 'names ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5641
msgid ""
"This call allows you to perform the L</lstat> operation on multiple files, "
"where all files are in the directory C<path>.  C<names> is the list of files "
"from this directory."
msgstr ""
"This call allows you to perform the L</lstat> operation on multiple files, "
"where all files are in the directory C<path>.  C<names> is the list of files "
"from this directory."

#. type: textblock
#: ../fish/guestfish-actions.pod:5645 ../fish/guestfish-actions.pod:5682
#: ../lib/guestfs-actions.pod:9098 ../lib/guestfs-actions.pod:9145
msgid ""
"On return you get a list of stat structs, with a one-to-one correspondence "
"to the C<names> list.  If any name did not exist or could not be lstat'd, "
"then the C<st_ino> field of that structure is set to C<-1>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5650 ../fish/guestfish-actions.pod:5687
msgid ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips.  See also L</lxattrlist> for a "
"similarly efficient call for getting extended attributes."
msgstr ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips.  See also L</lxattrlist> for a "
"similarly efficient call for getting extended attributes."

#. type: textblock
#: ../fish/guestfish-actions.pod:5655
msgid ""
"I<This function is deprecated.> In new code, use the L</lstatnslist> call "
"instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5662
msgid "lstatns"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:5664
#, no-wrap
msgid ""
" lstatns path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5668
msgid ""
"This is the same as L</statns> except that if C<path> is a symbolic link, "
"then the link is stat-ed, not the file it refers to."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5674
msgid "lstatnslist"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:5676
#, no-wrap
msgid ""
" lstatnslist path 'names ...'\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5678
msgid ""
"This call allows you to perform the L</lstatns> operation on multiple files, "
"where all files are in the directory C<path>.  C<names> is the list of files "
"from this directory."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5692
msgid "luks-add-key"
msgstr "luks-add-key"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5694
#, no-wrap
msgid ""
" luks-add-key device keyslot\n"
"\n"
msgstr ""
" luks-add-key device keyslot\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5696 ../lib/guestfs-actions.pod:9170
msgid ""
"This command adds a new key on LUKS device C<device>.  C<key> is any "
"existing key, and is used to access the device.  C<newkey> is the new key to "
"add.  C<keyslot> is the key slot that will be replaced."
msgstr ""
"This command adds a new key on LUKS device C<device>.  C<key> is any "
"existing key, and is used to access the device.  C<newkey> is the new key to "
"add.  C<keyslot> is the key slot that will be replaced."

#. type: textblock
#: ../fish/guestfish-actions.pod:5701
msgid ""
"Note that if C<keyslot> already contains a key, then this command will "
"fail.  You have to use L</luks-kill-slot> first to remove that key."
msgstr ""
"Note that if C<keyslot> already contains a key, then this command will "
"fail.  You have to use L</luks-kill-slot> first to remove that key."

#. type: textblock
#: ../fish/guestfish-actions.pod:5705 ../fish/guestfish-actions.pod:5733
#: ../fish/guestfish-actions.pod:5746 ../fish/guestfish-actions.pod:5760
#: ../fish/guestfish-actions.pod:5789 ../fish/guestfish-actions.pod:5802
msgid ""
"This command has one or more key or passphrase parameters.  Guestfish will "
"prompt for these separately."
msgstr ""
"This command has one or more key or passphrase parameters.  Guestfish will "
"prompt for these separately."

#. type: textblock
#: ../fish/guestfish-actions.pod:5708 ../fish/guestfish-actions.pod:5721
#: ../fish/guestfish-actions.pod:5736 ../fish/guestfish-actions.pod:5749
#: ../fish/guestfish-actions.pod:5763 ../fish/guestfish-actions.pod:5792
#: ../fish/guestfish-actions.pod:5805 ../fish/guestfish-actions.pod:5814
msgid ""
"This command depends on the feature C<luks>.  See also L</feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5711
msgid "luks-close"
msgstr "luks-close"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5713
#, no-wrap
msgid ""
" luks-close device\n"
"\n"
msgstr ""
" luks-close device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5715
msgid ""
"This closes a LUKS device that was created earlier by L</luks-open> or L</"
"luks-open-ro>.  The C<device> parameter must be the name of the LUKS mapping "
"device (ie. F</dev/mapper/mapname>) and I<not> the name of the underlying "
"block device."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5724
msgid "luks-format"
msgstr "luks-format"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5726
#, no-wrap
msgid ""
" luks-format device keyslot\n"
"\n"
msgstr ""
" luks-format device keyslot\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5728 ../lib/guestfs-actions.pod:9217
#, fuzzy
#| msgid ""
#| "This command erases existing data on C<device> and formats the device as "
#| "a LUKS encrypted device.  C<key> is the initial key, which is added to "
#| "key slot C<slot>.  (LUKS supports 8 key slots, numbered 0-7)."
msgid ""
"This command erases existing data on C<device> and formats the device as a "
"LUKS encrypted device.  C<key> is the initial key, which is added to key "
"slot C<keyslot>.  (LUKS supports 8 key slots, numbered 0-7)."
msgstr ""
"This command erases existing data on C<device> and formats the device as a "
"LUKS encrypted device.  C<key> is the initial key, which is added to key "
"slot C<slot>.  (LUKS supports 8 key slots, numbered 0-7)."

#. type: =head2
#: ../fish/guestfish-actions.pod:5739
msgid "luks-format-cipher"
msgstr "luks-format-cipher"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5741
#, no-wrap
msgid ""
" luks-format-cipher device keyslot cipher\n"
"\n"
msgstr ""
" luks-format-cipher device keyslot cipher\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5743
msgid ""
"This command is the same as L</luks-format> but it also allows you to set "
"the C<cipher> used."
msgstr ""
"This command is the same as L</luks-format> but it also allows you to set "
"the C<cipher> used."

#. type: =head2
#: ../fish/guestfish-actions.pod:5752
msgid "luks-kill-slot"
msgstr "luks-kill-slot"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5754
#, no-wrap
msgid ""
" luks-kill-slot device keyslot\n"
"\n"
msgstr ""
" luks-kill-slot device keyslot\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5756 ../lib/guestfs-actions.pod:9264
msgid ""
"This command deletes the key in key slot C<keyslot> from the encrypted LUKS "
"device C<device>.  C<key> must be one of the I<other> keys."
msgstr ""
"This command deletes the key in key slot C<keyslot> from the encrypted LUKS "
"device C<device>.  C<key> must be one of the I<other> keys."

#. type: =head2
#: ../fish/guestfish-actions.pod:5766
msgid "luks-open"
msgstr "luks-open"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5768
#, no-wrap
msgid ""
" luks-open device mapname\n"
"\n"
msgstr ""
" luks-open device mapname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5770 ../lib/guestfs-actions.pod:9287
msgid ""
"This command opens a block device which has been encrypted according to the "
"Linux Unified Key Setup (LUKS) standard."
msgstr ""
"This command opens a block device which has been encrypted according to the "
"Linux Unified Key Setup (LUKS) standard."

#. type: textblock
#: ../fish/guestfish-actions.pod:5773 ../lib/guestfs-actions.pod:9290
msgid "C<device> is the encrypted block device or partition."
msgstr "C<device> is the encrypted block device or partition."

#. type: textblock
#: ../fish/guestfish-actions.pod:5775 ../lib/guestfs-actions.pod:9292
msgid ""
"The caller must supply one of the keys associated with the LUKS block "
"device, in the C<key> parameter."
msgstr ""
"The caller must supply one of the keys associated with the LUKS block "
"device, in the C<key> parameter."

#. type: textblock
#: ../fish/guestfish-actions.pod:5778 ../lib/guestfs-actions.pod:9295
msgid ""
"This creates a new block device called F</dev/mapper/mapname>.  Reads and "
"writes to this block device are decrypted from and encrypted to the "
"underlying C<device> respectively."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5782
msgid ""
"If this block device contains LVM volume groups, then calling L</lvm-scan> "
"with the C<activate> parameter C<true> will make them visible."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5786
msgid "Use L</list-dm-devices> to list all device mapper devices."
msgstr "Use L</list-dm-devices> to list all device mapper devices."

#. type: =head2
#: ../fish/guestfish-actions.pod:5795
msgid "luks-open-ro"
msgstr "luks-open-ro"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5797
#, no-wrap
msgid ""
" luks-open-ro device mapname\n"
"\n"
msgstr ""
" luks-open-ro device mapname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5799
msgid ""
"This is the same as L</luks-open> except that a read-only mapping is created."
msgstr ""
"This is the same as L</luks-open> except that a read-only mapping is created."

#. type: =head2
#: ../fish/guestfish-actions.pod:5808
#, fuzzy
#| msgid "vfs-uuid"
msgid "luks-uuid"
msgstr "vfs-uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5810
#, fuzzy, no-wrap
#| msgid ""
#| " lvuuid device\n"
#| "\n"
msgid ""
" luks-uuid device\n"
"\n"
msgstr ""
" lvuuid device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5812 ../lib/guestfs-actions.pod:9345
#, fuzzy
#| msgid "This command returns the UUID of the LVM LV C<device>."
msgid "This returns the UUID of the LUKS device C<device>."
msgstr "This command returns the UUID of the LVM LV C<device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5817
msgid "lvcreate"
msgstr "lvcreate"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5819
#, no-wrap
msgid ""
" lvcreate logvol volgroup mbytes\n"
"\n"
msgstr ""
" lvcreate logvol volgroup mbytes\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5821 ../lib/guestfs-actions.pod:9363
msgid ""
"This creates an LVM logical volume called C<logvol> on the volume group "
"C<volgroup>, with C<size> megabytes."
msgstr ""
"This creates an LVM logical volume called C<logvol> on the volume group "
"C<volgroup>, with C<size> megabytes."

#. type: textblock
#: ../fish/guestfish-actions.pod:5824 ../fish/guestfish-actions.pod:5836
#: ../fish/guestfish-actions.pod:5869 ../fish/guestfish-actions.pod:5916
#: ../fish/guestfish-actions.pod:5929 ../fish/guestfish-actions.pod:5946
#: ../fish/guestfish-actions.pod:5959 ../fish/guestfish-actions.pod:5974
#: ../fish/guestfish-actions.pod:5984 ../fish/guestfish-actions.pod:7484
#: ../fish/guestfish-actions.pod:7493 ../fish/guestfish-actions.pod:7504
#: ../fish/guestfish-actions.pod:7518 ../fish/guestfish-actions.pod:7528
#: ../fish/guestfish-actions.pod:7538 ../fish/guestfish-actions.pod:7553
#: ../fish/guestfish-actions.pod:7563 ../fish/guestfish-actions.pod:9557
#: ../fish/guestfish-actions.pod:9569 ../fish/guestfish-actions.pod:9578
#: ../fish/guestfish-actions.pod:9587 ../fish/guestfish-actions.pod:9597
#: ../fish/guestfish-actions.pod:9622 ../fish/guestfish-actions.pod:9646
#: ../fish/guestfish-actions.pod:9667 ../fish/guestfish-actions.pod:9677
msgid ""
"This command depends on the feature C<lvm2>.  See also L</feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5827
msgid "lvcreate-free"
msgstr "lvcreate-free"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5829
#, no-wrap
msgid ""
" lvcreate-free logvol volgroup percent\n"
"\n"
msgstr ""
" lvcreate-free logvol volgroup percent\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5831 ../lib/guestfs-actions.pod:9381
msgid ""
"Create an LVM logical volume called F</dev/volgroup/logvol>, using "
"approximately C<percent> % of the free space remaining in the volume group.  "
"Most usefully, when C<percent> is C<100> this will create the largest "
"possible LV."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5839
msgid "lvm-canonical-lv-name"
msgstr "lvm-canonical-lv-name"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5841
#, no-wrap
msgid ""
" lvm-canonical-lv-name lvname\n"
"\n"
msgstr ""
" lvm-canonical-lv-name lvname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5843 ../lib/guestfs-actions.pod:9399
msgid ""
"This converts alternative naming schemes for LVs that you might find to the "
"canonical name.  For example, F</dev/mapper/VG-LV> is converted to F</dev/VG/"
"LV>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5847 ../lib/guestfs-actions.pod:9403
msgid ""
"This command returns an error if the C<lvname> parameter does not refer to a "
"logical volume."
msgstr ""
"This command returns an error if the C<lvname> parameter does not refer to a "
"logical volume."

#. type: textblock
#: ../fish/guestfish-actions.pod:5850
msgid "See also L</is-lv>, L</canonical-device-name>."
msgstr "See also L</is-lv>, L</canonical-device-name>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5852
msgid "lvm-clear-filter"
msgstr "lvm-clear-filter"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5854
#, no-wrap
msgid ""
" lvm-clear-filter\n"
"\n"
msgstr ""
" lvm-clear-filter\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5856
msgid ""
"This undoes the effect of L</lvm-set-filter>.  LVM will be able to see every "
"block device."
msgstr ""
"This undoes the effect of L</lvm-set-filter>.  LVM will be able to see every "
"block device."

#. type: textblock
#: ../fish/guestfish-actions.pod:5859 ../fish/guestfish-actions.pod:5907
#: ../lib/guestfs-actions.pod:9421 ../lib/guestfs-actions.pod:9486
msgid ""
"This command also clears the LVM cache and performs a volume group scan."
msgstr ""
"This command also clears the LVM cache and performs a volume group scan."

#. type: =head2
#: ../fish/guestfish-actions.pod:5862
msgid "lvm-remove-all"
msgstr "lvm-remove-all"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5864
#, no-wrap
msgid ""
" lvm-remove-all\n"
"\n"
msgstr ""
" lvm-remove-all\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5866 ../lib/guestfs-actions.pod:9433
msgid ""
"This command removes all LVM logical volumes, volume groups and physical "
"volumes."
msgstr ""
"This command removes all LVM logical volumes, volume groups and physical "
"volumes."

#. type: =head2
#: ../fish/guestfish-actions.pod:5872
msgid "lvm-scan"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:5874
#, no-wrap
msgid ""
" lvm-scan true|false\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5876 ../lib/guestfs-actions.pod:9449
msgid ""
"This scans all block devices and rebuilds the list of LVM physical volumes, "
"volume groups and logical volumes."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5879 ../lib/guestfs-actions.pod:9452
msgid ""
"If the C<activate> parameter is C<true> then newly found volume groups and "
"logical volumes are activated, meaning the LV F</dev/VG/LV> devices become "
"visible."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5883
msgid ""
"When a libguestfs handle is launched it scans for existing devices, so you "
"do not normally need to use this API.  However it is useful when you have "
"added a new device or deleted an existing device (such as when the L</luks-"
"open> API is used)."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5889
msgid "lvm-set-filter"
msgstr "lvm-set-filter"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5891
#, no-wrap
msgid ""
" lvm-set-filter 'devices ...'\n"
"\n"
msgstr ""
" lvm-set-filter 'devices ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5893 ../lib/guestfs-actions.pod:9472
msgid ""
"This sets the LVM device filter so that LVM will only be able to \"see\" the "
"block devices in the list C<devices>, and will ignore all other attached "
"block devices."
msgstr ""
"This sets the LVM device filter so that LVM will only be able to \"see\" the "
"block devices in the list C<devices>, and will ignore all other attached "
"block devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:5897 ../lib/guestfs-actions.pod:9476
msgid ""
"Where disk image(s) contain duplicate PVs or VGs, this command is useful to "
"get LVM to ignore the duplicates, otherwise LVM can get confused.  Note also "
"there are two types of duplication possible: either cloned PVs/VGs which "
"have identical UUIDs; or VGs that are not cloned but just happen to have the "
"same name.  In normal operation you cannot create this situation, but you "
"can do it outside LVM, eg.  by cloning disk images or by bit twiddling "
"inside the LVM metadata."
msgstr ""
"Where disk image(s) contain duplicate PVs or VGs, this command is useful to "
"get LVM to ignore the duplicates, otherwise LVM can get confused.  Note also "
"there are two types of duplication possible: either cloned PVs/VGs which "
"have identical UUIDs; or VGs that are not cloned but just happen to have the "
"same name.  In normal operation you cannot create this situation, but you "
"can do it outside LVM, eg.  by cloning disk images or by bit twiddling "
"inside the LVM metadata."

#. type: textblock
#: ../fish/guestfish-actions.pod:5910 ../lib/guestfs-actions.pod:9489
msgid "You can filter whole block devices or individual partitions."
msgstr "You can filter whole block devices or individual partitions."

#. type: textblock
#: ../fish/guestfish-actions.pod:5912 ../lib/guestfs-actions.pod:9491
msgid ""
"You cannot use this if any VG is currently in use (eg.  contains a mounted "
"filesystem), even if you are not filtering out that VG."
msgstr ""
"You cannot use this if any VG is currently in use (eg.  contains a mounted "
"filesystem), even if you are not filtering out that VG."

#. type: =head2
#: ../fish/guestfish-actions.pod:5919
msgid "lvremove"
msgstr "lvremove"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5921
#, no-wrap
msgid ""
" lvremove device\n"
"\n"
msgstr ""
" lvremove device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5923 ../lib/guestfs-actions.pod:9508
msgid ""
"Remove an LVM logical volume C<device>, where C<device> is the path to the "
"LV, such as F</dev/VG/LV>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5926 ../lib/guestfs-actions.pod:9511
msgid ""
"You can also remove all LVs in a volume group by specifying the VG name, F</"
"dev/VG>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:5932
msgid "lvrename"
msgstr "lvrename"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5934
#, no-wrap
msgid ""
" lvrename logvol newlogvol\n"
"\n"
msgstr ""
" lvrename logvol newlogvol\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5936 ../lib/guestfs-actions.pod:9528
msgid "Rename a logical volume C<logvol> with the new name C<newlogvol>."
msgstr "Rename a logical volume C<logvol> with the new name C<newlogvol>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5938
msgid "lvresize"
msgstr "lvresize"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5940
#, no-wrap
msgid ""
" lvresize device mbytes\n"
"\n"
msgstr ""
" lvresize device mbytes\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5942 ../lib/guestfs-actions.pod:9541
msgid ""
"This resizes (expands or shrinks) an existing LVM logical volume to "
"C<mbytes>.  When reducing, data in the reduced part is lost."
msgstr ""
"This resizes (expands or shrinks) an existing LVM logical volume to "
"C<mbytes>.  When reducing, data in the reduced part is lost."

#. type: =head2
#: ../fish/guestfish-actions.pod:5949
msgid "lvresize-free"
msgstr "lvresize-free"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5951
#, no-wrap
msgid ""
" lvresize-free lv percent\n"
"\n"
msgstr ""
" lvresize-free lv percent\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5953 ../lib/guestfs-actions.pod:9559
#, fuzzy
#| msgid ""
#| "This expands an existing logical volume C<lv> so that it fills C<pc>% of "
#| "the remaining free space in the volume group.  Commonly you would call "
#| "this with pc = 100 which expands the logical volume as much as possible, "
#| "using all remaining free space in the volume group."
msgid ""
"This expands an existing logical volume C<lv> so that it fills C<pc> % of "
"the remaining free space in the volume group.  Commonly you would call this "
"with pc = 100 which expands the logical volume as much as possible, using "
"all remaining free space in the volume group."
msgstr ""
"This expands an existing logical volume C<lv> so that it fills C<pc>% of the "
"remaining free space in the volume group.  Commonly you would call this with "
"pc = 100 which expands the logical volume as much as possible, using all "
"remaining free space in the volume group."

#. type: =head2
#: ../fish/guestfish-actions.pod:5962
msgid "lvs"
msgstr "lvs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5964
#, no-wrap
msgid ""
" lvs\n"
"\n"
msgstr ""
" lvs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5966 ../lib/guestfs-actions.pod:9577
msgid ""
"List all the logical volumes detected.  This is the equivalent of the "
"L<lvs(8)> command."
msgstr ""
"List all the logical volumes detected.  This is the equivalent of the "
"L<lvs(8)> command."

#. type: textblock
#: ../fish/guestfish-actions.pod:5969 ../lib/guestfs-actions.pod:9580
msgid ""
"This returns a list of the logical volume device names (eg. F</dev/"
"VolGroup00/LogVol00>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:5972
msgid "See also L</lvs-full>, L</list-filesystems>."
msgstr "See also L</lvs-full>, L</list-filesystems>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5977
msgid "lvs-full"
msgstr "lvs-full"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5979
#, no-wrap
msgid ""
" lvs-full\n"
"\n"
msgstr ""
" lvs-full\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5981 ../lib/guestfs-actions.pod:9599
msgid ""
"List all the logical volumes detected.  This is the equivalent of the "
"L<lvs(8)> command.  The \"full\" version includes all fields."
msgstr ""
"List all the logical volumes detected.  This is the equivalent of the "
"L<lvs(8)> command.  The \"full\" version includes all fields."

#. type: =head2
#: ../fish/guestfish-actions.pod:5987
msgid "lvuuid"
msgstr "lvuuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5989
#, no-wrap
msgid ""
" lvuuid device\n"
"\n"
msgstr ""
" lvuuid device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5991 ../lib/guestfs-actions.pod:9617
msgid "This command returns the UUID of the LVM LV C<device>."
msgstr "This command returns the UUID of the LVM LV C<device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:5993
msgid "lxattrlist"
msgstr "lxattrlist"

#. type: verbatim
#: ../fish/guestfish-actions.pod:5995
#, no-wrap
msgid ""
" lxattrlist path 'names ...'\n"
"\n"
msgstr ""
" lxattrlist path 'names ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:5997 ../lib/guestfs-actions.pod:9631
msgid ""
"This call allows you to get the extended attributes of multiple files, where "
"all files are in the directory C<path>.  C<names> is the list of files from "
"this directory."
msgstr ""
"This call allows you to get the extended attributes of multiple files, where "
"all files are in the directory C<path>.  C<names> is the list of files from "
"this directory."

#. type: textblock
#: ../fish/guestfish-actions.pod:6001
#, fuzzy
#| msgid ""
#| "On return you get a flat list of xattr structs which must be interpreted "
#| "sequentially.  The first xattr struct always has a zero-length "
#| "C<attrname>.  C<attrval> in this struct is zero-length to indicate there "
#| "was an error doing C<lgetxattr> for this file, I<or> is a C string which "
#| "is a decimal number (the number of following attributes for this file, "
#| "which could be C<\"0\">).  Then after the first xattr struct are the zero "
#| "or more attributes for the first named file.  This repeats for the second "
#| "and subsequent files."
msgid ""
"On return you get a flat list of xattr structs which must be interpreted "
"sequentially.  The first xattr struct always has a zero-length C<attrname>.  "
"C<attrval> in this struct is zero-length to indicate there was an error "
"doing L</lgetxattr> for this file, I<or> is a C string which is a decimal "
"number (the number of following attributes for this file, which could be C<"
"\"0\">).  Then after the first xattr struct are the zero or more attributes "
"for the first named file.  This repeats for the second and subsequent files."
msgstr ""
"On return you get a flat list of xattr structs which must be interpreted "
"sequentially.  The first xattr struct always has a zero-length C<attrname>.  "
"C<attrval> in this struct is zero-length to indicate there was an error "
"doing C<lgetxattr> for this file, I<or> is a C string which is a decimal "
"number (the number of following attributes for this file, which could be C<"
"\"0\">).  Then after the first xattr struct are the zero or more attributes "
"for the first named file.  This repeats for the second and subsequent files."

#. type: textblock
#: ../fish/guestfish-actions.pod:6011
msgid ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips.  See also L</lstatlist> for a "
"similarly efficient call for getting standard stats."
msgstr ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips.  See also L</lstatlist> for a "
"similarly efficient call for getting standard stats."

#. type: =head2
#: ../fish/guestfish-actions.pod:6019
msgid "max-disks"
msgstr "max-disks"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6021
#, no-wrap
msgid ""
" max-disks\n"
"\n"
msgstr ""
" max-disks\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6023
msgid ""
"Return the maximum number of disks that may be added to a handle (eg. by L</"
"add-drive-opts> and similar calls)."
msgstr ""
"Return the maximum number of disks that may be added to a handle (eg. by L</"
"add-drive-opts> and similar calls)."

#. type: textblock
#: ../fish/guestfish-actions.pod:6026 ../lib/guestfs-actions.pod:9667
msgid ""
"This function was added in libguestfs 1.19.7.  In previous versions of "
"libguestfs the limit was 25."
msgstr ""
"This function was added in libguestfs 1.19.7.  In previous versions of "
"libguestfs the limit was 25."

#. type: textblock
#: ../fish/guestfish-actions.pod:6029 ../lib/guestfs-actions.pod:9670
msgid ""
"See L<guestfs(3)/MAXIMUM NUMBER OF DISKS> for additional information on this "
"topic."
msgstr ""
"See L<guestfs(3)/MAXIMUM NUMBER OF DISKS> for additional information on this "
"topic."

#. type: =head2
#: ../fish/guestfish-actions.pod:6032
msgid "md-create"
msgstr "md-create"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6034
#, no-wrap
msgid ""
" md-create name 'devices ...' [missingbitmap:N] [nrdevices:N] [spare:N] [chunk:N] [level:..]\n"
"\n"
msgstr ""
" md-create name 'devices ...' [missingbitmap:N] [nrdevices:N] [spare:N] [chunk:N] [level:..]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6036 ../lib/guestfs-actions.pod:9696
msgid ""
"Create a Linux md (RAID) device named C<name> on the devices in the list "
"C<devices>."
msgstr ""
"Create a Linux md (RAID) device named C<name> on the devices in the list "
"C<devices>."

#. type: =item
#: ../fish/guestfish-actions.pod:6043 ../lib/guestfs-actions.pod:9703
msgid "C<missingbitmap>"
msgstr "C<missingbitmap>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6045 ../lib/guestfs-actions.pod:9705
msgid ""
"A bitmap of missing devices.  If a bit is set it means that a missing device "
"is added to the array.  The least significant bit corresponds to the first "
"device in the array."
msgstr ""
"A bitmap of missing devices.  If a bit is set it means that a missing device "
"is added to the array.  The least significant bit corresponds to the first "
"device in the array."

#. type: textblock
#: ../fish/guestfish-actions.pod:6049 ../lib/guestfs-actions.pod:9709
msgid "As examples:"
msgstr "As examples:"

#. type: textblock
#: ../fish/guestfish-actions.pod:6051 ../lib/guestfs-actions.pod:9711
msgid ""
"If C<devices = [\"/dev/sda\"]> and C<missingbitmap = 0x1> then the resulting "
"array would be C<[E<lt>missingE<gt>, \"/dev/sda\"]>."
msgstr ""
"If C<devices = [\"/dev/sda\"]> and C<missingbitmap = 0x1> then the resulting "
"array would be C<[E<lt>missingE<gt>, \"/dev/sda\"]>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6054 ../lib/guestfs-actions.pod:9714
msgid ""
"If C<devices = [\"/dev/sda\"]> and C<missingbitmap = 0x2> then the resulting "
"array would be C<[\"/dev/sda\", E<lt>missingE<gt>]>."
msgstr ""
"If C<devices = [\"/dev/sda\"]> and C<missingbitmap = 0x2> then the resulting "
"array would be C<[\"/dev/sda\", E<lt>missingE<gt>]>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6057 ../lib/guestfs-actions.pod:9717
msgid "This defaults to C<0> (no missing devices)."
msgstr "This defaults to C<0> (no missing devices)."

#. type: textblock
#: ../fish/guestfish-actions.pod:6059 ../lib/guestfs-actions.pod:9719
msgid ""
"The length of C<devices> + the number of bits set in C<missingbitmap> must "
"equal C<nrdevices> + C<spare>."
msgstr ""
"The length of C<devices> + the number of bits set in C<missingbitmap> must "
"equal C<nrdevices> + C<spare>."

#. type: =item
#: ../fish/guestfish-actions.pod:6062 ../lib/guestfs-actions.pod:9722
msgid "C<nrdevices>"
msgstr "C<nrdevices>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6064 ../lib/guestfs-actions.pod:9724
msgid "The number of active RAID devices."
msgstr "The number of active RAID devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:6066 ../lib/guestfs-actions.pod:9726
msgid ""
"If not set, this defaults to the length of C<devices> plus the number of "
"bits set in C<missingbitmap>."
msgstr ""
"If not set, this defaults to the length of C<devices> plus the number of "
"bits set in C<missingbitmap>."

#. type: =item
#: ../fish/guestfish-actions.pod:6069 ../lib/guestfs-actions.pod:9729
msgid "C<spare>"
msgstr "C<spare>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6071 ../lib/guestfs-actions.pod:9731
msgid "The number of spare devices."
msgstr "The number of spare devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:6073 ../lib/guestfs-actions.pod:9733
msgid "If not set, this defaults to C<0>."
msgstr "If not set, this defaults to C<0>."

#. type: =item
#: ../fish/guestfish-actions.pod:6075 ../lib/guestfs-actions.pod:9735
msgid "C<chunk>"
msgstr "C<chunk>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6077 ../lib/guestfs-actions.pod:9737
msgid "The chunk size in bytes."
msgstr "The chunk size in bytes."

#. type: =item
#: ../fish/guestfish-actions.pod:6079 ../fish/guestfish-actions.pod:6105
#: ../lib/guestfs-actions.pod:9739 ../lib/guestfs-actions.pod:9793
msgid "C<level>"
msgstr "C<level>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6081 ../lib/guestfs-actions.pod:9741
#, fuzzy
#| msgid ""
#| "The RAID level, which can be one of: I<linear>, I<raid0>, I<0>, "
#| "I<stripe>, I<raid1>, I<1>, I<mirror>, I<raid4>, I<4>, I<raid5>, I<5>, "
#| "I<raid6>, I<6>, I<raid10>, I<10>.  Some of these are synonymous, and more "
#| "levels may be added in future."
msgid ""
"The RAID level, which can be one of: C<linear>, C<raid0>, C<0>, C<stripe>, "
"C<raid1>, C<1>, C<mirror>, C<raid4>, C<4>, C<raid5>, C<5>, C<raid6>, C<6>, "
"C<raid10>, C<10>.  Some of these are synonymous, and more levels may be "
"added in future."
msgstr ""
"The RAID level, which can be one of: I<linear>, I<raid0>, I<0>, I<stripe>, "
"I<raid1>, I<1>, I<mirror>, I<raid4>, I<4>, I<raid5>, I<5>, I<raid6>, I<6>, "
"I<raid10>, I<10>.  Some of these are synonymous, and more levels may be "
"added in future."

#. type: textblock
#: ../fish/guestfish-actions.pod:6086 ../lib/guestfs-actions.pod:9746
msgid "If not set, this defaults to C<raid1>."
msgstr "If not set, this defaults to C<raid1>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6092 ../fish/guestfish-actions.pod:6127
#: ../fish/guestfish-actions.pod:6179 ../fish/guestfish-actions.pod:6189
msgid ""
"This command depends on the feature C<mdadm>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6095
msgid "md-detail"
msgstr "md-detail"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6097
#, no-wrap
msgid ""
" md-detail md\n"
"\n"
msgstr ""
" md-detail md\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6099 ../lib/guestfs-actions.pod:9787
#, fuzzy
#| msgid ""
#| "This command exposes the output of 'mdadm -DY E<lt>mdE<gt>'.  The "
#| "following fields are usually present in the returned hash.  Other fields "
#| "may also be present."
msgid ""
"This command exposes the output of C<mdadm -DY E<lt>mdE<gt>>.  The following "
"fields are usually present in the returned hash.  Other fields may also be "
"present."
msgstr ""
"This command exposes the output of 'mdadm -DY E<lt>mdE<gt>'.  The following "
"fields are usually present in the returned hash.  Other fields may also be "
"present."

#. type: textblock
#: ../fish/guestfish-actions.pod:6107 ../lib/guestfs-actions.pod:9795
msgid "The raid level of the MD device."
msgstr "The raid level of the MD device."

#. type: =item
#: ../fish/guestfish-actions.pod:6109 ../lib/guestfs-actions.pod:9797
msgid "C<devices>"
msgstr "C<devices>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6111 ../lib/guestfs-actions.pod:9799
msgid "The number of underlying devices in the MD device."
msgstr "The number of underlying devices in the MD device."

#. type: =item
#: ../fish/guestfish-actions.pod:6113 ../lib/guestfs-actions.pod:9801
msgid "C<metadata>"
msgstr "C<metadata>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6115 ../lib/guestfs-actions.pod:9803
msgid "The metadata version used."
msgstr "The metadata version used."

#. type: =item
#: ../fish/guestfish-actions.pod:6117 ../lib/guestfs-actions.pod:9805
msgid "C<uuid>"
msgstr "C<uuid>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6119 ../lib/guestfs-actions.pod:9807
msgid "The UUID of the MD device."
msgstr "The UUID of the MD device."

#. type: textblock
#: ../fish/guestfish-actions.pod:6123 ../lib/guestfs-actions.pod:9811
msgid "The name of the MD device."
msgstr "The name of the MD device."

#. type: =head2
#: ../fish/guestfish-actions.pod:6130
msgid "md-stat"
msgstr "md-stat"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6132
#, no-wrap
msgid ""
" md-stat md\n"
"\n"
msgstr ""
" md-stat md\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6134 ../lib/guestfs-actions.pod:9832
msgid ""
"This call returns a list of the underlying devices which make up the single "
"software RAID array device C<md>."
msgstr ""
"This call returns a list of the underlying devices which make up the single "
"software RAID array device C<md>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6137
msgid "To get a list of software RAID devices, call L</list-md-devices>."
msgstr "To get a list of software RAID devices, call L</list-md-devices>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6139 ../lib/guestfs-actions.pod:9837
msgid ""
"Each structure returned corresponds to one device along with additional "
"status information:"
msgstr ""
"Each structure returned corresponds to one device along with additional "
"status information:"

#. type: =item
#: ../fish/guestfish-actions.pod:6144 ../lib/guestfs-actions.pod:9842
msgid "C<mdstat_device>"
msgstr "C<mdstat_device>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6146 ../lib/guestfs-actions.pod:9844
msgid "The name of the underlying device."
msgstr "The name of the underlying device."

#. type: =item
#: ../fish/guestfish-actions.pod:6148 ../lib/guestfs-actions.pod:9846
msgid "C<mdstat_index>"
msgstr "C<mdstat_index>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6150 ../lib/guestfs-actions.pod:9848
msgid "The index of this device within the array."
msgstr "The index of this device within the array."

#. type: =item
#: ../fish/guestfish-actions.pod:6152 ../lib/guestfs-actions.pod:9850
msgid "C<mdstat_flags>"
msgstr "C<mdstat_flags>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6154 ../lib/guestfs-actions.pod:9852
msgid ""
"Flags associated with this device.  This is a string containing (in no "
"specific order) zero or more of the following flags:"
msgstr ""
"Flags associated with this device.  This is a string containing (in no "
"specific order) zero or more of the following flags:"

#. type: =item
#: ../fish/guestfish-actions.pod:6159 ../lib/guestfs-actions.pod:9857
msgid "C<W>"
msgstr "C<W>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6161 ../lib/guestfs-actions.pod:9859
msgid "write-mostly"
msgstr "write-mostly"

#. type: =item
#: ../fish/guestfish-actions.pod:6163 ../lib/guestfs-actions.pod:9861
msgid "C<F>"
msgstr "C<F>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6165 ../lib/guestfs-actions.pod:9863
msgid "device is faulty"
msgstr "device is faulty"

#. type: =item
#: ../fish/guestfish-actions.pod:6167 ../lib/guestfs-actions.pod:9865
msgid "C<S>"
msgstr "C<S>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6169 ../lib/guestfs-actions.pod:9867
msgid "device is a RAID spare"
msgstr "device is a RAID spare"

#. type: =item
#: ../fish/guestfish-actions.pod:6171 ../lib/guestfs-actions.pod:9869
msgid "C<R>"
msgstr "C<R>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6173 ../lib/guestfs-actions.pod:9871
msgid "replacement"
msgstr "replacement"

#. type: =head2
#: ../fish/guestfish-actions.pod:6182
msgid "md-stop"
msgstr "md-stop"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6184
#, no-wrap
msgid ""
" md-stop md\n"
"\n"
msgstr ""
" md-stop md\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6186 ../lib/guestfs-actions.pod:9892
msgid ""
"This command deactivates the MD array named C<md>.  The device is stopped, "
"but it is not destroyed or zeroed."
msgstr ""
"This command deactivates the MD array named C<md>.  The device is stopped, "
"but it is not destroyed or zeroed."

#. type: =head2
#: ../fish/guestfish-actions.pod:6192
msgid "mkdir"
msgstr "mkdir"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6194
#, no-wrap
msgid ""
" mkdir path\n"
"\n"
msgstr ""
" mkdir path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6196 ../lib/guestfs-actions.pod:9908
msgid "Create a directory named C<path>."
msgstr "Create a directory named C<path>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6198
msgid "mkdir-mode"
msgstr "mkdir-mode"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6200
#, no-wrap
msgid ""
" mkdir-mode path mode\n"
"\n"
msgstr ""
" mkdir-mode path mode\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6202 ../lib/guestfs-actions.pod:9921
msgid ""
"This command creates a directory, setting the initial permissions of the "
"directory to C<mode>."
msgstr ""
"This command creates a directory, setting the initial permissions of the "
"directory to C<mode>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6205 ../lib/guestfs-actions.pod:9924
msgid ""
"For common Linux filesystems, the actual mode which is set will be C<mode & "
"~umask & 01777>.  Non-native-Linux filesystems may interpret the mode in "
"other ways."
msgstr ""
"For common Linux filesystems, the actual mode which is set will be C<mode & "
"~umask & 01777>.  Non-native-Linux filesystems may interpret the mode in "
"other ways."

#. type: textblock
#: ../fish/guestfish-actions.pod:6209
msgid "See also L</mkdir>, L</umask>"
msgstr "See also L</mkdir>, L</umask>"

#. type: =head2
#: ../fish/guestfish-actions.pod:6211
msgid "mkdir-p"
msgstr "mkdir-p"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6213
#, no-wrap
msgid ""
" mkdir-p path\n"
"\n"
msgstr ""
" mkdir-p path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6215 ../lib/guestfs-actions.pod:9940
msgid ""
"Create a directory named C<path>, creating any parent directories as "
"necessary.  This is like the C<mkdir -p> shell command."
msgstr ""
"Create a directory named C<path>, creating any parent directories as "
"necessary.  This is like the C<mkdir -p> shell command."

#. type: =head2
#: ../fish/guestfish-actions.pod:6218
msgid "mkdtemp"
msgstr "mkdtemp"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6220
#, no-wrap
msgid ""
" mkdtemp tmpl\n"
"\n"
msgstr ""
" mkdtemp tmpl\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6222 ../lib/guestfs-actions.pod:9953
msgid ""
"This command creates a temporary directory.  The C<tmpl> parameter should be "
"a full pathname for the temporary directory name with the final six "
"characters being \"XXXXXX\"."
msgstr ""
"This command creates a temporary directory.  The C<tmpl> parameter should be "
"a full pathname for the temporary directory name with the final six "
"characters being \"XXXXXX\"."

#. type: textblock
#: ../fish/guestfish-actions.pod:6227 ../fish/guestfish-actions.pod:6659
#: ../lib/guestfs-actions.pod:9958 ../lib/guestfs-actions.pod:10776
msgid ""
"For example: \"/tmp/myprogXXXXXX\" or \"/Temp/myprogXXXXXX\", the second one "
"being suitable for Windows filesystems."
msgstr ""
"For example: \"/tmp/myprogXXXXXX\" or \"/Temp/myprogXXXXXX\", the second one "
"being suitable for Windows filesystems."

#. type: textblock
#: ../fish/guestfish-actions.pod:6230 ../lib/guestfs-actions.pod:9961
msgid "The name of the temporary directory that was created is returned."
msgstr "The name of the temporary directory that was created is returned."

#. type: textblock
#: ../fish/guestfish-actions.pod:6233 ../lib/guestfs-actions.pod:9964
msgid "The temporary directory is created with mode 0700 and is owned by root."
msgstr ""
"The temporary directory is created with mode 0700 and is owned by root."

#. type: textblock
#: ../fish/guestfish-actions.pod:6236 ../lib/guestfs-actions.pod:9967
msgid ""
"The caller is responsible for deleting the temporary directory and its "
"contents after use."
msgstr ""
"The caller is responsible for deleting the temporary directory and its "
"contents after use."

#. type: textblock
#: ../fish/guestfish-actions.pod:6239 ../lib/guestfs-actions.pod:9970
msgid "See also: L<mkdtemp(3)>"
msgstr "See also: L<mkdtemp(3)>"

#. type: =head2
#: ../fish/guestfish-actions.pod:6241
msgid "mke2fs"
msgstr "mke2fs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6243
#, no-wrap
msgid ""
" mke2fs device [blockscount:N] [blocksize:N] [fragsize:N] [blockspergroup:N] [numberofgroups:N] [bytesperinode:N] [inodesize:N] [journalsize:N] [numberofinodes:N] [stridesize:N] [stripewidth:N] [maxonlineresize:N] [reservedblockspercentage:N] [mmpupdateinterval:N] [journaldevice:..] [label:..] [lastmounteddir:..] [creatoros:..] [fstype:..] [usagetype:..] [uuid:..] [forcecreate:true|false] [writesbandgrouponly:true|false] [lazyitableinit:true|false] [lazyjournalinit:true|false] [testfs:true|false] [discard:true|false] [quotatype:true|false] [extent:true|false] [filetype:true|false] [flexbg:true|false] [hasjournal:true|false] [journaldev:true|false] [largefile:true|false] [quota:true|false] [resizeinode:true|false] [sparsesuper:true|false] [uninitbg:true|false]\n"
"\n"
msgstr ""
" mke2fs device [blockscount:N] [blocksize:N] [fragsize:N] [blockspergroup:N] [numberofgroups:N] [bytesperinode:N] [inodesize:N] [journalsize:N] [numberofinodes:N] [stridesize:N] [stripewidth:N] [maxonlineresize:N] [reservedblockspercentage:N] [mmpupdateinterval:N] [journaldevice:..] [label:..] [lastmounteddir:..] [creatoros:..] [fstype:..] [usagetype:..] [uuid:..] [forcecreate:true|false] [writesbandgrouponly:true|false] [lazyitableinit:true|false] [lazyjournalinit:true|false] [testfs:true|false] [discard:true|false] [quotatype:true|false] [extent:true|false] [filetype:true|false] [flexbg:true|false] [hasjournal:true|false] [journaldev:true|false] [largefile:true|false] [quota:true|false] [resizeinode:true|false] [sparsesuper:true|false] [uninitbg:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6245 ../lib/guestfs-actions.pod:10028
msgid ""
"C<mke2fs> is used to create an ext2, ext3, or ext4 filesystem on C<device>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6248 ../lib/guestfs-actions.pod:10031
msgid ""
"The optional C<blockscount> is the size of the filesystem in blocks.  If "
"omitted it defaults to the size of C<device>.  Note if the filesystem is too "
"small to contain a journal, C<mke2fs> will silently create an ext2 "
"filesystem instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6255
msgid "mke2fs-J"
msgstr "mke2fs-J"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6257
#, no-wrap
msgid ""
" mke2fs-J fstype blocksize device journal\n"
"\n"
msgstr ""
" mke2fs-J fstype blocksize device journal\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6259 ../lib/guestfs-actions.pod:10078
msgid ""
"This creates an ext2/3/4 filesystem on C<device> with an external journal on "
"C<journal>.  It is equivalent to the command:"
msgstr ""
"This creates an ext2/3/4 filesystem on C<device> with an external journal on "
"C<journal>.  It is equivalent to the command:"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6263 ../lib/guestfs-actions.pod:10082
#, no-wrap
msgid ""
" mke2fs -t fstype -b blocksize -J device=<journal> <device>\n"
"\n"
msgstr ""
" mke2fs -t fstype -b blocksize -J device=<journal> <device>\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6265
msgid "See also L</mke2journal>."
msgstr "See also L</mke2journal>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6267 ../fish/guestfish-actions.pod:6283
#: ../fish/guestfish-actions.pod:6299 ../fish/guestfish-actions.pod:6318
#: ../fish/guestfish-actions.pod:6331 ../fish/guestfish-actions.pod:6344
msgid ""
"I<This function is deprecated.> In new code, use the L</mke2fs> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</mke2fs> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:6274
msgid "mke2fs-JL"
msgstr "mke2fs-JL"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6276
#, no-wrap
msgid ""
" mke2fs-JL fstype blocksize device label\n"
"\n"
msgstr ""
" mke2fs-JL fstype blocksize device label\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6278 ../lib/guestfs-actions.pod:10106
msgid ""
"This creates an ext2/3/4 filesystem on C<device> with an external journal on "
"the journal labeled C<label>."
msgstr ""
"This creates an ext2/3/4 filesystem on C<device> with an external journal on "
"the journal labelled C<label>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6281
msgid "See also L</mke2journal-L>."
msgstr "See also L</mke2journal-L>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6290
msgid "mke2fs-JU"
msgstr "mke2fs-JU"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6292
#, no-wrap
msgid ""
" mke2fs-JU fstype blocksize device uuid\n"
"\n"
msgstr ""
" mke2fs-JU fstype blocksize device uuid\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6294 ../lib/guestfs-actions.pod:10131
msgid ""
"This creates an ext2/3/4 filesystem on C<device> with an external journal on "
"the journal with UUID C<uuid>."
msgstr ""
"This creates an ext2/3/4 filesystem on C<device> with an external journal on "
"the journal with UUID C<uuid>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6297
msgid "See also L</mke2journal-U>."
msgstr "See also L</mke2journal-U>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6306 ../fish/guestfish-actions.pod:6351
#: ../fish/guestfish-actions.pod:6638 ../fish/guestfish-actions.pod:8918
#: ../fish/guestfish-actions.pod:8958
msgid ""
"This command depends on the feature C<linuxfsuuid>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6309
msgid "mke2journal"
msgstr "mke2journal"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6311
#, no-wrap
msgid ""
" mke2journal blocksize device\n"
"\n"
msgstr ""
" mke2journal blocksize device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6313 ../lib/guestfs-actions.pod:10157
msgid ""
"This creates an ext2 external journal on C<device>.  It is equivalent to the "
"command:"
msgstr ""
"This creates an ext2 external journal on C<device>.  It is equivalent to the "
"command:"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6316 ../lib/guestfs-actions.pod:10160
#, no-wrap
msgid ""
" mke2fs -O journal_dev -b blocksize device\n"
"\n"
msgstr ""
" mke2fs -O journal_dev -b blocksize device\n"
"\n"

#. type: =head2
#: ../fish/guestfish-actions.pod:6325
msgid "mke2journal-L"
msgstr "mke2journal-L"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6327
#, no-wrap
msgid ""
" mke2journal-L blocksize label device\n"
"\n"
msgstr ""
" mke2journal-L blocksize label device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6329 ../lib/guestfs-actions.pod:10181
msgid "This creates an ext2 external journal on C<device> with label C<label>."
msgstr ""
"This creates an ext2 external journal on C<device> with label C<label>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6338
msgid "mke2journal-U"
msgstr "mke2journal-U"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6340
#, no-wrap
msgid ""
" mke2journal-U blocksize uuid device\n"
"\n"
msgstr ""
" mke2journal-U blocksize uuid device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6342 ../lib/guestfs-actions.pod:10202
msgid "This creates an ext2 external journal on C<device> with UUID C<uuid>."
msgstr "This creates an ext2 external journal on C<device> with UUID C<uuid>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6354
msgid "mkfifo"
msgstr "mkfifo"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6356
#, no-wrap
msgid ""
" mkfifo mode path\n"
"\n"
msgstr ""
" mkfifo mode path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6358
msgid ""
"This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It "
"is just a convenient wrapper around L</mknod>."
msgstr ""
"This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It "
"is just a convenient wrapper around L</mknod>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6362 ../fish/guestfish-actions.pod:6539
#: ../fish/guestfish-actions.pod:6555
msgid "Unlike with L</mknod>, C<mode> B<must> contain only permissions bits."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6367 ../fish/guestfish-actions.pod:6528
#: ../fish/guestfish-actions.pod:6544 ../fish/guestfish-actions.pod:6560
msgid ""
"This command depends on the feature C<mknod>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6370
msgid "mkfs"
msgstr "mkfs"

#. type: =head2
#: ../fish/guestfish-actions.pod:6372
msgid "mkfs-opts"
msgstr "mkfs-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6374
#, no-wrap
msgid ""
" mkfs fstype device [blocksize:N] [features:..] [inode:N] [sectorsize:N] [label:..]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6376 ../lib/guestfs-actions.pod:10267
msgid ""
"This function creates a filesystem on C<device>.  The filesystem type is "
"C<fstype>, for example C<ext3>."
msgstr ""
"This function creates a filesystem on C<device>.  The filesystem type is "
"C<fstype>, for example C<ext3>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6385 ../lib/guestfs-actions.pod:10276
msgid ""
"The filesystem block size.  Supported block sizes depend on the filesystem "
"type, but typically they are C<1024>, C<2048> or C<4096> for Linux ext2/3 "
"filesystems."
msgstr ""
"The filesystem block size.  Supported block sizes depend on the filesystem "
"type, but typically they are C<1024>, C<2048> or C<4096> for Linux ext2/3 "
"filesystems."

#. type: textblock
#: ../fish/guestfish-actions.pod:6389 ../fish/guestfish-actions.pod:6428
#: ../lib/guestfs-actions.pod:10280 ../lib/guestfs-actions.pod:10356
msgid ""
"For VFAT and NTFS the C<blocksize> parameter is treated as the requested "
"cluster size."
msgstr ""
"For VFAT and NTFS the C<blocksize> parameter is treated as the requested "
"cluster size."

#. type: textblock
#: ../fish/guestfish-actions.pod:6392 ../lib/guestfs-actions.pod:10283
msgid "For UFS block sizes, please see L<mkfs.ufs(8)>."
msgstr "For UFS block sizes, please see L<mkfs.ufs(8)>."

#. type: =item
#: ../fish/guestfish-actions.pod:6394 ../lib/guestfs-actions.pod:10285
msgid "C<features>"
msgstr "C<features>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6396 ../lib/guestfs-actions.pod:10287
msgid "This passes the I<-O> parameter to the external mkfs program."
msgstr "This passes the I<-O> parameter to the external mkfs program."

#. type: textblock
#: ../fish/guestfish-actions.pod:6398 ../lib/guestfs-actions.pod:10289
msgid ""
"For certain filesystem types, this allows extra filesystem features to be "
"selected.  See L<mke2fs(8)> and L<mkfs.ufs(8)> for more details."
msgstr ""
"For certain filesystem types, this allows extra filesystem features to be "
"selected.  See L<mke2fs(8)> and L<mkfs.ufs(8)> for more details."

#. type: textblock
#: ../fish/guestfish-actions.pod:6402 ../lib/guestfs-actions.pod:10293
msgid ""
"You cannot use this optional parameter with the C<gfs> or C<gfs2> filesystem "
"type."
msgstr ""
"You cannot use this optional parameter with the C<gfs> or C<gfs2> filesystem "
"type."

#. type: =item
#: ../fish/guestfish-actions.pod:6405 ../lib/guestfs-actions.pod:10296
msgid "C<inode>"
msgstr "C<inode>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6407 ../lib/guestfs-actions.pod:10298
msgid ""
"This passes the I<-I> parameter to the external L<mke2fs(8)> program which "
"sets the inode size (only for ext2/3/4 filesystems at present)."
msgstr ""
"This passes the I<-I> parameter to the external L<mke2fs(8)> program which "
"sets the inode size (only for ext2/3/4 filesystems at present)."

#. type: =item
#: ../fish/guestfish-actions.pod:6410 ../lib/guestfs-actions.pod:10301
msgid "C<sectorsize>"
msgstr "C<sectorsize>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6412 ../lib/guestfs-actions.pod:10303
msgid ""
"This passes the I<-S> parameter to external L<mkfs.ufs(8)> program, which "
"sets sector size for ufs filesystem."
msgstr ""
"This passes the I<-S> parameter to external L<mkfs.ufs(8)> program, which "
"sets sector size for ufs filesystem."

#. type: =head2
#: ../fish/guestfish-actions.pod:6419
msgid "mkfs-b"
msgstr "mkfs-b"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6421
#, no-wrap
msgid ""
" mkfs-b fstype blocksize device\n"
"\n"
msgstr ""
" mkfs-b fstype blocksize device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6423
msgid ""
"This call is similar to L</mkfs>, but it allows you to control the block "
"size of the resulting filesystem.  Supported block sizes depend on the "
"filesystem type, but typically they are C<1024>, C<2048> or C<4096> only."
msgstr ""
"This call is similar to L</mkfs>, but it allows you to control the block "
"size of the resulting filesystem.  Supported block sizes depend on the "
"filesystem type, but typically they are C<1024>, C<2048> or C<4096> only."

#. type: textblock
#: ../fish/guestfish-actions.pod:6431
msgid ""
"I<This function is deprecated.> In new code, use the L</mkfs> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</mkfs> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:6438
msgid "mkfs-btrfs"
msgstr "mkfs-btrfs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6440
#, no-wrap
msgid ""
" mkfs-btrfs 'devices ...' [allocstart:N] [bytecount:N] [datatype:..] [leafsize:N] [label:..] [metadata:..] [nodesize:N] [sectorsize:N]\n"
"\n"
msgstr ""
" mkfs-btrfs 'devices ...' [allocstart:N] [bytecount:N] [datatype:..] [leafsize:N] [label:..] [metadata:..] [nodesize:N] [sectorsize:N]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6442 ../lib/guestfs-actions.pod:10384
msgid ""
"Create a btrfs filesystem, allowing all configurables to be set.  For more "
"information on the optional arguments, see L<mkfs.btrfs(8)>."
msgstr ""
"Create a btrfs filesystem, allowing all configurables to be set.  For more "
"information on the optional arguments, see L<mkfs.btrfs(8)>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6445 ../lib/guestfs-actions.pod:10387
msgid ""
"Since btrfs filesystems can span multiple devices, this takes a non-empty "
"list of devices."
msgstr ""
"Since btrfs filesystems can span multiple devices, this takes a non-empty "
"list of devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:6448
msgid "To create general filesystems, use L</mkfs>."
msgstr "To create general filesystems, use L</mkfs>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6455
msgid "mklost-and-found"
msgstr "mklost-and-found"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6457
#, no-wrap
msgid ""
" mklost-and-found mountpoint\n"
"\n"
msgstr ""
" mklost-and-found mountpoint\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6459 ../lib/guestfs-actions.pod:10427
msgid ""
"Make the C<lost+found> directory, normally in the root directory of an "
"ext2/3/4 filesystem.  C<mountpoint> is the directory under which we try to "
"create the C<lost+found> directory."
msgstr ""
"Make the C<lost+found> directory, normally in the root directory of an "
"ext2/3/4 filesystem.  C<mountpoint> is the directory under which we try to "
"create the C<lost+found> directory."

#. type: =head2
#: ../fish/guestfish-actions.pod:6463
msgid "mkmountpoint"
msgstr "mkmountpoint"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6465
#, no-wrap
msgid ""
" mkmountpoint exemptpath\n"
"\n"
msgstr ""
" mkmountpoint exemptpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6467
msgid ""
"L</mkmountpoint> and L</rmmountpoint> are specialized calls that can be used "
"to create extra mountpoints before mounting the first filesystem."
msgstr ""
"L</mkmountpoint> and L</rmmountpoint> are specialised calls that can be used "
"to create extra mountpoints before mounting the first filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:6471 ../lib/guestfs-actions.pod:10445
msgid ""
"These calls are I<only> necessary in some very limited circumstances, mainly "
"the case where you want to mount a mix of unrelated and/or read-only "
"filesystems together."
msgstr ""
"These calls are I<only> necessary in some very limited circumstances, mainly "
"the case where you want to mount a mix of unrelated and/or read-only "
"filesystems together."

#. type: textblock
#: ../fish/guestfish-actions.pod:6475 ../lib/guestfs-actions.pod:10449
msgid ""
"For example, live CDs often contain a \"Russian doll\" nest of filesystems, "
"an ISO outer layer, with a squashfs image inside, with an ext2/3 image "
"inside that.  You can unpack this as follows in guestfish:"
msgstr ""
"For example, live CDs often contain a \"Russian doll\" nest of filesystems, "
"an ISO outer layer, with a squashfs image inside, with an ext2/3 image "
"inside that.  You can unpack this as follows in guestfish:"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6480 ../lib/guestfs-actions.pod:10454
#, no-wrap
msgid ""
" add-ro Fedora-11-i686-Live.iso\n"
" run\n"
" mkmountpoint /cd\n"
" mkmountpoint /sqsh\n"
" mkmountpoint /ext3fs\n"
" mount /dev/sda /cd\n"
" mount-loop /cd/LiveOS/squashfs.img /sqsh\n"
" mount-loop /sqsh/LiveOS/ext3fs.img /ext3fs\n"
"\n"
msgstr ""
" add-ro Fedora-11-i686-Live.iso\n"
" run\n"
" mkmountpoint /cd\n"
" mkmountpoint /sqsh\n"
" mkmountpoint /ext3fs\n"
" mount /dev/sda /cd\n"
" mount-loop /cd/LiveOS/squashfs.img /sqsh\n"
" mount-loop /sqsh/LiveOS/ext3fs.img /ext3fs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6489 ../lib/guestfs-actions.pod:10463
msgid "The inner filesystem is now unpacked under the /ext3fs mountpoint."
msgstr "The inner filesystem is now unpacked under the /ext3fs mountpoint."

#. type: textblock
#: ../fish/guestfish-actions.pod:6491
msgid ""
"L</mkmountpoint> is not compatible with L</umount-all>.  You may get "
"unexpected errors if you try to mix these calls.  It is safest to manually "
"unmount filesystems and remove mountpoints after use."
msgstr ""
"L</mkmountpoint> is not compatible with L</umount-all>.  You may get "
"unexpected errors if you try to mix these calls.  It is safest to manually "
"unmount filesystems and remove mountpoints after use."

#. type: textblock
#: ../fish/guestfish-actions.pod:6495
msgid ""
"L</umount-all> unmounts filesystems by sorting the paths longest first, so "
"for this to work for manual mountpoints, you must ensure that the innermost "
"mountpoints have the longest pathnames, as in the example code above."
msgstr ""
"L</umount-all> unmounts filesystems by sorting the paths longest first, so "
"for this to work for manual mountpoints, you must ensure that the innermost "
"mountpoints have the longest pathnames, as in the example code above."

#. type: textblock
#: ../fish/guestfish-actions.pod:6500 ../lib/guestfs-actions.pod:10474
msgid ""
"For more details see L<https://bugzilla.redhat.com/show_bug.cgi?id=599503>"
msgstr ""
"For more details see L<https://bugzilla.redhat.com/show_bug.cgi?id=599503>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6502
msgid ""
"Autosync [see L</set-autosync>, this is set by default on handles] can cause "
"L</umount-all> to be called when the handle is closed which can also trigger "
"these issues."
msgstr ""
"Autosync [see L</set-autosync>, this is set by default on handles] can cause "
"L</umount-all> to be called when the handle is closed which can also trigger "
"these issues."

#. type: =head2
#: ../fish/guestfish-actions.pod:6506
msgid "mknod"
msgstr "mknod"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6508
#, no-wrap
msgid ""
" mknod mode devmajor devminor path\n"
"\n"
msgstr ""
" mknod mode devmajor devminor path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6510 ../lib/guestfs-actions.pod:10493
msgid ""
"This call creates block or character special devices, or named pipes (FIFOs)."
msgstr ""
"This call creates block or character special devices, or named pipes (FIFOs)."

#. type: textblock
#: ../fish/guestfish-actions.pod:6513 ../lib/guestfs-actions.pod:10496
msgid ""
"The C<mode> parameter should be the mode, using the standard constants.  "
"C<devmajor> and C<devminor> are the device major and minor numbers, only "
"used when creating block and character special devices."
msgstr ""
"The C<mode> parameter should be the mode, using the standard constants.  "
"C<devmajor> and C<devminor> are the device major and minor numbers, only "
"used when creating block and character special devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:6518
msgid ""
"Note that, just like L<mknod(2)>, the mode must be bitwise OR'd with "
"S_IFBLK, S_IFCHR, S_IFIFO or S_IFSOCK (otherwise this call just creates a "
"regular file).  These constants are available in the standard Linux header "
"files, or you can use L</mknod-b>, L</mknod-c> or L</mkfifo> which are "
"wrappers around this command which bitwise OR in the appropriate constant "
"for you."
msgstr ""
"Note that, just like L<mknod(2)>, the mode must be bitwise OR'd with "
"S_IFBLK, S_IFCHR, S_IFIFO or S_IFSOCK (otherwise this call just creates a "
"regular file).  These constants are available in the standard Linux header "
"files, or you can use L</mknod-b>, L</mknod-c> or L</mkfifo> which are "
"wrappers around this command which bitwise OR in the appropriate constant "
"for you."

#. type: =head2
#: ../fish/guestfish-actions.pod:6531
msgid "mknod-b"
msgstr "mknod-b"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6533
#, no-wrap
msgid ""
" mknod-b mode devmajor devminor path\n"
"\n"
msgstr ""
" mknod-b mode devmajor devminor path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6535
msgid ""
"This call creates a block device node called C<path> with mode C<mode> and "
"device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
"wrapper around L</mknod>."
msgstr ""
"This call creates a block device node called C<path> with mode C<mode> and "
"device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
"wrapper around L</mknod>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6547
msgid "mknod-c"
msgstr "mknod-c"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6549
#, no-wrap
msgid ""
" mknod-c mode devmajor devminor path\n"
"\n"
msgstr ""
" mknod-c mode devmajor devminor path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6551
msgid ""
"This call creates a char device node called C<path> with mode C<mode> and "
"device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
"wrapper around L</mknod>."
msgstr ""
"This call creates a char device node called C<path> with mode C<mode> and "
"device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
"wrapper around L</mknod>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6563
msgid "mksquashfs"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:6565
#, no-wrap
msgid ""
" mksquashfs path (filename|-) [compress:..] [excludes:..]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6567 ../lib/guestfs-actions.pod:10584
msgid "Create a squashfs filesystem for the specified C<path>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6569 ../lib/guestfs-actions.pod:10586
msgid ""
"The optional C<compress> flag controls compression.  If not given, then the "
"output compressed using C<gzip>.  Otherwise one of the following strings may "
"be given to select the compression type of the squashfs: C<gzip>, C<lzma>, "
"C<lzo>, C<lz4>, C<xz>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6574 ../fish/guestfish-actions.pod:9050
#: ../fish/guestfish-actions.pod:9088 ../lib/guestfs-actions.pod:10591
#: ../lib/guestfs-actions.pod:14578 ../lib/guestfs-actions.pod:14668
msgid "The other optional arguments are:"
msgstr "The other optional arguments are:"

#. type: =item
#: ../fish/guestfish-actions.pod:6578 ../fish/guestfish-actions.pod:9092
#: ../lib/guestfs-actions.pod:10595 ../lib/guestfs-actions.pod:14672
msgid "C<excludes>"
msgstr "C<excludes>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6580 ../fish/guestfish-actions.pod:9094
#: ../lib/guestfs-actions.pod:10597 ../lib/guestfs-actions.pod:14674
msgid ""
"A list of wildcards.  Files are excluded if they match any of the wildcards."
msgstr ""
"A list of wildcards.  Files are excluded if they match any of the wildcards."

#. type: textblock
#: ../fish/guestfish-actions.pod:6585 ../lib/guestfs-actions.pod:10602
msgid ""
"Please note that this API may fail when used to compress directories with "
"large files, such as the resulting squashfs will be over 3GB big."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6592
msgid ""
"This command depends on the feature C<squashfs>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6595
msgid "mkswap"
msgstr "mkswap"

#. type: =head2
#: ../fish/guestfish-actions.pod:6597
msgid "mkswap-opts"
msgstr "mkswap-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6599
#, no-wrap
msgid ""
" mkswap device [label:..] [uuid:..]\n"
"\n"
msgstr ""
" mkswap device [label:..] [uuid:..]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6601 ../lib/guestfs-actions.pod:10664
msgid "Create a Linux swap partition on C<device>."
msgstr "Create a Linux swap partition on C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6603 ../lib/guestfs-actions.pod:10666
msgid ""
"The option arguments C<label> and C<uuid> allow you to set the label and/or "
"UUID of the new swap partition."
msgstr ""
"The option arguments C<label> and C<uuid> allow you to set the label and/or "
"UUID of the new swap partition."

#. type: =head2
#: ../fish/guestfish-actions.pod:6608
msgid "mkswap-L"
msgstr "mkswap-L"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6610
#, no-wrap
msgid ""
" mkswap-L label device\n"
"\n"
msgstr ""
" mkswap-L label device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6612 ../lib/guestfs-actions.pod:10709
msgid "Create a swap partition on C<device> with label C<label>."
msgstr "Create a swap partition on C<device> with label C<label>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6614 ../lib/guestfs-actions.pod:10711
msgid ""
"Note that you cannot attach a swap label to a block device (eg. F</dev/"
"sda>), just to a partition.  This appears to be a limitation of the kernel "
"or swap tools."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6618 ../fish/guestfish-actions.pod:6631
msgid ""
"I<This function is deprecated.> In new code, use the L</mkswap> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</mkswap> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:6625
msgid "mkswap-U"
msgstr "mkswap-U"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6627
#, no-wrap
msgid ""
" mkswap-U uuid device\n"
"\n"
msgstr ""
" mkswap-U uuid device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6629 ../lib/guestfs-actions.pod:10733
msgid "Create a swap partition on C<device> with UUID C<uuid>."
msgstr "Create a swap partition on C<device> with UUID C<uuid>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6641
msgid "mkswap-file"
msgstr "mkswap-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6643
#, no-wrap
msgid ""
" mkswap-file path\n"
"\n"
msgstr ""
" mkswap-file path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6645 ../lib/guestfs-actions.pod:10748
msgid "Create a swap file."
msgstr "Create a swap file."

#. type: textblock
#: ../fish/guestfish-actions.pod:6647
msgid ""
"This command just writes a swap file signature to an existing file.  To "
"create the file itself, use something like L</fallocate>."
msgstr ""
"This command just writes a swap file signature to an existing file.  To "
"create the file itself, use something like L</fallocate>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6650
msgid "mktemp"
msgstr "mktemp"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6652
#, no-wrap
msgid ""
" mktemp tmpl [suffix:..]\n"
"\n"
msgstr ""
" mktemp tmpl [suffix:..]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6654 ../lib/guestfs-actions.pod:10771
msgid ""
"This command creates a temporary file.  The C<tmpl> parameter should be a "
"full pathname for the temporary directory name with the final six characters "
"being \"XXXXXX\"."
msgstr ""
"This command creates a temporary file.  The C<tmpl> parameter should be a "
"full pathname for the temporary directory name with the final six characters "
"being \"XXXXXX\"."

#. type: textblock
#: ../fish/guestfish-actions.pod:6662 ../lib/guestfs-actions.pod:10779
msgid "The name of the temporary file that was created is returned."
msgstr "The name of the temporary file that was created is returned."

#. type: textblock
#: ../fish/guestfish-actions.pod:6665 ../lib/guestfs-actions.pod:10782
msgid "The temporary file is created with mode 0600 and is owned by root."
msgstr "The temporary file is created with mode 0600 and is owned by root."

#. type: textblock
#: ../fish/guestfish-actions.pod:6668 ../lib/guestfs-actions.pod:10785
msgid "The caller is responsible for deleting the temporary file after use."
msgstr "The caller is responsible for deleting the temporary file after use."

#. type: textblock
#: ../fish/guestfish-actions.pod:6671 ../lib/guestfs-actions.pod:10788
msgid ""
"If the optional C<suffix> parameter is given, then the suffix (eg. C<.txt>) "
"is appended to the temporary name."
msgstr ""
"If the optional C<suffix> parameter is given, then the suffix (eg. C<.txt>) "
"is appended to the temporary name."

#. type: textblock
#: ../fish/guestfish-actions.pod:6674
msgid "See also: L</mkdtemp>."
msgstr "See also: L</mkdtemp>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6678
msgid "modprobe"
msgstr "modprobe"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6680
#, no-wrap
msgid ""
" modprobe modulename\n"
"\n"
msgstr ""
" modprobe modulename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6682 ../lib/guestfs-actions.pod:10826
msgid "This loads a kernel module in the appliance."
msgstr "This loads a kernel module in the appliance."

#. type: textblock
#: ../fish/guestfish-actions.pod:6684
msgid ""
"This command depends on the feature C<linuxmodules>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6687
msgid "mount"
msgstr "mount"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6689
#, no-wrap
msgid ""
" mount mountable mountpoint\n"
"\n"
msgstr ""
" mount mountable mountpoint\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6691
msgid ""
"Mount a guest disk at a position in the filesystem.  Block devices are named "
"F</dev/sda>, F</dev/sdb> and so on, as they were added to the guest.  If "
"those block devices contain partitions, they will have the usual names (eg. "
"F</dev/sda1>).  Also LVM F</dev/VG/LV>-style names can be used, or "
"‘mountable’ strings returned by L</list-filesystems> or L</inspect-get-"
"mountpoints>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6698 ../lib/guestfs-actions.pod:10849
msgid ""
"The rules are the same as for L<mount(2)>: A filesystem must first be "
"mounted on F</> before others can be mounted.  Other filesystems can only be "
"mounted on directories which already exist."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6703 ../lib/guestfs-actions.pod:10854
msgid ""
"The mounted filesystem is writable, if we have sufficient permissions on the "
"underlying device."
msgstr ""
"The mounted filesystem is writable, if we have sufficient permissions on the "
"underlying device."

#. type: textblock
#: ../fish/guestfish-actions.pod:6706
msgid ""
"Before libguestfs 1.13.16, this call implicitly added the options C<sync> "
"and C<noatime>.  The C<sync> option greatly slowed writes and caused many "
"problems for users.  If your program might need to work with older versions "
"of libguestfs, use L</mount-options> instead (using an empty string for the "
"first parameter if you don't want any options)."
msgstr ""
"Before libguestfs 1.13.16, this call implicitly added the options C<sync> "
"and C<noatime>.  The C<sync> option greatly slowed writes and caused many "
"problems for users.  If your program might need to work with older versions "
"of libguestfs, use L</mount-options> instead (using an empty string for the "
"first parameter if you don't want any options)."

#. type: =head2
#: ../fish/guestfish-actions.pod:6713
msgid "mount-9p"
msgstr "mount-9p"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6715
#, no-wrap
msgid ""
" mount-9p mounttag mountpoint [options:..]\n"
"\n"
msgstr ""
" mount-9p mounttag mountpoint [options:..]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6717 ../lib/guestfs-actions.pod:10883
msgid ""
"Mount the virtio-9p filesystem with the tag C<mounttag> on the directory "
"C<mountpoint>."
msgstr ""
"Mount the virtio-9p filesystem with the tag C<mounttag> on the directory "
"C<mountpoint>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6720 ../lib/guestfs-actions.pod:10886
msgid ""
"If required, C<trans=virtio> will be automatically added to the options.  "
"Any other options required can be passed in the optional C<options> "
"parameter."
msgstr ""
"If required, C<trans=virtio> will be automatically added to the options.  "
"Any other options required can be passed in the optional C<options> "
"parameter."

#. type: =head2
#: ../fish/guestfish-actions.pod:6726
msgid "mount-local"
msgstr "mount-local"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6728
#, no-wrap
msgid ""
" mount-local localmountpoint [readonly:true|false] [options:..] [cachetimeout:N] [debugcalls:true|false]\n"
"\n"
msgstr ""
" mount-local localmountpoint [readonly:true|false] [options:..] [cachetimeout:N] [debugcalls:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6730 ../lib/guestfs-actions.pod:10935
msgid ""
"This call exports the libguestfs-accessible filesystem to a local mountpoint "
"(directory) called C<localmountpoint>.  Ordinary reads and writes to files "
"and directories under C<localmountpoint> are redirected through libguestfs."
msgstr ""
"This call exports the libguestfs-accessible filesystem to a local mountpoint "
"(directory) called C<localmountpoint>.  Ordinary reads and writes to files "
"and directories under C<localmountpoint> are redirected through libguestfs."

#. type: textblock
#: ../fish/guestfish-actions.pod:6735 ../lib/guestfs-actions.pod:10940
msgid ""
"If the optional C<readonly> flag is set to true, then writes to the "
"filesystem return error C<EROFS>."
msgstr ""
"If the optional C<readonly> flag is set to true, then writes to the "
"filesystem return error C<EROFS>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6738 ../lib/guestfs-actions.pod:10943
msgid ""
"C<options> is a comma-separated list of mount options.  See L<guestmount(1)> "
"for some useful options."
msgstr ""
"C<options> is a comma-separated list of mount options.  See L<guestmount(1)> "
"for some useful options."

#. type: textblock
#: ../fish/guestfish-actions.pod:6741 ../lib/guestfs-actions.pod:10946
msgid ""
"C<cachetimeout> sets the timeout (in seconds) for cached directory entries.  "
"The default is 60 seconds.  See L<guestmount(1)> for further information."
msgstr ""
"C<cachetimeout> sets the timeout (in seconds) for cached directory entries.  "
"The default is 60 seconds.  See L<guestmount(1)> for further information."

#. type: textblock
#: ../fish/guestfish-actions.pod:6745 ../lib/guestfs-actions.pod:10950
msgid ""
"If C<debugcalls> is set to true, then additional debugging information is "
"generated for every FUSE call."
msgstr ""
"If C<debugcalls> is set to true, then additional debugging information is "
"generated for every FUSE call."

#. type: textblock
#: ../fish/guestfish-actions.pod:6748
msgid ""
"When L</mount-local> returns, the filesystem is ready, but is not processing "
"requests (access to it will block).  You have to call L</mount-local-run> to "
"run the main loop."
msgstr ""
"When L</mount-local> returns, the filesystem is ready, but is not processing "
"requests (access to it will block).  You have to call L</mount-local-run> to "
"run the main loop."

#. type: textblock
#: ../fish/guestfish-actions.pod:6752 ../fish/guestfish-actions.pod:6775
#: ../fish/guestfish-actions.pod:9364 ../lib/guestfs-actions.pod:10957
#: ../lib/guestfs-actions.pod:11005 ../lib/guestfs-actions.pod:15122
msgid "See L<guestfs(3)/MOUNT LOCAL> for full documentation."
msgstr "See L<guestfs(3)/MOUNT LOCAL> for full documentation."

#. type: =head2
#: ../fish/guestfish-actions.pod:6756
msgid "mount-local-run"
msgstr "mount-local-run"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6758
#, no-wrap
msgid ""
" mount-local-run\n"
"\n"
msgstr ""
" mount-local-run\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6760 ../lib/guestfs-actions.pod:10990
msgid "Run the main loop which translates kernel calls to libguestfs calls."
msgstr "Run the main loop which translates kernel calls to libguestfs calls."

#. type: textblock
#: ../fish/guestfish-actions.pod:6763
msgid ""
"This should only be called after L</mount-local> returns successfully.  The "
"call will not return until the filesystem is unmounted."
msgstr ""
"This should only be called after L</mount-local> returns successfully.  The "
"call will not return until the filesystem is unmounted."

#. type: textblock
#: ../fish/guestfish-actions.pod:6767 ../lib/guestfs-actions.pod:10997
msgid ""
"B<Note> you must I<not> make concurrent libguestfs calls on the same handle "
"from another thread."
msgstr ""
"B<Note> you must I<not> make concurrent libguestfs calls on the same handle "
"from another thread."

#. type: textblock
#: ../fish/guestfish-actions.pod:6770
msgid ""
"You may call this from a different thread than the one which called L</mount-"
"local>, subject to the usual rules for threads and libguestfs (see "
"L<guestfs(3)/MULTIPLE HANDLES AND MULTIPLE THREADS>)."
msgstr ""
"You may call this from a different thread than the one which called L</mount-"
"local>, subject to the usual rules for threads and libguestfs (see "
"L<guestfs(3)/MULTIPLE HANDLES AND MULTIPLE THREADS>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:6777
msgid "mount-loop"
msgstr "mount-loop"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6779
#, no-wrap
msgid ""
" mount-loop file mountpoint\n"
"\n"
msgstr ""
" mount-loop file mountpoint\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6781 ../lib/guestfs-actions.pod:11018
msgid ""
"This command lets you mount F<file> (a filesystem image in a file) on a "
"mount point.  It is entirely equivalent to the command C<mount -o loop file "
"mountpoint>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6785
msgid "mount-options"
msgstr "mount-options"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6787
#, no-wrap
msgid ""
" mount-options options mountable mountpoint\n"
"\n"
msgstr ""
" mount-options options mountable mountpoint\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6789
msgid ""
"This is the same as the L</mount> command, but it allows you to set the "
"mount options as for the L<mount(8)> I<-o> flag."
msgstr ""
"This is the same as the L</mount> command, but it allows you to set the "
"mount options as for the L<mount(8)> I<-o> flag."

#. type: textblock
#: ../fish/guestfish-actions.pod:6793 ../lib/guestfs-actions.pod:11038
msgid ""
"If the C<options> parameter is an empty string, then no options are passed "
"(all options default to whatever the filesystem uses)."
msgstr ""
"If the C<options> parameter is an empty string, then no options are passed "
"(all options default to whatever the filesystem uses)."

#. type: =head2
#: ../fish/guestfish-actions.pod:6797
msgid "mount-ro"
msgstr "mount-ro"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6799
#, no-wrap
msgid ""
" mount-ro mountable mountpoint\n"
"\n"
msgstr ""
" mount-ro mountable mountpoint\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6801
msgid ""
"This is the same as the L</mount> command, but it mounts the filesystem with "
"the read-only (I<-o ro>) flag."
msgstr ""
"This is the same as the L</mount> command, but it mounts the filesystem with "
"the read-only (I<-o ro>) flag."

#. type: =head2
#: ../fish/guestfish-actions.pod:6804
msgid "mount-vfs"
msgstr "mount-vfs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6806
#, no-wrap
msgid ""
" mount-vfs options vfstype mountable mountpoint\n"
"\n"
msgstr ""
" mount-vfs options vfstype mountable mountpoint\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6808
msgid ""
"This is the same as the L</mount> command, but it allows you to set both the "
"mount options and the vfstype as for the L<mount(8)> I<-o> and I<-t> flags."
msgstr ""
"This is the same as the L</mount> command, but it allows you to set both the "
"mount options and the vfstype as for the L<mount(8)> I<-o> and I<-t> flags."

#. type: =head2
#: ../fish/guestfish-actions.pod:6812
msgid "mountable-device"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:6814
#, no-wrap
msgid ""
" mountable-device mountable\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6816 ../lib/guestfs-actions.pod:11083
msgid ""
"Returns the device name of a mountable. In quite a lot of cases, the "
"mountable is the device name."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6819
msgid ""
"However this doesn't apply for btrfs subvolumes, where the mountable is a "
"combination of both the device name and the subvolume path (see also L</"
"mountable-subvolume> to extract the subvolume path of the mountable if any)."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6824
msgid "mountable-subvolume"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:6826
#, no-wrap
msgid ""
" mountable-subvolume mountable\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6828
msgid ""
"Returns the subvolume path of a mountable. Btrfs subvolumes mountables are a "
"combination of both the device name and the subvolume path (see also L</"
"mountable-device> to extract the device of the mountable)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6833 ../lib/guestfs-actions.pod:11107
msgid ""
"If the mountable does not represent a btrfs subvolume, then this function "
"fails and the C<errno> is set to C<EINVAL>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6836
msgid "mountpoints"
msgstr "mountpoints"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6838
#, no-wrap
msgid ""
" mountpoints\n"
"\n"
msgstr ""
" mountpoints\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6840
msgid ""
"This call is similar to L</mounts>.  That call returns a list of devices.  "
"This one returns a hash table (map) of device name to directory where the "
"device is mounted."
msgstr ""
"This call is similar to L</mounts>.  That call returns a list of devices.  "
"This one returns a hash table (map) of device name to directory where the "
"device is mounted."

#. type: =head2
#: ../fish/guestfish-actions.pod:6844
msgid "mounts"
msgstr "mounts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6846
#, no-wrap
msgid ""
" mounts\n"
"\n"
msgstr ""
" mounts\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6848 ../lib/guestfs-actions.pod:11137
msgid ""
"This returns the list of currently mounted filesystems.  It returns the list "
"of devices (eg. F</dev/sda1>, F</dev/VG/LV>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6851 ../lib/guestfs-actions.pod:11140
msgid "Some internal mounts are not shown."
msgstr "Some internal mounts are not shown."

#. type: textblock
#: ../fish/guestfish-actions.pod:6853
msgid "See also: L</mountpoints>"
msgstr "See also: L</mountpoints>"

#. type: =head2
#: ../fish/guestfish-actions.pod:6855
msgid "mv"
msgstr "mv"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6857
#, no-wrap
msgid ""
" mv src dest\n"
"\n"
msgstr ""
" mv src dest\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6859 ../lib/guestfs-actions.pod:11157
msgid ""
"This moves a file from C<src> to C<dest> where C<dest> is either a "
"destination filename or destination directory."
msgstr ""
"This moves a file from C<src> to C<dest> where C<dest> is either a "
"destination filename or destination directory."

#. type: textblock
#: ../fish/guestfish-actions.pod:6862
msgid "See also: L</rename>."
msgstr "See also: L</rename>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6864
msgid "nr-devices"
msgstr "nr-devices"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6866
#, no-wrap
msgid ""
" nr-devices\n"
"\n"
msgstr ""
" nr-devices\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6868
msgid ""
"This returns the number of whole block devices that were added.  This is the "
"same as the number of devices that would be returned if you called L</list-"
"devices>."
msgstr ""
"This returns the number of whole block devices that were added.  This is the "
"same as the number of devices that would be returned if you called L</list-"
"devices>."

#. type: textblock
#: ../fish/guestfish-actions.pod:6872
msgid ""
"To find out the maximum number of devices that could be added, call L</max-"
"disks>."
msgstr ""
"To find out the maximum number of devices that could be added, call L</max-"
"disks>."

#. type: =head2
#: ../fish/guestfish-actions.pod:6875
msgid "ntfs-3g-probe"
msgstr "ntfs-3g-probe"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6877
#, no-wrap
msgid ""
" ntfs-3g-probe true|false device\n"
"\n"
msgstr ""
" ntfs-3g-probe true|false device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6879 ../lib/guestfs-actions.pod:11189
msgid ""
"This command runs the L<ntfs-3g.probe(8)> command which probes an NTFS "
"C<device> for mountability.  (Not all NTFS volumes can be mounted read-"
"write, and some cannot be mounted at all)."
msgstr ""
"This command runs the L<ntfs-3g.probe(8)> command which probes an NTFS "
"C<device> for mountability.  (Not all NTFS volumes can be mounted read-"
"write, and some cannot be mounted at all)."

#. type: textblock
#: ../fish/guestfish-actions.pod:6883 ../lib/guestfs-actions.pod:11193
msgid ""
"C<rw> is a boolean flag.  Set it to true if you want to test if the volume "
"can be mounted read-write.  Set it to false if you want to test if the "
"volume can be mounted read-only."
msgstr ""
"C<rw> is a boolean flag.  Set it to true if you want to test if the volume "
"can be mounted read-write.  Set it to false if you want to test if the "
"volume can be mounted read-only."

#. type: textblock
#: ../fish/guestfish-actions.pod:6887 ../lib/guestfs-actions.pod:11197
msgid ""
"The return value is an integer which C<0> if the operation would succeed, or "
"some non-zero value documented in the L<ntfs-3g.probe(8)> manual page."
msgstr ""
"The return value is an integer which C<0> if the operation would succeed, or "
"some non-zero value documented in the L<ntfs-3g.probe(8)> manual page."

#. type: textblock
#: ../fish/guestfish-actions.pod:6891 ../fish/guestfish-actions.pod:6919
#: ../fish/guestfish-actions.pod:6945 ../fish/guestfish-actions.pod:6964
msgid ""
"This command depends on the feature C<ntfs3g>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6894
msgid "ntfscat-i"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:6896
#, no-wrap
msgid ""
" ntfscat-i device inode (filename|-)\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6898 ../lib/guestfs-actions.pod:11216
msgid ""
"Download a file given its inode from a NTFS filesystem and save it as "
"F<filename> on the local machine."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6901 ../lib/guestfs-actions.pod:11219
msgid ""
"This allows to download some otherwise inaccessible files such as the ones "
"within the C<$Extend> folder."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:6904 ../lib/guestfs-actions.pod:11222
msgid ""
"The filesystem from which to extract the file must be unmounted, otherwise "
"the call will fail."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:6909
msgid "ntfsclone-in"
msgstr "ntfsclone-in"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6911
#, no-wrap
msgid ""
" ntfsclone-in (backupfile|-) device\n"
"\n"
msgstr ""
" ntfsclone-in (backupfile|-) device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6913
msgid ""
"Restore the C<backupfile> (from a previous call to L</ntfsclone-out>) to "
"C<device>, overwriting any existing contents of this device."
msgstr ""
"Restore the C<backupfile> (from a previous call to L</ntfsclone-out>) to "
"C<device>, overwriting any existing contents of this device."

#. type: =head2
#: ../fish/guestfish-actions.pod:6922
msgid "ntfsclone-out"
msgstr "ntfsclone-out"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6924
#, no-wrap
msgid ""
" ntfsclone-out device (backupfile|-) [metadataonly:true|false] [rescue:true|false] [ignorefscheck:true|false] [preservetimestamps:true|false] [force:true|false]\n"
"\n"
msgstr ""
" ntfsclone-out device (backupfile|-) [metadataonly:true|false] [rescue:true|false] [ignorefscheck:true|false] [preservetimestamps:true|false] [force:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6926 ../lib/guestfs-actions.pod:11271
msgid ""
"Stream the NTFS filesystem C<device> to the local file C<backupfile>.  The "
"format used for the backup file is a special format used by the "
"L<ntfsclone(8)> tool."
msgstr ""
"Stream the NTFS filesystem C<device> to the local file C<backupfile>.  The "
"format used for the backup file is a special format used by the "
"L<ntfsclone(8)> tool."

#. type: textblock
#: ../fish/guestfish-actions.pod:6930 ../lib/guestfs-actions.pod:11275
msgid ""
"If the optional C<metadataonly> flag is true, then I<only> the metadata is "
"saved, losing all the user data (this is useful for diagnosing some "
"filesystem problems)."
msgstr ""
"If the optional C<metadataonly> flag is true, then I<only> the metadata is "
"saved, losing all the user data (this is useful for diagnosing some "
"filesystem problems)."

#. type: textblock
#: ../fish/guestfish-actions.pod:6934 ../lib/guestfs-actions.pod:11279
msgid ""
"The optional C<rescue>, C<ignorefscheck>, C<preservetimestamps> and C<force> "
"flags have precise meanings detailed in the L<ntfsclone(8)> man page."
msgstr ""
"The optional C<rescue>, C<ignorefscheck>, C<preservetimestamps> and C<force> "
"flags have precise meanings detailed in the L<ntfsclone(8)> man page."

#. type: textblock
#: ../fish/guestfish-actions.pod:6938
msgid "Use L</ntfsclone-in> to restore the file back to a libguestfs device."
msgstr "Use L</ntfsclone-in> to restore the file back to a libguestfs device."

#. type: =head2
#: ../fish/guestfish-actions.pod:6948
msgid "ntfsfix"
msgstr "ntfsfix"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6950
#, no-wrap
msgid ""
" ntfsfix device [clearbadsectors:true|false]\n"
"\n"
msgstr ""
" ntfsfix device [clearbadsectors:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6952 ../lib/guestfs-actions.pod:11331
msgid ""
"This command repairs some fundamental NTFS inconsistencies, resets the NTFS "
"journal file, and schedules an NTFS consistency check for the first boot "
"into Windows."
msgstr ""
"This command repairs some fundamental NTFS inconsistencies, resets the NTFS "
"journal file, and schedules an NTFS consistency check for the first boot "
"into Windows."

#. type: textblock
#: ../fish/guestfish-actions.pod:6956 ../lib/guestfs-actions.pod:11335
msgid ""
"This is I<not> an equivalent of Windows C<chkdsk>.  It does I<not> scan the "
"filesystem for inconsistencies."
msgstr ""
"This is I<not> an equivalent of Windows C<chkdsk>.  It does I<not> scan the "
"filesystem for inconsistencies."

#. type: textblock
#: ../fish/guestfish-actions.pod:6959 ../lib/guestfs-actions.pod:11338
msgid ""
"The optional C<clearbadsectors> flag clears the list of bad sectors.  This "
"is useful after cloning a disk with bad sectors to a new disk."
msgstr ""
"The optional C<clearbadsectors> flag clears the list of bad sectors.  This "
"is useful after cloning a disk with bad sectors to a new disk."

#. type: =head2
#: ../fish/guestfish-actions.pod:6967
msgid "ntfsresize"
msgstr "ntfsresize"

#. type: =head2
#: ../fish/guestfish-actions.pod:6969
msgid "ntfsresize-opts"
msgstr "ntfsresize-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:6971
#, no-wrap
msgid ""
" ntfsresize device [size:N] [force:true|false]\n"
"\n"
msgstr ""
" ntfsresize device [size:N] [force:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:6973 ../lib/guestfs-actions.pod:11398
msgid ""
"This command resizes an NTFS filesystem, expanding or shrinking it to the "
"size of the underlying device."
msgstr ""
"This command resizes an NTFS filesystem, expanding or shrinking it to the "
"size of the underlying device."

#. type: textblock
#: ../fish/guestfish-actions.pod:6982 ../lib/guestfs-actions.pod:11407
msgid ""
"The new size (in bytes) of the filesystem.  If omitted, the filesystem is "
"resized to fit the container (eg. partition)."
msgstr ""
"The new size (in bytes) of the filesystem.  If omitted, the filesystem is "
"resized to fit the container (eg. partition)."

#. type: =item
#: ../fish/guestfish-actions.pod:6985 ../fish/guestfish-actions.pod:9194
#: ../lib/guestfs-actions.pod:11410 ../lib/guestfs-actions.pod:14846
msgid "C<force>"
msgstr "C<force>"

#. type: textblock
#: ../fish/guestfish-actions.pod:6987 ../lib/guestfs-actions.pod:11412
msgid ""
"If this option is true, then force the resize of the filesystem even if the "
"filesystem is marked as requiring a consistency check."
msgstr ""
"If this option is true, then force the resize of the filesystem even if the "
"filesystem is marked as requiring a consistency check."

#. type: textblock
#: ../fish/guestfish-actions.pod:6990
msgid ""
"After the resize operation, the filesystem is always marked as requiring a "
"consistency check (for safety).  You have to boot into Windows to perform "
"this check and clear this condition.  If you I<don't> set the C<force> "
"option then it is not possible to call L</ntfsresize> multiple times on a "
"single filesystem without booting into Windows between each resize."
msgstr ""
"After the resize operation, the filesystem is always marked as requiring a "
"consistency check (for safety).  You have to boot into Windows to perform "
"this check and clear this condition.  If you I<don't> set the C<force> "
"option then it is not possible to call L</ntfsresize> multiple times on a "
"single filesystem without booting into Windows between each resize."

#. type: textblock
#: ../fish/guestfish-actions.pod:6999 ../lib/guestfs-actions.pod:11424
msgid "See also L<ntfsresize(8)>."
msgstr "See also L<ntfsresize(8)>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7003 ../fish/guestfish-actions.pod:7020
msgid ""
"This command depends on the feature C<ntfsprogs>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7006
msgid "ntfsresize-size"
msgstr "ntfsresize-size"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7008
#, no-wrap
msgid ""
" ntfsresize-size device size\n"
"\n"
msgstr ""
" ntfsresize-size device size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7010
msgid ""
"This command is the same as L</ntfsresize> except that it allows you to "
"specify the new size (in bytes) explicitly."
msgstr ""
"This command is the same as L</ntfsresize> except that it allows you to "
"specify the new size (in bytes) explicitly."

#. type: textblock
#: ../fish/guestfish-actions.pod:7013
msgid ""
"I<This function is deprecated.> In new code, use the L</ntfsresize> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</ntfsresize> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:7023
msgid "parse-environment"
msgstr "parse-environment"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7025
#, no-wrap
msgid ""
" parse-environment\n"
"\n"
msgstr ""
" parse-environment\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7027 ../lib/guestfs-actions.pod:11484
msgid ""
"Parse the program’s environment and set flags in the handle accordingly.  "
"For example if C<LIBGUESTFS_DEBUG=1> then the ‘verbose’ flag is set in the "
"handle."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7031
msgid ""
"I<Most programs do not need to call this>.  It is done implicitly when you "
"call L</create>."
msgstr ""
"I<Most programs do not need to call this>.  It is done implicitly when you "
"call L</create>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7034
msgid ""
"See L<guestfs(3)/ENVIRONMENT VARIABLES> for a list of environment variables "
"that can affect libguestfs handles.  See also L<guestfs(3)/"
"guestfs_create_flags>, and L</parse-environment-list>."
msgstr ""
"See L<guestfs(3)/ENVIRONMENT VARIABLES> for a list of environment variables "
"that can affect libguestfs handles.  See also L<guestfs(3)/"
"guestfs_create_flags>, and L</parse-environment-list>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7039
msgid "parse-environment-list"
msgstr "parse-environment-list"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7041
#, no-wrap
msgid ""
" parse-environment-list 'environment ...'\n"
"\n"
msgstr ""
" parse-environment-list 'environment ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7043 ../lib/guestfs-actions.pod:11506
msgid ""
"Parse the list of strings in the argument C<environment> and set flags in "
"the handle accordingly.  For example if C<LIBGUESTFS_DEBUG=1> is a string in "
"the list, then the ‘verbose’ flag is set in the handle."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7048
msgid ""
"This is the same as L</parse-environment> except that it parses an explicit "
"list of strings instead of the program's environment."
msgstr ""
"This is the same as L</parse-environment> except that it parses an explicit "
"list of strings instead of the program's environment."

#. type: =head2
#: ../fish/guestfish-actions.pod:7052
msgid "part-add"
msgstr "part-add"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7054
#, no-wrap
msgid ""
" part-add device prlogex startsect endsect\n"
"\n"
msgstr ""
" part-add device prlogex startsect endsect\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7056
msgid ""
"This command adds a partition to C<device>.  If there is no partition table "
"on the device, call L</part-init> first."
msgstr ""
"This command adds a partition to C<device>.  If there is no partition table "
"on the device, call L</part-init> first."

#. type: textblock
#: ../fish/guestfish-actions.pod:7059 ../lib/guestfs-actions.pod:11531
msgid ""
"The C<prlogex> parameter is the type of partition.  Normally you should pass "
"C<p> or C<primary> here, but MBR partition tables also support C<l> (or "
"C<logical>) and C<e> (or C<extended>) partition types."
msgstr ""
"The C<prlogex> parameter is the type of partition.  Normally you should pass "
"C<p> or C<primary> here, but MBR partition tables also support C<l> (or "
"C<logical>) and C<e> (or C<extended>) partition types."

#. type: textblock
#: ../fish/guestfish-actions.pod:7064 ../lib/guestfs-actions.pod:11536
msgid ""
"C<startsect> and C<endsect> are the start and end of the partition in "
"I<sectors>.  C<endsect> may be negative, which means it counts backwards "
"from the end of the disk (C<-1> is the last sector)."
msgstr ""
"C<startsect> and C<endsect> are the start and end of the partition in "
"I<sectors>.  C<endsect> may be negative, which means it counts backwards "
"from the end of the disk (C<-1> is the last sector)."

#. type: textblock
#: ../fish/guestfish-actions.pod:7068
msgid ""
"Creating a partition which covers the whole disk is not so easy.  Use L</"
"part-disk> to do that."
msgstr ""
"Creating a partition which covers the whole disk is not so easy.  Use L</"
"part-disk> to do that."

#. type: =head2
#: ../fish/guestfish-actions.pod:7071
msgid "part-del"
msgstr "part-del"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7073
#, no-wrap
msgid ""
" part-del device partnum\n"
"\n"
msgstr ""
" part-del device partnum\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7075 ../lib/guestfs-actions.pod:11554
msgid "This command deletes the partition numbered C<partnum> on C<device>."
msgstr "This command deletes the partition numbered C<partnum> on C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7077 ../lib/guestfs-actions.pod:11556
msgid ""
"Note that in the case of MBR partitioning, deleting an extended partition "
"also deletes any logical partitions it contains."
msgstr ""
"Note that in the case of MBR partitioning, deleting an extended partition "
"also deletes any logical partitions it contains."

#. type: =head2
#: ../fish/guestfish-actions.pod:7081
msgid "part-disk"
msgstr "part-disk"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7083
#, no-wrap
msgid ""
" part-disk device parttype\n"
"\n"
msgstr ""
" part-disk device parttype\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7085
msgid ""
"This command is simply a combination of L</part-init> followed by L</part-"
"add> to create a single primary partition covering the whole disk."
msgstr ""
"This command is simply a combination of L</part-init> followed by L</part-"
"add> to create a single primary partition covering the whole disk."

#. type: textblock
#: ../fish/guestfish-actions.pod:7089
msgid ""
"C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other "
"possible values are described in L</part-init>."
msgstr ""
"C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other "
"possible values are described in L</part-init>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7092
msgid "part-expand-gpt"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7094
#, no-wrap
msgid ""
" part-expand-gpt device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7096 ../lib/guestfs-actions.pod:11588
msgid ""
"Move backup GPT data structures to the end of the disk.  This is useful in "
"case of in-place image expand since disk space after backup GPT header is "
"not usable.  This is equivalent to C<sgdisk -e>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7101 ../lib/guestfs-actions.pod:11593
msgid "See also L<sgdisk(8)>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7103 ../fish/guestfish-actions.pod:7122
#: ../fish/guestfish-actions.pod:7132 ../fish/guestfish-actions.pod:7141
#: ../fish/guestfish-actions.pod:7152 ../fish/guestfish-actions.pod:7338
#: ../fish/guestfish-actions.pod:7349 ../fish/guestfish-actions.pod:7362
#: ../fish/guestfish-actions.pod:7373 ../fish/guestfish-actions.pod:7387
msgid ""
"This command depends on the feature C<gdisk>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7106
msgid "part-get-bootable"
msgstr "part-get-bootable"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7108
#, no-wrap
msgid ""
" part-get-bootable device partnum\n"
"\n"
msgstr ""
" part-get-bootable device partnum\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7110 ../lib/guestfs-actions.pod:11609
msgid ""
"This command returns true if the partition C<partnum> on C<device> has the "
"bootable flag set."
msgstr ""
"This command returns true if the partition C<partnum> on C<device> has the "
"bootable flag set."

#. type: textblock
#: ../fish/guestfish-actions.pod:7113
msgid "See also L</part-set-bootable>."
msgstr "See also L</part-set-bootable>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7115
msgid "part-get-disk-guid"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7117
#, no-wrap
msgid ""
" part-get-disk-guid device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7119 ../lib/guestfs-actions.pod:11624
msgid ""
"Return the disk identifier (GUID) of a GPT-partitioned C<device>.  Behaviour "
"is undefined for other partition types."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7125
msgid "part-get-gpt-attributes"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7127
#, no-wrap
msgid ""
" part-get-gpt-attributes device partnum\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7129 ../lib/guestfs-actions.pod:11642
msgid ""
"Return the attribute flags of numbered GPT partition C<partnum>.  An error "
"is returned for MBR partitions."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7135
msgid "part-get-gpt-guid"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7137
#, no-wrap
msgid ""
" part-get-gpt-guid device partnum\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7139 ../lib/guestfs-actions.pod:11659
msgid "Return the GUID of numbered GPT partition C<partnum>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7144
msgid "part-get-gpt-type"
msgstr "part-get-gpt-type"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7146
#, no-wrap
msgid ""
" part-get-gpt-type device partnum\n"
"\n"
msgstr ""
" part-get-gpt-type device partnum\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7148 ../lib/guestfs-actions.pod:11676
msgid ""
"Return the type GUID of numbered GPT partition C<partnum>. For MBR "
"partitions, return an appropriate GUID corresponding to the MBR type. "
"Behaviour is undefined for other partition types."
msgstr ""
"Return the type GUID of numbered GPT partition C<partnum>. For MBR "
"partitions, return an appropriate GUID corresponding to the MBR type. "
"Behaviour is undefined for other partition types."

#. type: =head2
#: ../fish/guestfish-actions.pod:7155
msgid "part-get-mbr-id"
msgstr "part-get-mbr-id"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7157
#, no-wrap
msgid ""
" part-get-mbr-id device partnum\n"
"\n"
msgstr ""
" part-get-mbr-id device partnum\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7159 ../lib/guestfs-actions.pod:11695
msgid ""
"Returns the MBR type byte (also known as the ID byte) from the numbered "
"partition C<partnum>."
msgstr ""
"Returns the MBR type byte (also known as the ID byte) from the numbered "
"partition C<partnum>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7162 ../fish/guestfish-actions.pod:7400
msgid ""
"Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
"undefined results for other partition table types (see L</part-get-"
"parttype>)."
msgstr ""
"Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
"undefined results for other partition table types (see L</part-get-"
"parttype>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:7166
msgid "part-get-mbr-part-type"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7168
#, no-wrap
msgid ""
" part-get-mbr-part-type device partnum\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7170 ../lib/guestfs-actions.pod:11713
msgid ""
"This returns the partition type of an MBR partition numbered C<partnum> on "
"device C<device>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7173 ../lib/guestfs-actions.pod:11716
msgid "It returns C<primary>, C<logical>, or C<extended>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7175
msgid "part-get-name"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7177
#, no-wrap
msgid ""
" part-get-name device partnum\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7179 ../lib/guestfs-actions.pod:11730
msgid ""
"This gets the partition name on partition numbered C<partnum> on device "
"C<device>.  Note that partitions are numbered from 1."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7182 ../lib/guestfs-actions.pod:11733
msgid ""
"The partition name can only be read on certain types of partition table.  "
"This works on C<gpt> but not on C<mbr> partitions."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7185
msgid "part-get-parttype"
msgstr "part-get-parttype"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7187
#, no-wrap
msgid ""
" part-get-parttype device\n"
"\n"
msgstr ""
" part-get-parttype device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7189 ../lib/guestfs-actions.pod:11747
msgid ""
"This command examines the partition table on C<device> and returns the "
"partition table type (format) being used."
msgstr ""
"This command examines the partition table on C<device> and returns the "
"partition table type (format) being used."

#. type: textblock
#: ../fish/guestfish-actions.pod:7192
msgid ""
"Common return values include: C<msdos> (a DOS/Windows style MBR partition "
"table), C<gpt> (a GPT/EFI-style partition table).  Other values are "
"possible, although unusual.  See L</part-init> for a full list."
msgstr ""
"Common return values include: C<msdos> (a DOS/Windows style MBR partition "
"table), C<gpt> (a GPT/EFI-style partition table).  Other values are "
"possible, although unusual.  See L</part-init> for a full list."

#. type: =head2
#: ../fish/guestfish-actions.pod:7197
msgid "part-init"
msgstr "part-init"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7199
#, no-wrap
msgid ""
" part-init device parttype\n"
"\n"
msgstr ""
" part-init device parttype\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7201 ../lib/guestfs-actions.pod:11767
msgid ""
"This creates an empty partition table on C<device> of one of the partition "
"types listed below.  Usually C<parttype> should be either C<msdos> or C<gpt> "
"(for large disks)."
msgstr ""
"This creates an empty partition table on C<device> of one of the partition "
"types listed below.  Usually C<parttype> should be either C<msdos> or C<gpt> "
"(for large disks)."

#. type: textblock
#: ../fish/guestfish-actions.pod:7205
msgid ""
"Initially there are no partitions.  Following this, you should call L</part-"
"add> for each partition required."
msgstr ""
"Initially there are no partitions.  Following this, you should call L</part-"
"add> for each partition required."

#. type: textblock
#: ../fish/guestfish-actions.pod:7208 ../lib/guestfs-actions.pod:11774
msgid "Possible values for C<parttype> are:"
msgstr "Possible values for C<parttype> are:"

#. type: =item
#: ../fish/guestfish-actions.pod:7212 ../lib/guestfs-actions.pod:11778
#, fuzzy
#| msgid "B<efi>"
msgid "C<efi>"
msgstr "B<efi>"

#. type: =item
#: ../fish/guestfish-actions.pod:7214 ../lib/guestfs-actions.pod:11780
#, fuzzy
#| msgid "B<gpt>"
msgid "C<gpt>"
msgstr "B<gpt>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7216 ../lib/guestfs-actions.pod:11782
msgid "Intel EFI / GPT partition table."
msgstr "Intel EFI / GPT partition table."

#. type: textblock
#: ../fish/guestfish-actions.pod:7218 ../lib/guestfs-actions.pod:11784
msgid ""
"This is recommended for >= 2 TB partitions that will be accessed from Linux "
"and Intel-based Mac OS X.  It also has limited backwards compatibility with "
"the C<mbr> format."
msgstr ""
"This is recommended for >= 2 TB partitions that will be accessed from Linux "
"and Intel-based Mac OS X.  It also has limited backwards compatibility with "
"the C<mbr> format."

#. type: =item
#: ../fish/guestfish-actions.pod:7222 ../lib/guestfs-actions.pod:11788
#, fuzzy
#| msgid "B<mbr>"
msgid "C<mbr>"
msgstr "B<mbr>"

#. type: =item
#: ../fish/guestfish-actions.pod:7224 ../lib/guestfs-actions.pod:11790
#, fuzzy
#| msgid "B<msdos>"
msgid "C<msdos>"
msgstr "B<msdos>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7226 ../lib/guestfs-actions.pod:11792
msgid ""
"The standard PC \"Master Boot Record\" (MBR) format used by MS-DOS and "
"Windows.  This partition type will B<only> work for device sizes up to 2 "
"TB.  For large disks we recommend using C<gpt>."
msgstr ""
"The standard PC \"Master Boot Record\" (MBR) format used by MS-DOS and "
"Windows.  This partition type will B<only> work for device sizes up to 2 "
"TB.  For large disks we recommend using C<gpt>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7233 ../lib/guestfs-actions.pod:11799
msgid ""
"Other partition table types that may work but are not supported include:"
msgstr ""
"Other partition table types that may work but are not supported include:"

#. type: =item
#: ../fish/guestfish-actions.pod:7238 ../lib/guestfs-actions.pod:11804
#, fuzzy
#| msgid "B<aix>"
msgid "C<aix>"
msgstr "B<aix>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7240 ../lib/guestfs-actions.pod:11806
msgid "AIX disk labels."
msgstr "AIX disk labels."

#. type: =item
#: ../fish/guestfish-actions.pod:7242 ../lib/guestfs-actions.pod:11808
#, fuzzy
#| msgid "B<amiga>"
msgid "C<amiga>"
msgstr "B<amiga>"

#. type: =item
#: ../fish/guestfish-actions.pod:7244 ../lib/guestfs-actions.pod:11810
#, fuzzy
#| msgid "B<rdb>"
msgid "C<rdb>"
msgstr "B<rdb>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7246 ../lib/guestfs-actions.pod:11812
msgid "Amiga \"Rigid Disk Block\" format."
msgstr "Amiga \"Rigid Disk Block\" format."

#. type: =item
#: ../fish/guestfish-actions.pod:7248 ../lib/guestfs-actions.pod:11814
#, fuzzy
#| msgid "B<bsd>"
msgid "C<bsd>"
msgstr "B<bsd>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7250 ../lib/guestfs-actions.pod:11816
msgid "BSD disk labels."
msgstr "BSD disk labels."

#. type: =item
#: ../fish/guestfish-actions.pod:7252 ../lib/guestfs-actions.pod:11818
#, fuzzy
#| msgid "B<dasd>"
msgid "C<dasd>"
msgstr "B<dasd>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7254 ../lib/guestfs-actions.pod:11820
msgid "DASD, used on IBM mainframes."
msgstr "DASD, used on IBM mainframes."

#. type: =item
#: ../fish/guestfish-actions.pod:7256 ../lib/guestfs-actions.pod:11822
#, fuzzy
#| msgid "B<dvh>"
msgid "C<dvh>"
msgstr "B<dvh>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7258 ../lib/guestfs-actions.pod:11824
msgid "MIPS/SGI volumes."
msgstr "MIPS/SGI volumes."

#. type: =item
#: ../fish/guestfish-actions.pod:7260 ../lib/guestfs-actions.pod:11826
#, fuzzy
#| msgid "B<mac>"
msgid "C<mac>"
msgstr "B<mac>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7262 ../lib/guestfs-actions.pod:11828
msgid "Old Mac partition format.  Modern Macs use C<gpt>."
msgstr "Old Mac partition format.  Modern Macs use C<gpt>."

#. type: =item
#: ../fish/guestfish-actions.pod:7264 ../lib/guestfs-actions.pod:11830
#, fuzzy
#| msgid "B<pc98>"
msgid "C<pc98>"
msgstr "B<pc98>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7266 ../lib/guestfs-actions.pod:11832
msgid "NEC PC-98 format, common in Japan apparently."
msgstr "NEC PC-98 format, common in Japan apparently."

#. type: =item
#: ../fish/guestfish-actions.pod:7268 ../lib/guestfs-actions.pod:11834
#, fuzzy
#| msgid "B<sun>"
msgid "C<sun>"
msgstr "B<sun>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7270 ../lib/guestfs-actions.pod:11836
msgid "Sun disk labels."
msgstr "Sun disk labels."

#. type: =head2
#: ../fish/guestfish-actions.pod:7274
msgid "part-list"
msgstr "part-list"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7276
#, no-wrap
msgid ""
" part-list device\n"
"\n"
msgstr ""
" part-list device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7278 ../lib/guestfs-actions.pod:11850
msgid ""
"This command parses the partition table on C<device> and returns the list of "
"partitions found."
msgstr ""
"This command parses the partition table on C<device> and returns the list of "
"partitions found."

#. type: textblock
#: ../fish/guestfish-actions.pod:7281 ../lib/guestfs-actions.pod:11853
msgid "The fields in the returned structure are:"
msgstr "The fields in the returned structure are:"

#. type: =item
#: ../fish/guestfish-actions.pod:7285 ../lib/guestfs-actions.pod:11857
#, fuzzy
#| msgid "B<part_num>"
msgid "C<part_num>"
msgstr "B<part_num>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7287 ../lib/guestfs-actions.pod:11859
msgid "Partition number, counting from 1."
msgstr "Partition number, counting from 1."

#. type: =item
#: ../fish/guestfish-actions.pod:7289 ../lib/guestfs-actions.pod:11861
#, fuzzy
#| msgid "B<part_start>"
msgid "C<part_start>"
msgstr "B<part_start>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7291
msgid ""
"Start of the partition I<in bytes>.  To get sectors you have to divide by "
"the device’s sector size, see L</blockdev-getss>."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:7294 ../lib/guestfs-actions.pod:11866
#, fuzzy
#| msgid "B<part_end>"
msgid "C<part_end>"
msgstr "B<part_end>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7296 ../lib/guestfs-actions.pod:11868
msgid "End of the partition in bytes."
msgstr "End of the partition in bytes."

#. type: =item
#: ../fish/guestfish-actions.pod:7298 ../lib/guestfs-actions.pod:11870
#, fuzzy
#| msgid "B<part_size>"
msgid "C<part_size>"
msgstr "B<part_size>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7300 ../lib/guestfs-actions.pod:11872
msgid "Size of the partition in bytes."
msgstr "Size of the partition in bytes."

#. type: =head2
#: ../fish/guestfish-actions.pod:7304
msgid "part-resize"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7306
#, no-wrap
msgid ""
" part-resize device partnum endsect\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7308 ../lib/guestfs-actions.pod:11890
msgid ""
"This command resizes the partition numbered C<partnum> on C<device> by "
"moving the end position."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7311
msgid ""
"Note that this does not modify any filesystem present in the partition.  If "
"you wish to do this, you will need to use filesystem resizing commands like "
"L</resize2fs>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7315 ../lib/guestfs-actions.pod:11897
msgid ""
"When growing a partition you will want to grow the filesystem afterwards, "
"but when shrinking, you need to shrink the filesystem before the partition."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7319
msgid "part-set-bootable"
msgstr "part-set-bootable"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7321
#, no-wrap
msgid ""
" part-set-bootable device partnum true|false\n"
"\n"
msgstr ""
" part-set-bootable device partnum true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7323 ../lib/guestfs-actions.pod:11913
msgid ""
"This sets the bootable flag on partition numbered C<partnum> on device "
"C<device>.  Note that partitions are numbered from 1."
msgstr ""
"This sets the bootable flag on partition numbered C<partnum> on device "
"C<device>.  Note that partitions are numbered from 1."

#. type: textblock
#: ../fish/guestfish-actions.pod:7326 ../lib/guestfs-actions.pod:11916
msgid ""
"The bootable flag is used by some operating systems (notably Windows) to "
"determine which partition to boot from.  It is by no means universally "
"recognized."
msgstr ""
"The bootable flag is used by some operating systems (notably Windows) to "
"determine which partition to boot from.  It is by no means universally "
"recognised."

#. type: =head2
#: ../fish/guestfish-actions.pod:7330
msgid "part-set-disk-guid"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7332
#, no-wrap
msgid ""
" part-set-disk-guid device guid\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7334 ../lib/guestfs-actions.pod:11931
msgid ""
"Set the disk identifier (GUID) of a GPT-partitioned C<device> to C<guid>.  "
"Return an error if the partition table of C<device> isn't GPT, or if C<guid> "
"is not a valid GUID."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7341
msgid "part-set-disk-guid-random"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7343
#, no-wrap
msgid ""
" part-set-disk-guid-random device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7345 ../lib/guestfs-actions.pod:11948
msgid ""
"Set the disk identifier (GUID) of a GPT-partitioned C<device> to a randomly "
"generated value.  Return an error if the partition table of C<device> isn't "
"GPT."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7352
msgid "part-set-gpt-attributes"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7354
#, no-wrap
msgid ""
" part-set-gpt-attributes device partnum attributes\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7356 ../lib/guestfs-actions.pod:11967
msgid ""
"Set the attribute flags of numbered GPT partition C<partnum> to "
"C<attributes>. Return an error if the partition table of C<device> isn't GPT."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7359 ../lib/guestfs-actions.pod:11970
msgid ""
"See L<https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_entries> "
"for a useful list of partition attributes."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7365
msgid "part-set-gpt-guid"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7367
#, no-wrap
msgid ""
" part-set-gpt-guid device partnum guid\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7369 ../lib/guestfs-actions.pod:11988
msgid ""
"Set the GUID of numbered GPT partition C<partnum> to C<guid>.  Return an "
"error if the partition table of C<device> isn't GPT, or if C<guid> is not a "
"valid GUID."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7376
msgid "part-set-gpt-type"
msgstr "part-set-gpt-type"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7378
#, no-wrap
msgid ""
" part-set-gpt-type device partnum guid\n"
"\n"
msgstr ""
" part-set-gpt-type device partnum guid\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7380 ../lib/guestfs-actions.pod:12007
msgid ""
"Set the type GUID of numbered GPT partition C<partnum> to C<guid>. Return an "
"error if the partition table of C<device> isn't GPT, or if C<guid> is not a "
"valid GUID."
msgstr ""
"Set the type GUID of numbered GPT partition C<partnum> to C<guid>. Return an "
"error if the partition table of C<device> isn't GPT, or if C<guid> is not a "
"valid GUID."

#. type: textblock
#: ../fish/guestfish-actions.pod:7384 ../lib/guestfs-actions.pod:12011
#, fuzzy
#| msgid ""
#| "See L<http://en.wikipedia.org/wiki/"
#| "GUID_Partition_Table#Partition_type_GUIDs> for a useful list of type "
#| "GUIDs."
msgid ""
"See L<https://en.wikipedia.org/wiki/"
"GUID_Partition_Table#Partition_type_GUIDs> for a useful list of type GUIDs."
msgstr ""
"See L<http://en.wikipedia.org/wiki/"
"GUID_Partition_Table#Partition_type_GUIDs> for a useful list of type GUIDs."

#. type: =head2
#: ../fish/guestfish-actions.pod:7390
msgid "part-set-mbr-id"
msgstr "part-set-mbr-id"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7392
#, no-wrap
msgid ""
" part-set-mbr-id device partnum idbyte\n"
"\n"
msgstr ""
" part-set-mbr-id device partnum idbyte\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7394 ../lib/guestfs-actions.pod:12029
msgid ""
"Sets the MBR type byte (also known as the ID byte) of the numbered partition "
"C<partnum> to C<idbyte>.  Note that the type bytes quoted in most "
"documentation are in fact hexadecimal numbers, but usually documented "
"without any leading \"0x\" which might be confusing."
msgstr ""
"Sets the MBR type byte (also known as the ID byte) of the numbered partition "
"C<partnum> to C<idbyte>.  Note that the type bytes quoted in most "
"documentation are in fact hexadecimal numbers, but usually documented "
"without any leading \"0x\" which might be confusing."

#. type: =head2
#: ../fish/guestfish-actions.pod:7404
msgid "part-set-name"
msgstr "part-set-name"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7406
#, no-wrap
msgid ""
" part-set-name device partnum name\n"
"\n"
msgstr ""
" part-set-name device partnum name\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7408 ../lib/guestfs-actions.pod:12051
msgid ""
"This sets the partition name on partition numbered C<partnum> on device "
"C<device>.  Note that partitions are numbered from 1."
msgstr ""
"This sets the partition name on partition numbered C<partnum> on device "
"C<device>.  Note that partitions are numbered from 1."

#. type: textblock
#: ../fish/guestfish-actions.pod:7411 ../lib/guestfs-actions.pod:12054
msgid ""
"The partition name can only be set on certain types of partition table.  "
"This works on C<gpt> but not on C<mbr> partitions."
msgstr ""
"The partition name can only be set on certain types of partition table.  "
"This works on C<gpt> but not on C<mbr> partitions."

#. type: =head2
#: ../fish/guestfish-actions.pod:7414
msgid "part-to-dev"
msgstr "part-to-dev"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7416
#, no-wrap
msgid ""
" part-to-dev partition\n"
"\n"
msgstr ""
" part-to-dev partition\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7418 ../lib/guestfs-actions.pod:12067
msgid ""
"This function takes a partition name (eg. \"/dev/sdb1\") and removes the "
"partition number, returning the device name (eg. \"/dev/sdb\")."
msgstr ""
"This function takes a partition name (eg. \"/dev/sdb1\") and removes the "
"partition number, returning the device name (eg. \"/dev/sdb\")."

#. type: textblock
#: ../fish/guestfish-actions.pod:7422 ../fish/guestfish-actions.pod:7434
msgid ""
"The named partition must exist, for example as a string returned from L</"
"list-partitions>."
msgstr ""
"The named partition must exist, for example as a string returned from L</"
"list-partitions>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7425
msgid "See also L</part-to-partnum>, L</device-index>."
msgstr "See also L</part-to-partnum>, L</device-index>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7427
msgid "part-to-partnum"
msgstr "part-to-partnum"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7429
#, no-wrap
msgid ""
" part-to-partnum partition\n"
"\n"
msgstr ""
" part-to-partnum partition\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7431 ../lib/guestfs-actions.pod:12087
msgid ""
"This function takes a partition name (eg. \"/dev/sdb1\") and returns the "
"partition number (eg. C<1>)."
msgstr ""
"This function takes a partition name (eg. \"/dev/sdb1\") and returns the "
"partition number (eg. C<1>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:7437
msgid "See also L</part-to-dev>."
msgstr "See also L</part-to-dev>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7439
msgid "ping-daemon"
msgstr "ping-daemon"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7441
#, no-wrap
msgid ""
" ping-daemon\n"
"\n"
msgstr ""
" ping-daemon\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7443 ../lib/guestfs-actions.pod:12104
msgid ""
"This is a test probe into the guestfs daemon running inside the libguestfs "
"appliance.  Calling this function checks that the daemon responds to the "
"ping message, without affecting the daemon or attached block device(s) in "
"any other way."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7448
msgid "pread"
msgstr "pread"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7450
#, no-wrap
msgid ""
" pread path count offset\n"
"\n"
msgstr ""
" pread path count offset\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7452 ../lib/guestfs-actions.pod:12122
msgid ""
"This command lets you read part of a file.  It reads C<count> bytes of the "
"file, starting at C<offset>, from file C<path>."
msgstr ""
"This command lets you read part of a file.  It reads C<count> bytes of the "
"file, starting at C<offset>, from file C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7455 ../fish/guestfish-actions.pod:7470
#: ../lib/guestfs-actions.pod:12125 ../lib/guestfs-actions.pod:12151
msgid ""
"This may read fewer bytes than requested.  For further details see the "
"L<pread(2)> system call."
msgstr ""
"This may read fewer bytes than requested.  For further details see the "
"L<pread(2)> system call."

#. type: textblock
#: ../fish/guestfish-actions.pod:7458
msgid "See also L</pwrite>, L</pread-device>."
msgstr "See also L</pwrite>, L</pread-device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7463
msgid "pread-device"
msgstr "pread-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7465
#, no-wrap
msgid ""
" pread-device device count offset\n"
"\n"
msgstr ""
" pread-device device count offset\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7467 ../lib/guestfs-actions.pod:12148
msgid ""
"This command lets you read part of a block device.  It reads C<count> bytes "
"of C<device>, starting at C<offset>."
msgstr ""
"This command lets you read part of a block device.  It reads C<count> bytes "
"of C<device>, starting at C<offset>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7473
msgid "See also L</pread>."
msgstr "See also L</pread>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7478
msgid "pvchange-uuid"
msgstr "pvchange-uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7480
#, no-wrap
msgid ""
" pvchange-uuid device\n"
"\n"
msgstr ""
" pvchange-uuid device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7482 ../lib/guestfs-actions.pod:12171
msgid "Generate a new random UUID for the physical volume C<device>."
msgstr "Generate a new random UUID for the physical volume C<device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7487
msgid "pvchange-uuid-all"
msgstr "pvchange-uuid-all"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7489
#, no-wrap
msgid ""
" pvchange-uuid-all\n"
"\n"
msgstr ""
" pvchange-uuid-all\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7491 ../lib/guestfs-actions.pod:12185
msgid "Generate new random UUIDs for all physical volumes."
msgstr "Generate new random UUIDs for all physical volumes."

#. type: =head2
#: ../fish/guestfish-actions.pod:7496
msgid "pvcreate"
msgstr "pvcreate"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7498
#, no-wrap
msgid ""
" pvcreate device\n"
"\n"
msgstr ""
" pvcreate device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7500 ../lib/guestfs-actions.pod:12200
msgid ""
"This creates an LVM physical volume on the named C<device>, where C<device> "
"should usually be a partition name such as F</dev/sda1>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7507
msgid "pvremove"
msgstr "pvremove"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7509
#, no-wrap
msgid ""
" pvremove device\n"
"\n"
msgstr ""
" pvremove device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7511 ../lib/guestfs-actions.pod:12217
msgid ""
"This wipes a physical volume C<device> so that LVM will no longer recognise "
"it."
msgstr ""
"This wipes a physical volume C<device> so that LVM will no longer recognise "
"it."

#. type: textblock
#: ../fish/guestfish-actions.pod:7514 ../lib/guestfs-actions.pod:12220
#, fuzzy
#| msgid ""
#| "The implementation uses the C<pvremove> command which refuses to wipe "
#| "physical volumes that contain any volume groups, so you have to remove "
#| "those first."
msgid ""
"The implementation uses the L<pvremove(8)> command which refuses to wipe "
"physical volumes that contain any volume groups, so you have to remove those "
"first."
msgstr ""
"The implementation uses the C<pvremove> command which refuses to wipe "
"physical volumes that contain any volume groups, so you have to remove those "
"first."

#. type: =head2
#: ../fish/guestfish-actions.pod:7521
msgid "pvresize"
msgstr "pvresize"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7523
#, no-wrap
msgid ""
" pvresize device\n"
"\n"
msgstr ""
" pvresize device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7525 ../lib/guestfs-actions.pod:12237
msgid ""
"This resizes (expands or shrinks) an existing LVM physical volume to match "
"the new size of the underlying device."
msgstr ""
"This resizes (expands or shrinks) an existing LVM physical volume to match "
"the new size of the underlying device."

#. type: =head2
#: ../fish/guestfish-actions.pod:7531
msgid "pvresize-size"
msgstr "pvresize-size"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7533
#, no-wrap
msgid ""
" pvresize-size device size\n"
"\n"
msgstr ""
" pvresize-size device size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7535
msgid ""
"This command is the same as L</pvresize> except that it allows you to "
"specify the new size (in bytes) explicitly."
msgstr ""
"This command is the same as L</pvresize> except that it allows you to "
"specify the new size (in bytes) explicitly."

#. type: =head2
#: ../fish/guestfish-actions.pod:7541
msgid "pvs"
msgstr "pvs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7543
#, no-wrap
msgid ""
" pvs\n"
"\n"
msgstr ""
" pvs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7545 ../lib/guestfs-actions.pod:12269
msgid ""
"List all the physical volumes detected.  This is the equivalent of the "
"L<pvs(8)> command."
msgstr ""
"List all the physical volumes detected.  This is the equivalent of the "
"L<pvs(8)> command."

#. type: textblock
#: ../fish/guestfish-actions.pod:7548 ../lib/guestfs-actions.pod:12272
msgid ""
"This returns a list of just the device names that contain PVs (eg. F</dev/"
"sda2>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7551
msgid "See also L</pvs-full>."
msgstr "See also L</pvs-full>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7556
msgid "pvs-full"
msgstr "pvs-full"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7558
#, no-wrap
msgid ""
" pvs-full\n"
"\n"
msgstr ""
" pvs-full\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7560 ../lib/guestfs-actions.pod:12291
msgid ""
"List all the physical volumes detected.  This is the equivalent of the "
"L<pvs(8)> command.  The \"full\" version includes all fields."
msgstr ""
"List all the physical volumes detected.  This is the equivalent of the "
"L<pvs(8)> command.  The \"full\" version includes all fields."

#. type: =head2
#: ../fish/guestfish-actions.pod:7566
msgid "pvuuid"
msgstr "pvuuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7568
#, no-wrap
msgid ""
" pvuuid device\n"
"\n"
msgstr ""
" pvuuid device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7570 ../lib/guestfs-actions.pod:12309
msgid "This command returns the UUID of the LVM PV C<device>."
msgstr "This command returns the UUID of the LVM PV C<device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7572
msgid "pwrite"
msgstr "pwrite"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7574
#, no-wrap
msgid ""
" pwrite path content offset\n"
"\n"
msgstr ""
" pwrite path content offset\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7576 ../lib/guestfs-actions.pod:12325
msgid ""
"This command writes to part of a file.  It writes the data buffer C<content> "
"to the file C<path> starting at offset C<offset>."
msgstr ""
"This command writes to part of a file.  It writes the data buffer C<content> "
"to the file C<path> starting at offset C<offset>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7579 ../lib/guestfs-actions.pod:12328
msgid ""
"This command implements the L<pwrite(2)> system call, and like that system "
"call it may not write the full data requested.  The return value is the "
"number of bytes that were actually written to the file.  This could even be "
"0, although short writes are unlikely for regular files in ordinary "
"circumstances."
msgstr ""
"This command implements the L<pwrite(2)> system call, and like that system "
"call it may not write the full data requested.  The return value is the "
"number of bytes that were actually written to the file.  This could even be "
"0, although short writes are unlikely for regular files in ordinary "
"circumstances."

#. type: textblock
#: ../fish/guestfish-actions.pod:7585
msgid "See also L</pread>, L</pwrite-device>."
msgstr "See also L</pread>, L</pwrite-device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7590
msgid "pwrite-device"
msgstr "pwrite-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7592
#, no-wrap
msgid ""
" pwrite-device device content offset\n"
"\n"
msgstr ""
" pwrite-device device content offset\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7594 ../lib/guestfs-actions.pod:12352
msgid ""
"This command writes to part of a device.  It writes the data buffer "
"C<content> to C<device> starting at offset C<offset>."
msgstr ""
"This command writes to part of a device.  It writes the data buffer "
"C<content> to C<device> starting at offset C<offset>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7597 ../lib/guestfs-actions.pod:12355
msgid ""
"This command implements the L<pwrite(2)> system call, and like that system "
"call it may not write the full data requested (although short writes to disk "
"devices and partitions are probably impossible with standard Linux kernels)."
msgstr ""
"This command implements the L<pwrite(2)> system call, and like that system "
"call it may not write the full data requested (although short writes to disk "
"devices and partitions are probably impossible with standard Linux kernels)."

#. type: textblock
#: ../fish/guestfish-actions.pod:7602
msgid "See also L</pwrite>."
msgstr "See also L</pwrite>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7607
msgid "read-file"
msgstr "read-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7609
#, no-wrap
msgid ""
" read-file path\n"
"\n"
msgstr ""
" read-file path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7611 ../lib/guestfs-actions.pod:12376
msgid "This calls returns the contents of the file C<path> as a buffer."
msgstr "This calls returns the contents of the file C<path> as a buffer."

#. type: textblock
#: ../fish/guestfish-actions.pod:7614
msgid ""
"Unlike L</cat>, this function can correctly handle files that contain "
"embedded ASCII NUL characters."
msgstr ""
"Unlike L</cat>, this function can correctly handle files that contain "
"embedded ASCII NUL characters."

#. type: =head2
#: ../fish/guestfish-actions.pod:7617
msgid "read-lines"
msgstr "read-lines"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7619
#, no-wrap
msgid ""
" read-lines path\n"
"\n"
msgstr ""
" read-lines path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7623 ../lib/guestfs-actions.pod:12396
msgid ""
"The file contents are returned as a list of lines.  Trailing C<LF> and "
"C<CRLF> character sequences are I<not> returned."
msgstr ""
"The file contents are returned as a list of lines.  Trailing C<LF> and "
"C<CRLF> character sequences are I<not> returned."

#. type: textblock
#: ../fish/guestfish-actions.pod:7626
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 L</read-file> function and split the buffer into "
"lines yourself."
msgstr ""
"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 L</read-file> function and split the buffer into "
"lines yourself."

#. type: =head2
#: ../fish/guestfish-actions.pod:7631
msgid "readdir"
msgstr "readdir"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7633
#, no-wrap
msgid ""
" readdir dir\n"
"\n"
msgstr ""
" readdir dir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7635 ../lib/guestfs-actions.pod:12416
msgid "This returns the list of directory entries in directory C<dir>."
msgstr "This returns the list of directory entries in directory C<dir>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7637 ../lib/guestfs-actions.pod:12418
msgid ""
"All entries in the directory are returned, including C<.> and C<..>.  The "
"entries are I<not> sorted, but returned in the same order as the underlying "
"filesystem."
msgstr ""
"All entries in the directory are returned, including C<.> and C<..>.  The "
"entries are I<not> sorted, but returned in the same order as the underlying "
"filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:7641 ../lib/guestfs-actions.pod:12422
msgid ""
"Also this call returns basic file type information about each file.  The "
"C<ftyp> field will contain one of the following characters:"
msgstr ""
"Also this call returns basic file type information about each file.  The "
"C<ftyp> field will contain one of the following characters:"

#. type: =item
#: ../fish/guestfish-actions.pod:7678 ../lib/guestfs-actions.pod:12459
msgid "'?'"
msgstr "'?'"

#. type: textblock
#: ../fish/guestfish-actions.pod:7680 ../lib/guestfs-actions.pod:12461
msgid ""
"The L<readdir(3)> call returned a C<d_type> field with an unexpected value"
msgstr ""
"The L<readdir(3)> call returned a C<d_type> field with an unexpected value"

#. type: textblock
#: ../fish/guestfish-actions.pod:7685
msgid ""
"This function is primarily intended for use by programs.  To get a simple "
"list of names, use L</ls>.  To get a printable directory for human "
"consumption, use L</ll>."
msgstr ""
"This function is primarily intended for use by programs.  To get a simple "
"list of names, use L</ls>.  To get a printable directory for human "
"consumption, use L</ll>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7692
msgid "readlink"
msgstr "readlink"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7694
#, no-wrap
msgid ""
" readlink path\n"
"\n"
msgstr ""
" readlink path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7696 ../lib/guestfs-actions.pod:12485
msgid "This command reads the target of a symbolic link."
msgstr "This command reads the target of a symbolic link."

#. type: =head2
#: ../fish/guestfish-actions.pod:7698
msgid "readlinklist"
msgstr "readlinklist"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7700
#, no-wrap
msgid ""
" readlinklist path 'names ...'\n"
"\n"
msgstr ""
" readlinklist path 'names ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7702 ../lib/guestfs-actions.pod:12499
msgid ""
"This call allows you to do a C<readlink> operation on multiple files, where "
"all files are in the directory C<path>.  C<names> is the list of files from "
"this directory."
msgstr ""
"This call allows you to do a C<readlink> operation on multiple files, where "
"all files are in the directory C<path>.  C<names> is the list of files from "
"this directory."

#. type: textblock
#: ../fish/guestfish-actions.pod:7706 ../lib/guestfs-actions.pod:12503
msgid ""
"On return you get a list of strings, with a one-to-one correspondence to the "
"C<names> list.  Each string is the value of the symbolic link."
msgstr ""
"On return you get a list of strings, with a one-to-one correspondence to the "
"C<names> list.  Each string is the value of the symbolic link."

#. type: textblock
#: ../fish/guestfish-actions.pod:7710 ../lib/guestfs-actions.pod:12507
msgid ""
"If the L<readlink(2)> operation fails on any name, then the corresponding "
"result string is the empty string C<\"\">.  However the whole operation is "
"completed even if there were L<readlink(2)> errors, and so you can call this "
"function with names where you don't know if they are symbolic links already "
"(albeit slightly less efficient)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7717 ../lib/guestfs-actions.pod:12514
msgid ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips."
msgstr ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips."

#. type: =head2
#: ../fish/guestfish-actions.pod:7720
msgid "realpath"
msgstr "realpath"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7722
#, no-wrap
msgid ""
" realpath path\n"
"\n"
msgstr ""
" realpath path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7724 ../lib/guestfs-actions.pod:12529
msgid ""
"Return the canonicalized absolute pathname of C<path>.  The returned path "
"has no C<.>, C<..> or symbolic link path elements."
msgstr ""
"Return the canonicalised absolute pathname of C<path>.  The returned path "
"has no C<.>, C<..> or symbolic link path elements."

#. type: =head2
#: ../fish/guestfish-actions.pod:7727
msgid "remount"
msgstr "remount"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7729
#, no-wrap
msgid ""
" remount mountpoint [rw:true|false]\n"
"\n"
msgstr ""
" remount mountpoint [rw:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7731 ../lib/guestfs-actions.pod:12551
msgid ""
"This call allows you to change the C<rw> (readonly/read-write)  flag on an "
"already mounted filesystem at C<mountpoint>, converting a readonly "
"filesystem to be read-write, or vice-versa."
msgstr ""
"This call allows you to change the C<rw> (readonly/read-write)  flag on an "
"already mounted filesystem at C<mountpoint>, converting a readonly "
"filesystem to be read-write, or vice-versa."

#. type: textblock
#: ../fish/guestfish-actions.pod:7735 ../lib/guestfs-actions.pod:12555
msgid ""
"Note that at the moment you must supply the \"optional\" C<rw> parameter.  "
"In future we may allow other flags to be adjusted."
msgstr ""
"Note that at the moment you must supply the \"optional\" C<rw> parameter.  "
"In future we may allow other flags to be adjusted."

#. type: =head2
#: ../fish/guestfish-actions.pod:7740
msgid "remove-drive"
msgstr "remove-drive"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7742
#, no-wrap
msgid ""
" remove-drive label\n"
"\n"
msgstr ""
" remove-drive label\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7744
msgid ""
"This function is conceptually the opposite of L</add-drive-opts>.  It "
"removes the drive that was previously added with label C<label>."
msgstr ""
"This function is conceptually the opposite of L</add-drive-opts>.  It "
"removes the drive that was previously added with label C<label>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7747
msgid ""
"Note that in order to remove drives, you have to add them with labels (see "
"the optional C<label> argument to L</add-drive-opts>).  If you didn't use a "
"label, then they cannot be removed."
msgstr ""
"Note that in order to remove drives, you have to add them with labels (see "
"the optional C<label> argument to L</add-drive-opts>).  If you didn't use a "
"label, then they cannot be removed."

#. type: textblock
#: ../fish/guestfish-actions.pod:7751 ../lib/guestfs-actions.pod:12597
msgid ""
"You can call this function before or after launching the handle.  If called "
"after launch, if the backend supports it, we try to hot unplug the drive: "
"see L<guestfs(3)/HOTPLUGGING>.  The disk B<must not> be in use (eg. mounted) "
"when you do this.  We try to detect if the disk is in use and stop you from "
"doing this."
msgstr ""
"You can call this function before or after launching the handle.  If called "
"after launch, if the backend supports it, we try to hot unplug the drive: "
"see L<guestfs(3)/HOTPLUGGING>.  The disk B<must not> be in use (eg. mounted) "
"when you do this.  We try to detect if the disk is in use and stop you from "
"doing this."

#. type: =head2
#: ../fish/guestfish-actions.pod:7757
msgid "removexattr"
msgstr "removexattr"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7759
#, no-wrap
msgid ""
" removexattr xattr path\n"
"\n"
msgstr ""
" removexattr xattr path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7761 ../lib/guestfs-actions.pod:12614
msgid ""
"This call removes the extended attribute named C<xattr> of the file C<path>."
msgstr ""
"This call removes the extended attribute named C<xattr> of the file C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7764
msgid "See also: L</lremovexattr>, L<attr(5)>."
msgstr "See also: L</lremovexattr>, L<attr(5)>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7769
msgid "rename"
msgstr "rename"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7771
#, no-wrap
msgid ""
" rename oldpath newpath\n"
"\n"
msgstr ""
" rename oldpath newpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7773
msgid ""
"Rename a file to a new place on the same filesystem.  This is the same as "
"the Linux L<rename(2)> system call.  In most cases you are better to use L</"
"mv> instead."
msgstr ""
"Rename a file to a new place on the same filesystem.  This is the same as "
"the Linux L<rename(2)> system call.  In most cases you are better to use L</"
"mv> instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:7777
msgid "resize2fs"
msgstr "resize2fs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7779
#, no-wrap
msgid ""
" resize2fs device\n"
"\n"
msgstr ""
" resize2fs device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7781 ../lib/guestfs-actions.pod:12647
msgid ""
"This resizes an ext2, ext3 or ext4 filesystem to match the size of the "
"underlying device."
msgstr ""
"This resizes an ext2, ext3 or ext4 filesystem to match the size of the "
"underlying device."

#. type: textblock
#: ../fish/guestfish-actions.pod:7784 ../fish/guestfish-actions.pod:7799
#: ../fish/guestfish-actions.pod:7808 ../lib/guestfs-actions.pod:12650
#: ../lib/guestfs-actions.pod:12671 ../lib/guestfs-actions.pod:12687
msgid "See also L<guestfs(3)/RESIZE2FS ERRORS>."
msgstr "See also L<guestfs(3)/RESIZE2FS ERRORS>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7786
msgid "resize2fs-M"
msgstr "resize2fs-M"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7788
#, no-wrap
msgid ""
" resize2fs-M device\n"
"\n"
msgstr ""
" resize2fs-M device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7790
#, fuzzy
#| msgid ""
#| "This command is the same as L</resize2fs>, but the filesystem is resized "
#| "to its minimum size.  This works like the I<-M> option to the "
#| "C<resize2fs> command."
msgid ""
"This command is the same as L</resize2fs>, but the filesystem is resized to "
"its minimum size.  This works like the I<-M> option to the L<resize2fs(8)> "
"command."
msgstr ""
"This command is the same as L</resize2fs>, but the filesystem is resized to "
"its minimum size.  This works like the I<-M> option to the C<resize2fs> "
"command."

#. type: textblock
#: ../fish/guestfish-actions.pod:7794
msgid ""
"To get the resulting size of the filesystem you should call L</tune2fs-l> "
"and read the C<Block size> and C<Block count> values.  These two numbers, "
"multiplied together, give the resulting size of the minimal filesystem in "
"bytes."
msgstr ""
"To get the resulting size of the filesystem you should call L</tune2fs-l> "
"and read the C<Block size> and C<Block count> values.  These two numbers, "
"multiplied together, give the resulting size of the minimal filesystem in "
"bytes."

#. type: =head2
#: ../fish/guestfish-actions.pod:7801
msgid "resize2fs-size"
msgstr "resize2fs-size"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7803
#, no-wrap
msgid ""
" resize2fs-size device size\n"
"\n"
msgstr ""
" resize2fs-size device size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7805
msgid ""
"This command is the same as L</resize2fs> except that it allows you to "
"specify the new size (in bytes) explicitly."
msgstr ""
"This command is the same as L</resize2fs> except that it allows you to "
"specify the new size (in bytes) explicitly."

#. type: =head2
#: ../fish/guestfish-actions.pod:7810
msgid "rm"
msgstr "rm"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7812
#, no-wrap
msgid ""
" rm path\n"
"\n"
msgstr ""
" rm path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7814 ../lib/guestfs-actions.pod:12699
msgid "Remove the single file C<path>."
msgstr "Remove the single file C<path>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7816
msgid "rm-f"
msgstr "rm-f"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7818
#, no-wrap
msgid ""
" rm-f path\n"
"\n"
msgstr ""
" rm-f path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7820 ../lib/guestfs-actions.pod:12711
msgid "Remove the file C<path>."
msgstr "Remove the file C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7822 ../lib/guestfs-actions.pod:12713
msgid ""
"If the file doesn't exist, that error is ignored.  (Other errors, eg. I/O "
"errors or bad paths, are not ignored)"
msgstr ""
"If the file doesn't exist, that error is ignored.  (Other errors, eg. I/O "
"errors or bad paths, are not ignored)"

#. type: textblock
#: ../fish/guestfish-actions.pod:7825
msgid ""
"This call cannot remove directories.  Use L</rmdir> to remove an empty "
"directory, or L</rm-rf> to remove directories recursively."
msgstr ""
"This call cannot remove directories.  Use L</rmdir> to remove an empty "
"directory, or L</rm-rf> to remove directories recursively."

#. type: =head2
#: ../fish/guestfish-actions.pod:7829
msgid "rm-rf"
msgstr "rm-rf"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7831
#, no-wrap
msgid ""
" rm-rf path\n"
"\n"
msgstr ""
" rm-rf path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7833 ../lib/guestfs-actions.pod:12730
msgid ""
"Remove the file or directory C<path>, recursively removing the contents if "
"its a directory.  This is like the C<rm -rf> shell command."
msgstr ""
"Remove the file or directory C<path>, recursively removing the contents if "
"its a directory.  This is like the C<rm -rf> shell command."

#. type: =head2
#: ../fish/guestfish-actions.pod:7837
msgid "rmdir"
msgstr "rmdir"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7839
#, no-wrap
msgid ""
" rmdir path\n"
"\n"
msgstr ""
" rmdir path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7841 ../lib/guestfs-actions.pod:12744
msgid "Remove the single directory C<path>."
msgstr "Remove the single directory C<path>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7843
msgid "rmmountpoint"
msgstr "rmmountpoint"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7845
#, no-wrap
msgid ""
" rmmountpoint exemptpath\n"
"\n"
msgstr ""
" rmmountpoint exemptpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7847
msgid ""
"This call removes a mountpoint that was previously created with L</"
"mkmountpoint>.  See L</mkmountpoint> for full details."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7851
msgid "rsync"
msgstr "rsync"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7853
#, no-wrap
msgid ""
" rsync src dest [archive:true|false] [deletedest:true|false]\n"
"\n"
msgstr ""
" rsync src dest [archive:true|false] [deletedest:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7855 ../lib/guestfs-actions.pod:12780
msgid ""
"This call may be used to copy or synchronize two directories under the same "
"libguestfs handle.  This uses the L<rsync(1)> program which uses a fast "
"algorithm that avoids copying files unnecessarily."
msgstr ""
"This call may be used to copy or synchronise two directories under the same "
"libguestfs handle.  This uses the L<rsync(1)> program which uses a fast "
"algorithm that avoids copying files unnecessarily."

#. type: textblock
#: ../fish/guestfish-actions.pod:7860 ../lib/guestfs-actions.pod:12785
msgid ""
"C<src> and C<dest> are the source and destination directories.  Files are "
"copied from C<src> to C<dest>."
msgstr ""
"C<src> and C<dest> are the source and destination directories.  Files are "
"copied from C<src> to C<dest>."

#. type: =item
#: ../fish/guestfish-actions.pod:7867 ../lib/guestfs-actions.pod:12792
msgid "C<archive>"
msgstr "C<archive>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7869 ../lib/guestfs-actions.pod:12794
msgid ""
"Turns on archive mode.  This is the same as passing the I<--archive> flag to "
"C<rsync>."
msgstr ""
"Turns on archive mode.  This is the same as passing the I<--archive> flag to "
"C<rsync>."

#. type: =item
#: ../fish/guestfish-actions.pod:7872 ../lib/guestfs-actions.pod:12797
msgid "C<deletedest>"
msgstr "C<deletedest>"

#. type: textblock
#: ../fish/guestfish-actions.pod:7874 ../lib/guestfs-actions.pod:12799
msgid "Delete files at the destination that do not exist at the source."
msgstr "Delete files at the destination that do not exist at the source."

#. type: textblock
#: ../fish/guestfish-actions.pod:7880 ../fish/guestfish-actions.pod:7907
#: ../fish/guestfish-actions.pod:7941
msgid ""
"This command depends on the feature C<rsync>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7883
msgid "rsync-in"
msgstr "rsync-in"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7885
#, no-wrap
msgid ""
" rsync-in remote dest [archive:true|false] [deletedest:true|false]\n"
"\n"
msgstr ""
" rsync-in remote dest [archive:true|false] [deletedest:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7887 ../lib/guestfs-actions.pod:12850
msgid ""
"This call may be used to copy or synchronize the filesystem on the host or "
"on a remote computer with the filesystem within libguestfs.  This uses the "
"L<rsync(1)> program which uses a fast algorithm that avoids copying files "
"unnecessarily."
msgstr ""
"This call may be used to copy or synchronise the filesystem on the host or "
"on a remote computer with the filesystem within libguestfs.  This uses the "
"L<rsync(1)> program which uses a fast algorithm that avoids copying files "
"unnecessarily."

#. type: textblock
#: ../fish/guestfish-actions.pod:7892 ../fish/guestfish-actions.pod:7919
msgid ""
"This call only works if the network is enabled.  See L</set-network> or the "
"I<--network> option to various tools like L<guestfish(1)>."
msgstr ""
"This call only works if the network is enabled.  See L</set-network> or the "
"I<--network> option to various tools like L<guestfish(1)>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7896 ../lib/guestfs-actions.pod:12859
msgid ""
"Files are copied from the remote server and directory specified by C<remote> "
"to the destination directory C<dest>."
msgstr ""
"Files are copied from the remote server and directory specified by C<remote> "
"to the destination directory C<dest>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7899 ../fish/guestfish-actions.pod:7926
#: ../lib/guestfs-actions.pod:12862 ../lib/guestfs-actions.pod:12927
msgid ""
"The format of the remote server string is defined by L<rsync(1)>.  Note that "
"there is no way to supply a password or passphrase so the target must be set "
"up not to require one."
msgstr ""
"The format of the remote server string is defined by L<rsync(1)>.  Note that "
"there is no way to supply a password or passphrase so the target must be set "
"up not to require one."

#. type: textblock
#: ../fish/guestfish-actions.pod:7903 ../fish/guestfish-actions.pod:7930
msgid "The optional arguments are the same as those of L</rsync>."
msgstr "The optional arguments are the same as those of L</rsync>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7910
msgid "rsync-out"
msgstr "rsync-out"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7912
#, no-wrap
msgid ""
" rsync-out src remote [archive:true|false] [deletedest:true|false]\n"
"\n"
msgstr ""
" rsync-out src remote [archive:true|false] [deletedest:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7914 ../lib/guestfs-actions.pod:12915
msgid ""
"This call may be used to copy or synchronize the filesystem within "
"libguestfs with a filesystem on the host or on a remote computer.  This uses "
"the L<rsync(1)> program which uses a fast algorithm that avoids copying "
"files unnecessarily."
msgstr ""
"This call may be used to copy or synchronise the filesystem within "
"libguestfs with a filesystem on the host or on a remote computer.  This uses "
"the L<rsync(1)> program which uses a fast algorithm that avoids copying "
"files unnecessarily."

#. type: textblock
#: ../fish/guestfish-actions.pod:7923 ../lib/guestfs-actions.pod:12924
msgid ""
"Files are copied from the source directory C<src> to the remote server and "
"directory specified by C<remote>."
msgstr ""
"Files are copied from the source directory C<src> to the remote server and "
"directory specified by C<remote>."

#. type: textblock
#: ../fish/guestfish-actions.pod:7932
msgid ""
"Globbing does not happen on the C<src> parameter.  In programs which use the "
"API directly you have to expand wildcards yourself (see L</glob-expand>).  "
"In guestfish you can use the C<glob> command (see L<guestfish(1)/glob>), for "
"example:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7937 ../lib/guestfs-actions.pod:12938
#, no-wrap
msgid ""
" ><fs> glob rsync-out /* rsync://remote/\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7944
msgid "scrub-device"
msgstr "scrub-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7946
#, no-wrap
msgid ""
" scrub-device device\n"
"\n"
msgstr ""
" scrub-device device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7948 ../lib/guestfs-actions.pod:12977
msgid ""
"This command writes patterns over C<device> to make data retrieval more "
"difficult."
msgstr ""
"This command writes patterns over C<device> to make data retrieval more "
"difficult."

#. type: textblock
#: ../fish/guestfish-actions.pod:7951 ../fish/guestfish-actions.pod:7966
#: ../fish/guestfish-actions.pod:7982 ../lib/guestfs-actions.pod:12980
#: ../lib/guestfs-actions.pod:13001 ../lib/guestfs-actions.pod:13023
msgid ""
"It is an interface to the L<scrub(1)> program.  See that manual page for "
"more details."
msgstr ""
"It is an interface to the L<scrub(1)> program.  See that manual page for "
"more details."

#. type: textblock
#: ../fish/guestfish-actions.pod:7954 ../fish/guestfish-actions.pod:7969
#: ../fish/guestfish-actions.pod:7985
msgid ""
"This command depends on the feature C<scrub>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:7957
msgid "scrub-file"
msgstr "scrub-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7959
#, no-wrap
msgid ""
" scrub-file file\n"
"\n"
msgstr ""
" scrub-file file\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7961 ../lib/guestfs-actions.pod:12996
msgid ""
"This command writes patterns over a file to make data retrieval more "
"difficult."
msgstr ""
"This command writes patterns over a file to make data retrieval more "
"difficult."

#. type: textblock
#: ../fish/guestfish-actions.pod:7964 ../lib/guestfs-actions.pod:12999
msgid "The file is I<removed> after scrubbing."
msgstr "The file is I<removed> after scrubbing."

#. type: =head2
#: ../fish/guestfish-actions.pod:7972
msgid "scrub-freespace"
msgstr "scrub-freespace"

#. type: verbatim
#: ../fish/guestfish-actions.pod:7974
#, no-wrap
msgid ""
" scrub-freespace dir\n"
"\n"
msgstr ""
" scrub-freespace dir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:7976
msgid ""
"This command creates the directory C<dir> and then fills it with files until "
"the filesystem is full, and scrubs the files as for L</scrub-file>, and "
"deletes them.  The intention is to scrub any free space on the partition "
"containing C<dir>."
msgstr ""
"This command creates the directory C<dir> and then fills it with files until "
"the filesystem is full, and scrubs the files as for L</scrub-file>, and "
"deletes them.  The intention is to scrub any free space on the partition "
"containing C<dir>."

#. type: =head2
#: ../fish/guestfish-actions.pod:7988
msgid "selinux-relabel"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:7990
#, no-wrap
msgid ""
" selinux-relabel specfile path [force:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7992 ../lib/guestfs-actions.pod:13048
msgid "SELinux relabel parts of the filesystem."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7994 ../lib/guestfs-actions.pod:13050
msgid ""
"The C<specfile> parameter controls the policy spec file used.  You have to "
"parse C</etc/selinux/config> to find the correct SELinux policy and then "
"pass the spec file, usually: C</etc/selinux/> + I<selinuxtype> + C</contexts/"
"files/file_contexts>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:7999 ../lib/guestfs-actions.pod:13055
msgid ""
"The required C<path> parameter is the top level directory where relabelling "
"starts.  Normally you should pass C<path> as C</> to relabel the whole guest "
"filesystem."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8003 ../lib/guestfs-actions.pod:13059
msgid ""
"The optional C<force> boolean controls whether the context is reset for "
"customizable files, and also whether the user, role and range parts of the "
"file context is changed."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8009
msgid ""
"This command depends on the feature C<selinuxrelabel>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8012
msgid "set-append"
msgstr "set-append"

#. type: =head2
#: ../fish/guestfish-actions.pod:8014
msgid "append"
msgstr "append"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8016
#, no-wrap
msgid ""
" set-append append\n"
"\n"
msgstr ""
" set-append append\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8018 ../lib/guestfs-actions.pod:13100
msgid ""
"This function is used to add additional options to the libguestfs appliance "
"kernel command line."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8021 ../lib/guestfs-actions.pod:13103
msgid ""
"The default is C<NULL> unless overridden by setting C<LIBGUESTFS_APPEND> "
"environment variable."
msgstr ""
"The default is C<NULL> unless overridden by setting C<LIBGUESTFS_APPEND> "
"environment variable."

#. type: textblock
#: ../fish/guestfish-actions.pod:8024 ../lib/guestfs-actions.pod:13106
msgid ""
"Setting C<append> to C<NULL> means I<no> additional options are passed "
"(libguestfs always adds a few of its own)."
msgstr ""
"Setting C<append> to C<NULL> means I<no> additional options are passed "
"(libguestfs always adds a few of its own)."

#. type: =head2
#: ../fish/guestfish-actions.pod:8027
msgid "set-attach-method"
msgstr "set-attach-method"

#. type: =head2
#: ../fish/guestfish-actions.pod:8029
msgid "attach-method"
msgstr "attach-method"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8031
#, no-wrap
msgid ""
" set-attach-method backend\n"
"\n"
msgstr ""
" set-attach-method backend\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8033 ../fish/guestfish-actions.pod:8065
#: ../lib/guestfs-actions.pod:13126 ../lib/guestfs-actions.pod:13159
msgid ""
"Set the method that libguestfs uses to connect to the backend guestfsd "
"daemon."
msgstr ""
"Set the method that libguestfs uses to connect to the backend guestfsd "
"daemon."

#. type: textblock
#: ../fish/guestfish-actions.pod:8036 ../fish/guestfish-actions.pod:8070
#: ../lib/guestfs-actions.pod:13129 ../lib/guestfs-actions.pod:13164
msgid "See L<guestfs(3)/BACKEND>."
msgstr "See L<guestfs(3)/BACKEND>."

#. type: textblock
#: ../fish/guestfish-actions.pod:8038
msgid ""
"I<This function is deprecated.> In new code, use the L</set-backend> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</set-backend> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:8045
msgid "set-autosync"
msgstr "set-autosync"

#. type: =head2
#: ../fish/guestfish-actions.pod:8047
msgid "autosync"
msgstr "autosync"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8049
#, no-wrap
msgid ""
" set-autosync true|false\n"
"\n"
msgstr ""
" set-autosync true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8051 ../lib/guestfs-actions.pod:13141
msgid ""
"If C<autosync> is true, this enables autosync.  Libguestfs will make a best "
"effort attempt to make filesystems consistent and synchronized when the "
"handle is closed (also if the program exits without closing handles)."
msgstr ""
"If C<autosync> is true, this enables autosync.  Libguestfs will make a best "
"effort attempt to make filesystems consistent and synchronised when the "
"handle is closed (also if the program exits without closing handles)."

#. type: textblock
#: ../fish/guestfish-actions.pod:8056 ../lib/guestfs-actions.pod:13146
msgid ""
"This is enabled by default (since libguestfs 1.5.24, previously it was "
"disabled by default)."
msgstr ""
"This is enabled by default (since libguestfs 1.5.24, previously it was "
"disabled by default)."

#. type: =head2
#: ../fish/guestfish-actions.pod:8059
msgid "set-backend"
msgstr "set-backend"

#. type: =head2
#: ../fish/guestfish-actions.pod:8061
msgid "backend"
msgstr "backend"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8063
#, no-wrap
msgid ""
" set-backend backend\n"
"\n"
msgstr ""
" set-backend backend\n"
"\n"

#. type: =head2
#: ../fish/guestfish-actions.pod:8072
msgid "set-backend-setting"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:8074
#, no-wrap
msgid ""
" set-backend-setting name val\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8076 ../lib/guestfs-actions.pod:13177
msgid ""
"Append C<\"name=value\"> to the backend settings string list.  However if a "
"string already exists matching C<\"name\"> or beginning with C<\"name=\">, "
"then that setting is replaced."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8082
msgid "set-backend-settings"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:8084
#, no-wrap
msgid ""
" set-backend-settings 'settings ...'\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8086 ../lib/guestfs-actions.pod:13193
msgid ""
"Set a list of zero or more settings which are passed through to the current "
"backend.  Each setting is a string which is interpreted in a backend-"
"specific way, or ignored if not understood by the backend."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8091 ../lib/guestfs-actions.pod:13198
msgid ""
"The default value is an empty list, unless the environment variable "
"C<LIBGUESTFS_BACKEND_SETTINGS> was set when the handle was created.  This "
"environment variable contains a colon-separated list of settings."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8096
msgid ""
"This call replaces all backend settings.  If you want to replace a single "
"backend setting, see L</set-backend-setting>.  If you want to clear a single "
"backend setting, see L</clear-backend-setting>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8103
msgid "set-cachedir"
msgstr "set-cachedir"

#. type: =head2
#: ../fish/guestfish-actions.pod:8105
msgid "cachedir"
msgstr "cachedir"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8107
#, no-wrap
msgid ""
" set-cachedir cachedir\n"
"\n"
msgstr ""
" set-cachedir cachedir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8109 ../lib/guestfs-actions.pod:13220
msgid ""
"Set the directory used by the handle to store the appliance cache, when "
"using a supermin appliance.  The appliance is cached and shared between all "
"handles which have the same effective user ID."
msgstr ""
"Set the directory used by the handle to store the appliance cache, when "
"using a supermin appliance.  The appliance is cached and shared between all "
"handles which have the same effective user ID."

#. type: textblock
#: ../fish/guestfish-actions.pod:8114 ../lib/guestfs-actions.pod:13225
msgid ""
"The environment variables C<LIBGUESTFS_CACHEDIR> and C<TMPDIR> control the "
"default value: If C<LIBGUESTFS_CACHEDIR> is set, then that is the default.  "
"Else if C<TMPDIR> is set, then that is the default.  Else F</var/tmp> is the "
"default."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8119
msgid "set-direct"
msgstr "set-direct"

#. type: =head2
#: ../fish/guestfish-actions.pod:8121
msgid "direct"
msgstr "direct"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8123
#, no-wrap
msgid ""
" set-direct true|false\n"
"\n"
msgstr ""
" set-direct true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8125 ../lib/guestfs-actions.pod:13247
msgid ""
"If the direct appliance mode flag is enabled, then stdin and stdout are "
"passed directly through to the appliance once it is launched."
msgstr ""
"If the direct appliance mode flag is enabled, then stdin and stdout are "
"passed directly through to the appliance once it is launched."

#. type: textblock
#: ../fish/guestfish-actions.pod:8129
msgid ""
"One consequence of this is that log messages aren't caught by the library "
"and handled by L</set-log-message-callback>, but go straight to stdout."
msgstr ""
"One consequence of this is that log messages aren't caught by the library "
"and handled by L</set-log-message-callback>, but go straight to stdout."

#. type: textblock
#: ../fish/guestfish-actions.pod:8133 ../lib/guestfs-actions.pod:13255
msgid "You probably don't want to use this unless you know what you are doing."
msgstr ""
"You probably don't want to use this unless you know what you are doing."

#. type: textblock
#: ../fish/guestfish-actions.pod:8136 ../lib/guestfs-actions.pod:13258
msgid "The default is disabled."
msgstr "The default is disabled."

#. type: =head2
#: ../fish/guestfish-actions.pod:8145
msgid "set-e2attrs"
msgstr "set-e2attrs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8147
#, no-wrap
msgid ""
" set-e2attrs file attrs [clear:true|false]\n"
"\n"
msgstr ""
" set-e2attrs file attrs [clear:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8149 ../lib/guestfs-actions.pod:13279
msgid ""
"This sets or clears the file attributes C<attrs> associated with the inode "
"F<file>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8152
msgid ""
"C<attrs> is a string of characters representing file attributes.  See L</get-"
"e2attrs> for a list of possible attributes.  Not all attributes can be "
"changed."
msgstr ""
"C<attrs> is a string of characters representing file attributes.  See L</get-"
"e2attrs> for a list of possible attributes.  Not all attributes can be "
"changed."

#. type: textblock
#: ../fish/guestfish-actions.pod:8156 ../lib/guestfs-actions.pod:13286
msgid ""
"If optional boolean C<clear> is not present or false, then the C<attrs> "
"listed are set in the inode."
msgstr ""
"If optional boolean C<clear> is not present or false, then the C<attrs> "
"listed are set in the inode."

#. type: textblock
#: ../fish/guestfish-actions.pod:8159 ../lib/guestfs-actions.pod:13289
msgid "If C<clear> is true, then the C<attrs> listed are cleared in the inode."
msgstr ""
"If C<clear> is true, then the C<attrs> listed are cleared in the inode."

#. type: textblock
#: ../fish/guestfish-actions.pod:8162 ../lib/guestfs-actions.pod:13292
msgid ""
"In both cases, other attributes not present in the C<attrs> string are left "
"unchanged."
msgstr ""
"In both cases, other attributes not present in the C<attrs> string are left "
"unchanged."

#. type: =head2
#: ../fish/guestfish-actions.pod:8171
msgid "set-e2generation"
msgstr "set-e2generation"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8173
#, no-wrap
msgid ""
" set-e2generation file generation\n"
"\n"
msgstr ""
" set-e2generation file generation\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8175 ../lib/guestfs-actions.pod:13334
msgid "This sets the ext2 file generation of a file."
msgstr "This sets the ext2 file generation of a file."

#. type: textblock
#: ../fish/guestfish-actions.pod:8177
msgid "See L</get-e2generation>."
msgstr "See L</get-e2generation>."

#. type: =head2
#: ../fish/guestfish-actions.pod:8179
msgid "set-e2label"
msgstr "set-e2label"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8181
#, no-wrap
msgid ""
" set-e2label device label\n"
"\n"
msgstr ""
" set-e2label device label\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8183 ../lib/guestfs-actions.pod:13356
msgid ""
"This sets the ext2/3/4 filesystem label of the filesystem on C<device> to "
"C<label>.  Filesystem labels are limited to 16 characters."
msgstr ""
"This sets the ext2/3/4 filesystem label of the filesystem on C<device> to "
"C<label>.  Filesystem labels are limited to 16 characters."

#. type: textblock
#: ../fish/guestfish-actions.pod:8187
msgid ""
"You can use either L</tune2fs-l> or L</get-e2label> to return the existing "
"label on a filesystem."
msgstr ""
"You can use either L</tune2fs-l> or L</get-e2label> to return the existing "
"label on a filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:8190
msgid ""
"I<This function is deprecated.> In new code, use the L</set-label> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</set-label> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:8197
msgid "set-e2uuid"
msgstr "set-e2uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8199
#, no-wrap
msgid ""
" set-e2uuid device uuid\n"
"\n"
msgstr ""
" set-e2uuid device uuid\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8201 ../lib/guestfs-actions.pod:13381
msgid ""
"This sets the ext2/3/4 filesystem UUID of the filesystem on C<device> to "
"C<uuid>.  The format of the UUID and alternatives such as C<clear>, "
"C<random> and C<time> are described in the L<tune2fs(8)> manpage."
msgstr ""
"This sets the ext2/3/4 filesystem UUID of the filesystem on C<device> to "
"C<uuid>.  The format of the UUID and alternatives such as C<clear>, "
"C<random> and C<time> are described in the L<tune2fs(8)> manpage."

#. type: textblock
#: ../fish/guestfish-actions.pod:8206
msgid "You can use L</vfs-uuid> to return the existing UUID of a filesystem."
msgstr "You can use L</vfs-uuid> to return the existing UUID of a filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:8209
msgid ""
"I<This function is deprecated.> In new code, use the L</set-uuid> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</set-uuid> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:8216
msgid "set-hv"
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8218
msgid "hv"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:8220
#, no-wrap
msgid ""
" set-hv hv\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8222 ../lib/guestfs-actions.pod:13399
msgid ""
"Set the hypervisor binary that we will use.  The hypervisor depends on the "
"backend, but is usually the location of the qemu/KVM hypervisor.  For the "
"uml backend, it is the location of the C<linux> or C<vmlinux> binary."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8227 ../fish/guestfish-actions.pod:8447
#: ../lib/guestfs-actions.pod:13404 ../lib/guestfs-actions.pod:13680
msgid ""
"The default is chosen when the library was compiled by the configure script."
msgstr ""
"The default is chosen when the library was compiled by the configure script."

#. type: textblock
#: ../fish/guestfish-actions.pod:8230 ../fish/guestfish-actions.pod:8450
#: ../lib/guestfs-actions.pod:13407 ../lib/guestfs-actions.pod:13683
msgid ""
"You can also override this by setting the C<LIBGUESTFS_HV> environment "
"variable."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8233 ../fish/guestfish-actions.pod:8455
#: ../lib/guestfs-actions.pod:13410 ../lib/guestfs-actions.pod:13688
msgid ""
"Note that you should call this function as early as possible after creating "
"the handle.  This is because some pre-launch operations depend on testing "
"qemu features (by running C<qemu -help>).  If the qemu binary changes, we "
"don't retest features, and so you might see inconsistent results.  Using the "
"environment variable C<LIBGUESTFS_HV> is safest of all since that picks the "
"qemu binary at the same time as the handle is created."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8241
msgid "set-identifier"
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8243
msgid "identifier"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:8245
#, no-wrap
msgid ""
" set-identifier identifier\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8247 ../lib/guestfs-actions.pod:13428
msgid ""
"This is an informative string which the caller may optionally set in the "
"handle.  It is printed in various places, allowing the current handle to be "
"identified in debugging output."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8251 ../lib/guestfs-actions.pod:13432
msgid ""
"One important place is when tracing is enabled.  If the identifier string is "
"not an empty string, then trace messages change from this:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:8255 ../lib/guestfs-actions.pod:13436
#, no-wrap
msgid ""
" libguestfs: trace: get_tmpdir\n"
" libguestfs: trace: get_tmpdir = \"/tmp\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8258 ../lib/guestfs-actions.pod:13439
msgid "to this:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:8260 ../lib/guestfs-actions.pod:13441
#, no-wrap
msgid ""
" libguestfs: trace: ID: get_tmpdir\n"
" libguestfs: trace: ID: get_tmpdir = \"/tmp\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8263 ../lib/guestfs-actions.pod:13444
msgid "where C<ID> is the identifier string set by this call."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8265 ../lib/guestfs-actions.pod:13446
msgid ""
"The identifier must only contain alphanumeric ASCII characters, underscore "
"and minus sign.  The default is the empty string."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8268
msgid "See also L</set-program>, L</set-trace>, L</get-identifier>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8271
msgid "set-label"
msgstr "set-label"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8273
#, no-wrap
msgid ""
" set-label mountable label\n"
"\n"
msgstr ""
" set-label mountable label\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8275 ../lib/guestfs-actions.pod:13463
msgid "Set the filesystem label on C<mountable> to C<label>."
msgstr "Set the filesystem label on C<mountable> to C<label>."

#. type: textblock
#: ../fish/guestfish-actions.pod:8277 ../lib/guestfs-actions.pod:13465
msgid ""
"Only some filesystem types support labels, and libguestfs supports setting "
"labels on only a subset of these."
msgstr ""
"Only some filesystem types support labels, and libguestfs supports setting "
"labels on only a subset of these."

#. type: =item
#: ../fish/guestfish-actions.pod:8282 ../lib/guestfs-actions.pod:13470
msgid "ext2, ext3, ext4"
msgstr "ext2, ext3, ext4"

#. type: textblock
#: ../fish/guestfish-actions.pod:8284 ../lib/guestfs-actions.pod:13472
msgid "Labels are limited to 16 bytes."
msgstr "Labels are limited to 16 bytes."

#. type: =item
#: ../fish/guestfish-actions.pod:8286 ../lib/guestfs-actions.pod:13474
msgid "NTFS"
msgstr "NTFS"

#. type: textblock
#: ../fish/guestfish-actions.pod:8288 ../lib/guestfs-actions.pod:13476
msgid "Labels are limited to 128 unicode characters."
msgstr "Labels are limited to 128 unicode characters."

#. type: =item
#: ../fish/guestfish-actions.pod:8290 ../lib/guestfs-actions.pod:13478
msgid "XFS"
msgstr "XFS"

#. type: textblock
#: ../fish/guestfish-actions.pod:8292 ../lib/guestfs-actions.pod:13480
msgid ""
"The label is limited to 12 bytes.  The filesystem must not be mounted when "
"trying to set the label."
msgstr ""
"The label is limited to 12 bytes.  The filesystem must not be mounted when "
"trying to set the label."

#. type: =item
#: ../fish/guestfish-actions.pod:8295 ../lib/guestfs-actions.pod:13483
msgid "btrfs"
msgstr "btrfs"

#. type: textblock
#: ../fish/guestfish-actions.pod:8297 ../lib/guestfs-actions.pod:13485
msgid ""
"The label is limited to 255 bytes and some characters are not allowed.  "
"Setting the label on a btrfs subvolume will set the label on its parent "
"filesystem.  The filesystem must not be mounted when trying to set the label."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:8302 ../lib/guestfs-actions.pod:13490
msgid "fat"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8304 ../lib/guestfs-actions.pod:13492
msgid "The label is limited to 11 bytes."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:8306 ../lib/guestfs-actions.pod:13494
msgid "swap"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8308 ../lib/guestfs-actions.pod:13496
msgid "The label is limited to 16 bytes."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8312 ../lib/guestfs-actions.pod:13500
msgid ""
"If there is no support for changing the label for the type of the specified "
"filesystem, set_label will fail and set errno as ENOTSUP."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8316
msgid "To read the label on a filesystem, call L</vfs-label>."
msgstr "To read the label on a filesystem, call L</vfs-label>."

#. type: =head2
#: ../fish/guestfish-actions.pod:8318
msgid "set-libvirt-requested-credential"
msgstr "set-libvirt-requested-credential"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8320
#, no-wrap
msgid ""
" set-libvirt-requested-credential index cred\n"
"\n"
msgstr ""
" set-libvirt-requested-credential index cred\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8322 ../lib/guestfs-actions.pod:13518
msgid ""
"After requesting the C<index>'th credential from the user, call this "
"function to pass the answer back to libvirt."
msgstr ""
"After requesting the C<index>'th credential from the user, call this "
"function to pass the answer back to libvirt."

#. type: =head2
#: ../fish/guestfish-actions.pod:8327
msgid "set-libvirt-supported-credentials"
msgstr "set-libvirt-supported-credentials"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8329
#, no-wrap
msgid ""
" set-libvirt-supported-credentials 'creds ...'\n"
"\n"
msgstr ""
" set-libvirt-supported-credentials 'creds ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8331 ../lib/guestfs-actions.pod:13533
msgid ""
"Call this function before setting an event handler for "
"C<GUESTFS_EVENT_LIBVIRT_AUTH>, to supply the list of credential types that "
"the program knows how to process."
msgstr ""
"Call this function before setting an event handler for "
"C<GUESTFS_EVENT_LIBVIRT_AUTH>, to supply the list of credential types that "
"the program knows how to process."

#. type: textblock
#: ../fish/guestfish-actions.pod:8335 ../lib/guestfs-actions.pod:13537
msgid ""
"The C<creds> list must be a non-empty list of strings.  Possible strings are:"
msgstr ""
"The C<creds> list must be a non-empty list of strings.  Possible strings are:"

#. type: =item
#: ../fish/guestfish-actions.pod:8342 ../lib/guestfs-actions.pod:13544
msgid "C<authname>"
msgstr "C<authname>"

#. type: =item
#: ../fish/guestfish-actions.pod:8344 ../lib/guestfs-actions.pod:13546
msgid "C<language>"
msgstr "C<language>"

#. type: =item
#: ../fish/guestfish-actions.pod:8346 ../lib/guestfs-actions.pod:13548
msgid "C<cnonce>"
msgstr "C<cnonce>"

#. type: =item
#: ../fish/guestfish-actions.pod:8348 ../lib/guestfs-actions.pod:13550
msgid "C<passphrase>"
msgstr "C<passphrase>"

#. type: =item
#: ../fish/guestfish-actions.pod:8350 ../lib/guestfs-actions.pod:13552
msgid "C<echoprompt>"
msgstr "C<echoprompt>"

#. type: =item
#: ../fish/guestfish-actions.pod:8352 ../lib/guestfs-actions.pod:13554
msgid "C<noechoprompt>"
msgstr "C<noechoprompt>"

#. type: =item
#: ../fish/guestfish-actions.pod:8354 ../lib/guestfs-actions.pod:13556
msgid "C<realm>"
msgstr "C<realm>"

#. type: =item
#: ../fish/guestfish-actions.pod:8356 ../lib/guestfs-actions.pod:13558
msgid "C<external>"
msgstr "C<external>"

#. type: textblock
#: ../fish/guestfish-actions.pod:8360 ../lib/guestfs-actions.pod:13562
msgid "See libvirt documentation for the meaning of these credential types."
msgstr "See libvirt documentation for the meaning of these credential types."

#. type: =head2
#: ../fish/guestfish-actions.pod:8364
msgid "set-memsize"
msgstr "set-memsize"

#. type: =head2
#: ../fish/guestfish-actions.pod:8366
msgid "memsize"
msgstr "memsize"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8368
#, no-wrap
msgid ""
" set-memsize memsize\n"
"\n"
msgstr ""
" set-memsize memsize\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8370
msgid ""
"This sets the memory size in megabytes allocated to the hypervisor.  This "
"only has any effect if called before L</launch>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8374 ../lib/guestfs-actions.pod:13580
msgid ""
"You can also change this by setting the environment variable "
"C<LIBGUESTFS_MEMSIZE> before the handle is created."
msgstr ""
"You can also change this by setting the environment variable "
"C<LIBGUESTFS_MEMSIZE> before the handle is created."

#. type: =head2
#: ../fish/guestfish-actions.pod:8381
msgid "set-network"
msgstr "set-network"

#. type: =head2
#: ../fish/guestfish-actions.pod:8383
msgid "network"
msgstr "network"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8385
#, no-wrap
msgid ""
" set-network true|false\n"
"\n"
msgstr ""
" set-network true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8387 ../lib/guestfs-actions.pod:13597
msgid ""
"If C<network> is true, then the network is enabled in the libguestfs "
"appliance.  The default is false."
msgstr ""
"If C<network> is true, then the network is enabled in the libguestfs "
"appliance.  The default is false."

#. type: textblock
#: ../fish/guestfish-actions.pod:8390 ../lib/guestfs-actions.pod:13600
msgid ""
"This affects whether commands are able to access the network (see "
"L<guestfs(3)/RUNNING COMMANDS>)."
msgstr ""
"This affects whether commands are able to access the network (see "
"L<guestfs(3)/RUNNING COMMANDS>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:8393
msgid ""
"You must call this before calling L</launch>, otherwise it has no effect."
msgstr ""
"You must call this before calling L</launch>, otherwise it has no effect."

#. type: =head2
#: ../fish/guestfish-actions.pod:8396
msgid "set-path"
msgstr "set-path"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8400
#, no-wrap
msgid ""
" set-path searchpath\n"
"\n"
msgstr ""
" set-path searchpath\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8402 ../lib/guestfs-actions.pod:13616
msgid "Set the path that libguestfs searches for kernel and initrd.img."
msgstr "Set the path that libguestfs searches for kernel and initrd.img."

#. type: textblock
#: ../fish/guestfish-actions.pod:8404 ../lib/guestfs-actions.pod:13618
msgid ""
"The default is C<$libdir/guestfs> unless overridden by setting "
"C<LIBGUESTFS_PATH> environment variable."
msgstr ""
"The default is C<$libdir/guestfs> unless overridden by setting "
"C<LIBGUESTFS_PATH> environment variable."

#. type: textblock
#: ../fish/guestfish-actions.pod:8407 ../lib/guestfs-actions.pod:13621
msgid "Setting C<path> to C<NULL> restores the default path."
msgstr "Setting C<path> to C<NULL> restores the default path."

#. type: =head2
#: ../fish/guestfish-actions.pod:8409
msgid "set-pgroup"
msgstr "set-pgroup"

#. type: =head2
#: ../fish/guestfish-actions.pod:8411
msgid "pgroup"
msgstr "pgroup"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8413
#, no-wrap
msgid ""
" set-pgroup true|false\n"
"\n"
msgstr ""
" set-pgroup true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8415 ../lib/guestfs-actions.pod:13633
msgid ""
"If C<pgroup> is true, child processes are placed into their own process "
"group."
msgstr ""
"If C<pgroup> is true, child processes are placed into their own process "
"group."

#. type: textblock
#: ../fish/guestfish-actions.pod:8418 ../lib/guestfs-actions.pod:13636
msgid ""
"The practical upshot of this is that signals like C<SIGINT> (from users "
"pressing C<^C>) won't be received by the child process."
msgstr ""
"The practical upshot of this is that signals like C<SIGINT> (from users "
"pressing C<^C>) won't be received by the child process."

#. type: textblock
#: ../fish/guestfish-actions.pod:8421
msgid ""
"The default for this flag is false, because usually you want C<^C> to kill "
"the subprocess.  Guestfish sets this flag to true when used interactively, "
"so that C<^C> can cancel long-running commands gracefully (see L</user-"
"cancel>)."
msgstr ""
"The default for this flag is false, because usually you want C<^C> to kill "
"the subprocess.  Guestfish sets this flag to true when used interactively, "
"so that C<^C> can cancel long-running commands gracefully (see L</user-"
"cancel>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:8426
msgid "set-program"
msgstr "set-program"

#. type: =head2
#: ../fish/guestfish-actions.pod:8428
msgid "program"
msgstr "program"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8430
#, no-wrap
msgid ""
" set-program program\n"
"\n"
msgstr ""
" set-program program\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8432 ../lib/guestfs-actions.pod:13654
msgid ""
"Set the program name.  This is an informative string which the main program "
"may optionally set in the handle."
msgstr ""
"Set the program name.  This is an informative string which the main program "
"may optionally set in the handle."

#. type: textblock
#: ../fish/guestfish-actions.pod:8435 ../lib/guestfs-actions.pod:13657
msgid ""
"When the handle is created, the program name in the handle is set to the "
"basename from C<argv[0]>.  The program name can never be C<NULL>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8439
msgid "set-qemu"
msgstr "set-qemu"

#. type: =head2
#: ../fish/guestfish-actions.pod:8441
msgid "qemu"
msgstr "qemu"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8443
#, no-wrap
msgid ""
" set-qemu hv\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8445 ../lib/guestfs-actions.pod:13678
msgid "Set the hypervisor binary (usually qemu) that we will use."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8453 ../lib/guestfs-actions.pod:13686
msgid "Setting C<hv> to C<NULL> restores the default qemu binary."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8463
msgid ""
"I<This function is deprecated.> In new code, use the L</set-hv> call instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8470
msgid "set-recovery-proc"
msgstr "set-recovery-proc"

#. type: =head2
#: ../fish/guestfish-actions.pod:8472
msgid "recovery-proc"
msgstr "recovery-proc"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8474
#, no-wrap
msgid ""
" set-recovery-proc true|false\n"
"\n"
msgstr ""
" set-recovery-proc true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8476
msgid ""
"If this is called with the parameter C<false> then L</launch> does not "
"create a recovery process.  The purpose of the recovery process is to stop "
"runaway hypervisor processes in the case where the main program aborts "
"abruptly."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8481
msgid ""
"This only has any effect if called before L</launch>, and the default is "
"true."
msgstr ""
"This only has any effect if called before L</launch>, and the default is "
"true."

#. type: textblock
#: ../fish/guestfish-actions.pod:8484 ../lib/guestfs-actions.pod:13714
msgid ""
"About the only time when you would want to disable this is if the main "
"process will fork itself into the background (\"daemonize\" itself).  In "
"this case the recovery process thinks that the main program has disappeared "
"and so kills the hypervisor, which is not very helpful."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8490
msgid "set-selinux"
msgstr "set-selinux"

#. type: =head2
#: ../fish/guestfish-actions.pod:8492
msgid "selinux"
msgstr "selinux"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8494
#, no-wrap
msgid ""
" set-selinux true|false\n"
"\n"
msgstr ""
" set-selinux true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8496 ../lib/guestfs-actions.pod:13737
msgid ""
"This sets the selinux flag that is passed to the appliance at boot time.  "
"The default is C<selinux=0> (disabled)."
msgstr ""
"This sets the selinux flag that is passed to the appliance at boot time.  "
"The default is C<selinux=0> (disabled)."

#. type: textblock
#: ../fish/guestfish-actions.pod:8499 ../lib/guestfs-actions.pod:13740
msgid ""
"Note that if SELinux is enabled, it is always in Permissive mode "
"(C<enforcing=0>)."
msgstr ""
"Note that if SELinux is enabled, it is always in Permissive mode "
"(C<enforcing=0>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:8512
msgid "set-smp"
msgstr "set-smp"

#. type: =head2
#: ../fish/guestfish-actions.pod:8514
msgid "smp"
msgstr "smp"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8516
#, no-wrap
msgid ""
" set-smp smp\n"
"\n"
msgstr ""
" set-smp smp\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8518 ../lib/guestfs-actions.pod:13756
msgid ""
"Change the number of virtual CPUs assigned to the appliance.  The default is "
"C<1>.  Increasing this may improve performance, though often it has no "
"effect."
msgstr ""
"Change the number of virtual CPUs assigned to the appliance.  The default is "
"C<1>.  Increasing this may improve performance, though often it has no "
"effect."

#. type: textblock
#: ../fish/guestfish-actions.pod:8522
msgid "This function must be called before L</launch>."
msgstr "This function must be called before L</launch>."

#. type: =head2
#: ../fish/guestfish-actions.pod:8524
msgid "set-tmpdir"
msgstr "set-tmpdir"

#. type: =head2
#: ../fish/guestfish-actions.pod:8526
msgid "tmpdir"
msgstr "tmpdir"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8528
#, no-wrap
msgid ""
" set-tmpdir tmpdir\n"
"\n"
msgstr ""
" set-tmpdir tmpdir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8530 ../lib/guestfs-actions.pod:13772
msgid "Set the directory used by the handle to store temporary files."
msgstr "Set the directory used by the handle to store temporary files."

#. type: textblock
#: ../fish/guestfish-actions.pod:8532 ../lib/guestfs-actions.pod:13774
msgid ""
"The environment variables C<LIBGUESTFS_TMPDIR> and C<TMPDIR> control the "
"default value: If C<LIBGUESTFS_TMPDIR> is set, then that is the default.  "
"Else if C<TMPDIR> is set, then that is the default.  Else F</tmp> is the "
"default."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8537
msgid "set-trace"
msgstr "set-trace"

#. type: =head2
#: ../fish/guestfish-actions.pod:8539
msgid "trace"
msgstr "trace"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8541
#, no-wrap
msgid ""
" set-trace true|false\n"
"\n"
msgstr ""
" set-trace true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8543 ../lib/guestfs-actions.pod:13789
msgid ""
"If the command trace flag is set to 1, then libguestfs calls, parameters and "
"return values are traced."
msgstr ""
"If the command trace flag is set to 1, then libguestfs calls, parameters and "
"return values are traced."

#. type: textblock
#: ../fish/guestfish-actions.pod:8546 ../lib/guestfs-actions.pod:13792
msgid ""
"If you want to trace C API calls into libguestfs (and other libraries) then "
"possibly a better way is to use the external L<ltrace(1)> command."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8550 ../lib/guestfs-actions.pod:13796
msgid ""
"Command traces are disabled unless the environment variable "
"C<LIBGUESTFS_TRACE> is defined and set to C<1>."
msgstr ""
"Command traces are disabled unless the environment variable "
"C<LIBGUESTFS_TRACE> is defined and set to C<1>."

#. type: textblock
#: ../fish/guestfish-actions.pod:8553
msgid ""
"Trace messages are normally sent to C<stderr>, unless you register a "
"callback to send them somewhere else (see L</set-event-callback>)."
msgstr ""
"Trace messages are normally sent to C<stderr>, unless you register a "
"callback to send them somewhere else (see L</set-event-callback>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:8557
msgid "set-uuid"
msgstr "set-uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8559
#, no-wrap
msgid ""
" set-uuid device uuid\n"
"\n"
msgstr ""
" set-uuid device uuid\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8561 ../lib/guestfs-actions.pod:13814
msgid ""
"Set the filesystem UUID on C<device> to C<uuid>.  If this fails and the "
"errno is ENOTSUP, means that there is no support for changing the UUID for "
"the type of the specified filesystem."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8566 ../fish/guestfish-actions.pod:8579
#: ../lib/guestfs-actions.pod:13819 ../lib/guestfs-actions.pod:13838
msgid "Only some filesystem types support setting UUIDs."
msgstr "Only some filesystem types support setting UUIDs."

#. type: textblock
#: ../fish/guestfish-actions.pod:8568 ../fish/guestfish-actions.pod:8581
msgid "To read the UUID on a filesystem, call L</vfs-uuid>."
msgstr "To read the UUID on a filesystem, call L</vfs-uuid>."

#. type: =head2
#: ../fish/guestfish-actions.pod:8570
msgid "set-uuid-random"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:8572
#, no-wrap
msgid ""
" set-uuid-random device\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8574 ../lib/guestfs-actions.pod:13833
msgid ""
"Set the filesystem UUID on C<device> to a random UUID.  If this fails and "
"the errno is ENOTSUP, means that there is no support for changing the UUID "
"for the type of the specified filesystem."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8583
msgid "set-verbose"
msgstr "set-verbose"

#. type: =head2
#: ../fish/guestfish-actions.pod:8585
msgid "verbose"
msgstr "verbose"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8587
#, no-wrap
msgid ""
" set-verbose true|false\n"
"\n"
msgstr ""
" set-verbose true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8589 ../lib/guestfs-actions.pod:13852
msgid "If C<verbose> is true, this turns on verbose messages."
msgstr "If C<verbose> is true, this turns on verbose messages."

#. type: textblock
#: ../fish/guestfish-actions.pod:8591 ../lib/guestfs-actions.pod:13854
msgid ""
"Verbose messages are disabled unless the environment variable "
"C<LIBGUESTFS_DEBUG> is defined and set to C<1>."
msgstr ""
"Verbose messages are disabled unless the environment variable "
"C<LIBGUESTFS_DEBUG> is defined and set to C<1>."

#. type: textblock
#: ../fish/guestfish-actions.pod:8594
msgid ""
"Verbose messages are normally sent to C<stderr>, unless you register a "
"callback to send them somewhere else (see L</set-event-callback>)."
msgstr ""
"Verbose messages are normally sent to C<stderr>, unless you register a "
"callback to send them somewhere else (see L</set-event-callback>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:8598
msgid "setcon"
msgstr "setcon"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8600
#, no-wrap
msgid ""
" setcon context\n"
"\n"
msgstr ""
" setcon context\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8602 ../lib/guestfs-actions.pod:13878
msgid ""
"This sets the SELinux security context of the daemon to the string "
"C<context>."
msgstr ""
"This sets the SELinux security context of the daemon to the string "
"C<context>."

#. type: textblock
#: ../fish/guestfish-actions.pod:8605 ../lib/guestfs-actions.pod:13881
msgid "See the documentation about SELINUX in L<guestfs(3)>."
msgstr "See the documentation about SELINUX in L<guestfs(3)>."

#. type: =head2
#: ../fish/guestfish-actions.pod:8617
msgid "setxattr"
msgstr "setxattr"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8619
#, no-wrap
msgid ""
" setxattr xattr val vallen path\n"
"\n"
msgstr ""
" setxattr xattr val vallen path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8621 ../lib/guestfs-actions.pod:13899
msgid ""
"This call sets the extended attribute named C<xattr> of the file C<path> to "
"the value C<val> (of length C<vallen>).  The value is arbitrary 8 bit data."
msgstr ""
"This call sets the extended attribute named C<xattr> of the file C<path> to "
"the value C<val> (of length C<vallen>).  The value is arbitrary 8 bit data."

#. type: textblock
#: ../fish/guestfish-actions.pod:8625
msgid "See also: L</lsetxattr>, L<attr(5)>."
msgstr "See also: L</lsetxattr>, L<attr(5)>."

#. type: =head2
#: ../fish/guestfish-actions.pod:8630
msgid "sfdisk"
msgstr "sfdisk"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8632
#, no-wrap
msgid ""
" sfdisk device cyls heads sectors 'lines ...'\n"
"\n"
msgstr ""
" sfdisk device cyls heads sectors 'lines ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8634 ../lib/guestfs-actions.pod:13929
msgid ""
"This is a direct interface to the L<sfdisk(8)> program for creating "
"partitions on block devices."
msgstr ""
"This is a direct interface to the L<sfdisk(8)> program for creating "
"partitions on block devices."

#. type: textblock
#: ../fish/guestfish-actions.pod:8637 ../lib/guestfs-actions.pod:13932
msgid "C<device> should be a block device, for example F</dev/sda>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8639 ../lib/guestfs-actions.pod:13934
msgid ""
"C<cyls>, C<heads> and C<sectors> are the number of cylinders, heads and "
"sectors on the device, which are passed directly to L<sfdisk(8)> as the I<-"
"C>, I<-H> and I<-S> parameters.  If you pass C<0> for any of these, then the "
"corresponding parameter is omitted.  Usually for ‘large’ disks, you can just "
"pass C<0> for these, but for small (floppy-sized) disks, L<sfdisk(8)> (or "
"rather, the kernel) cannot work out the right geometry and you will need to "
"tell it."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8647 ../lib/guestfs-actions.pod:13942
#, fuzzy
#| msgid ""
#| "C<lines> is a list of lines that we feed to C<sfdisk>.  For more "
#| "information refer to the L<sfdisk(8)> manpage."
msgid ""
"C<lines> is a list of lines that we feed to L<sfdisk(8)>.  For more "
"information refer to the L<sfdisk(8)> manpage."
msgstr ""
"C<lines> is a list of lines that we feed to C<sfdisk>.  For more information "
"refer to the L<sfdisk(8)> manpage."

#. type: textblock
#: ../fish/guestfish-actions.pod:8650 ../lib/guestfs-actions.pod:13945
msgid ""
"To create a single partition occupying the whole disk, you would pass "
"C<lines> as a single element list, when the single element being the string "
"C<,> (comma)."
msgstr ""
"To create a single partition occupying the whole disk, you would pass "
"C<lines> as a single element list, when the single element being the string "
"C<,> (comma)."

#. type: textblock
#: ../fish/guestfish-actions.pod:8654
msgid "See also: L</sfdisk-l>, L</sfdisk-N>, L</part-init>"
msgstr "See also: L</sfdisk-l>, L</sfdisk-N>, L</part-init>"

#. type: textblock
#: ../fish/guestfish-actions.pod:8657 ../fish/guestfish-actions.pod:8677
#: ../fish/guestfish-actions.pod:8696
msgid ""
"I<This function is deprecated.> In new code, use the L</part-add> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</part-add> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:8664
msgid "sfdiskM"
msgstr "sfdiskM"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8666
#, no-wrap
msgid ""
" sfdiskM device 'lines ...'\n"
"\n"
msgstr ""
" sfdiskM device 'lines ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8668
msgid ""
"This is a simplified interface to the L</sfdisk> command, where partition "
"sizes are specified in megabytes only (rounded to the nearest cylinder) and "
"you don't need to specify the cyls, heads and sectors parameters which were "
"rarely if ever used anyway."
msgstr ""
"This is a simplified interface to the L</sfdisk> command, where partition "
"sizes are specified in megabytes only (rounded to the nearest cylinder) and "
"you don't need to specify the cyls, heads and sectors parameters which were "
"rarely if ever used anyway."

#. type: textblock
#: ../fish/guestfish-actions.pod:8674
msgid "See also: L</sfdisk>, the L<sfdisk(8)> manpage and L</part-disk>"
msgstr "See also: L</sfdisk>, the L<sfdisk(8)> manpage and L</part-disk>"

#. type: =head2
#: ../fish/guestfish-actions.pod:8684
msgid "sfdisk-N"
msgstr "sfdisk-N"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8686
#, no-wrap
msgid ""
" sfdisk-N device partnum cyls heads sectors line\n"
"\n"
msgstr ""
" sfdisk-N device partnum cyls heads sectors line\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8688 ../lib/guestfs-actions.pod:14001
msgid ""
"This runs L<sfdisk(8)> option to modify just the single partition C<n> "
"(note: C<n> counts from 1)."
msgstr ""
"This runs L<sfdisk(8)> option to modify just the single partition C<n> "
"(note: C<n> counts from 1)."

#. type: textblock
#: ../fish/guestfish-actions.pod:8691
msgid ""
"For other parameters, see L</sfdisk>.  You should usually pass C<0> for the "
"cyls/heads/sectors parameters."
msgstr ""
"For other parameters, see L</sfdisk>.  You should usually pass C<0> for the "
"cyls/heads/sectors parameters."

#. type: textblock
#: ../fish/guestfish-actions.pod:8694
msgid "See also: L</part-add>"
msgstr "See also: L</part-add>"

#. type: =head2
#: ../fish/guestfish-actions.pod:8703
msgid "sfdisk-disk-geometry"
msgstr "sfdisk-disk-geometry"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8705
#, no-wrap
msgid ""
" sfdisk-disk-geometry device\n"
"\n"
msgstr ""
" sfdisk-disk-geometry device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8707
msgid ""
"This displays the disk geometry of C<device> read from the partition table.  "
"Especially in the case where the underlying block device has been resized, "
"this can be different from the kernel’s idea of the geometry (see L</sfdisk-"
"kernel-geometry>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8712 ../fish/guestfish-actions.pod:8721
#: ../lib/guestfs-actions.pod:14024 ../lib/guestfs-actions.pod:14040
msgid "The result is in human-readable format, and not designed to be parsed."
msgstr "The result is in human-readable format, and not designed to be parsed."

#. type: =head2
#: ../fish/guestfish-actions.pod:8715
msgid "sfdisk-kernel-geometry"
msgstr "sfdisk-kernel-geometry"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8717
#, no-wrap
msgid ""
" sfdisk-kernel-geometry device\n"
"\n"
msgstr ""
" sfdisk-kernel-geometry device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8719 ../lib/guestfs-actions.pod:14038
msgid "This displays the kernel’s idea of the geometry of C<device>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8724
msgid "sfdisk-l"
msgstr "sfdisk-l"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8726
#, no-wrap
msgid ""
" sfdisk-l device\n"
"\n"
msgstr ""
" sfdisk-l device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8728 ../lib/guestfs-actions.pod:14061
msgid ""
"This displays the partition table on C<device>, in the human-readable output "
"of the L<sfdisk(8)> command.  It is not intended to be parsed."
msgstr ""
"This displays the partition table on C<device>, in the human-readable output "
"of the L<sfdisk(8)> command.  It is not intended to be parsed."

#. type: textblock
#: ../fish/guestfish-actions.pod:8732
msgid "See also: L</part-list>"
msgstr "See also: L</part-list>"

#. type: textblock
#: ../fish/guestfish-actions.pod:8734
msgid ""
"I<This function is deprecated.> In new code, use the L</part-list> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</part-list> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:8741
msgid "sh"
msgstr "sh"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8743
#, no-wrap
msgid ""
" sh command\n"
"\n"
msgstr ""
" sh command\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8745 ../lib/guestfs-actions.pod:14078
msgid ""
"This call runs a command from the guest filesystem via the guest’s F</bin/"
"sh>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8748
msgid "This is like L</command>, but passes the command to:"
msgstr "This is like L</command>, but passes the command to:"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8750 ../lib/guestfs-actions.pod:14083
#, no-wrap
msgid ""
" /bin/sh -c \"command\"\n"
"\n"
msgstr ""
" /bin/sh -c \"command\"\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8752 ../lib/guestfs-actions.pod:14085
msgid ""
"Depending on the guest’s shell, this usually results in wildcards being "
"expanded, shell expressions being interpolated and so on."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8756
msgid "All the provisos about L</command> apply to this call."
msgstr "All the provisos about L</command> apply to this call."

#. type: =head2
#: ../fish/guestfish-actions.pod:8758
msgid "sh-lines"
msgstr "sh-lines"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8760
#, no-wrap
msgid ""
" sh-lines command\n"
"\n"
msgstr ""
" sh-lines command\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8762
msgid "This is the same as L</sh>, but splits the result into a list of lines."
msgstr ""
"This is the same as L</sh>, but splits the result into a list of lines."

#. type: textblock
#: ../fish/guestfish-actions.pod:8765
msgid "See also: L</command-lines>"
msgstr "See also: L</command-lines>"

#. type: =head2
#: ../fish/guestfish-actions.pod:8767
msgid "shutdown"
msgstr "shutdown"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8769
#, no-wrap
msgid ""
" shutdown\n"
"\n"
msgstr ""
" shutdown\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8771
msgid ""
"This is the opposite of L</launch>.  It performs an orderly shutdown of the "
"backend process(es).  If the autosync flag is set (which is the default) "
"then the disk image is synchronized."
msgstr ""
"This is the opposite of L</launch>.  It performs an orderly shutdown of the "
"backend process(es).  If the autosync flag is set (which is the default) "
"then the disk image is synchronised."

#. type: textblock
#: ../fish/guestfish-actions.pod:8775 ../lib/guestfs-actions.pod:14122
msgid ""
"If the subprocess exits with an error then this function will return an "
"error, which should I<not> be ignored (it may indicate that the disk image "
"could not be written out properly)."
msgstr ""
"If the subprocess exits with an error then this function will return an "
"error, which should I<not> be ignored (it may indicate that the disk image "
"could not be written out properly)."

#. type: textblock
#: ../fish/guestfish-actions.pod:8779 ../lib/guestfs-actions.pod:14126
msgid "It is safe to call this multiple times.  Extra calls are ignored."
msgstr "It is safe to call this multiple times.  Extra calls are ignored."

#. type: textblock
#: ../fish/guestfish-actions.pod:8781
msgid ""
"This call does I<not> close or free up the handle.  You still need to call "
"L</close> afterwards."
msgstr ""
"This call does I<not> close or free up the handle.  You still need to call "
"L</close> afterwards."

#. type: textblock
#: ../fish/guestfish-actions.pod:8784
msgid ""
"L</close> will call this if you don't do it explicitly, but note that any "
"errors are ignored in that case."
msgstr ""
"L</close> will call this if you don't do it explicitly, but note that any "
"errors are ignored in that case."

#. type: =head2
#: ../fish/guestfish-actions.pod:8787
msgid "sleep"
msgstr "sleep"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8789
#, no-wrap
msgid ""
" sleep secs\n"
"\n"
msgstr ""
" sleep secs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8791 ../lib/guestfs-actions.pod:14144
msgid "Sleep for C<secs> seconds."
msgstr "Sleep for C<secs> seconds."

#. type: =head2
#: ../fish/guestfish-actions.pod:8793
msgid "stat"
msgstr "stat"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8795
#, no-wrap
msgid ""
" stat path\n"
"\n"
msgstr ""
" stat path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8799 ../fish/guestfish-actions.pod:8814
#: ../lib/guestfs-actions.pod:14165 ../lib/guestfs-actions.pod:14181
msgid "This is the same as the L<stat(2)> system call."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8801
msgid ""
"I<This function is deprecated.> In new code, use the L</statns> call instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8808
msgid "statns"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:8810
#, no-wrap
msgid ""
" statns path\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8816
msgid "statvfs"
msgstr "statvfs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8818
#, no-wrap
msgid ""
" statvfs path\n"
"\n"
msgstr ""
" statvfs path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8820 ../lib/guestfs-actions.pod:14195
msgid ""
"Returns file system statistics for any mounted file system.  C<path> should "
"be a file or directory in the mounted file system (typically it is the mount "
"point itself, but it doesn't need to be)."
msgstr ""
"Returns file system statistics for any mounted file system.  C<path> should "
"be a file or directory in the mounted file system (typically it is the mount "
"point itself, but it doesn't need to be)."

#. type: textblock
#: ../fish/guestfish-actions.pod:8824 ../lib/guestfs-actions.pod:14199
msgid "This is the same as the L<statvfs(2)> system call."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8826
msgid "strings"
msgstr "strings"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8828
#, no-wrap
msgid ""
" strings path\n"
"\n"
msgstr ""
" strings path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8830 ../lib/guestfs-actions.pod:14213
msgid ""
"This runs the L<strings(1)> command on a file and returns the list of "
"printable strings found."
msgstr ""
"This runs the L<strings(1)> command on a file and returns the list of "
"printable strings found."

#. type: textblock
#: ../fish/guestfish-actions.pod:8833 ../fish/guestfish-actions.pod:8883
#: ../lib/guestfs-actions.pod:14216 ../lib/guestfs-actions.pod:14275
msgid ""
"The C<strings> command has, in the past, had problems with parsing untrusted "
"files.  These are mitigated in the current version of libguestfs, but see "
"L<guestfs(3)/CVE-2014-8484>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:8840
msgid "strings-e"
msgstr "strings-e"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8842
#, no-wrap
msgid ""
" strings-e encoding path\n"
"\n"
msgstr ""
" strings-e encoding path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8844
msgid ""
"This is like the L</strings> command, but allows you to specify the encoding "
"of strings that are looked for in the source file C<path>."
msgstr ""
"This is like the L</strings> command, but allows you to specify the encoding "
"of strings that are looked for in the source file C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:8848 ../lib/guestfs-actions.pod:14240
msgid "Allowed encodings are:"
msgstr "Allowed encodings are:"

#. type: =item
#: ../fish/guestfish-actions.pod:8852 ../lib/guestfs-actions.pod:14244
msgid "s"
msgstr "s"

#. type: textblock
#: ../fish/guestfish-actions.pod:8854
msgid ""
"Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of "
"ISO-8859-X (this is what L</strings> uses)."
msgstr ""
"Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of "
"ISO-8859-X (this is what L</strings> uses)."

#. type: =item
#: ../fish/guestfish-actions.pod:8857 ../lib/guestfs-actions.pod:14249
msgid "S"
msgstr "S"

#. type: textblock
#: ../fish/guestfish-actions.pod:8859 ../lib/guestfs-actions.pod:14251
msgid "Single 8-bit-byte characters."
msgstr "Single 8-bit-byte characters."

#. type: =item
#: ../fish/guestfish-actions.pod:8861 ../lib/guestfs-actions.pod:14253
msgid "b"
msgstr "b"

#. type: textblock
#: ../fish/guestfish-actions.pod:8863 ../lib/guestfs-actions.pod:14255
msgid "16-bit big endian strings such as those encoded in UTF-16BE or UCS-2BE."
msgstr ""
"16-bit big endian strings such as those encoded in UTF-16BE or UCS-2BE."

#. type: =item
#: ../fish/guestfish-actions.pod:8866 ../lib/guestfs-actions.pod:14258
msgid "l (lower case letter L)"
msgstr "l (lower case letter L)"

#. type: textblock
#: ../fish/guestfish-actions.pod:8868 ../lib/guestfs-actions.pod:14260
msgid ""
"16-bit little endian such as UTF-16LE and UCS-2LE.  This is useful for "
"examining binaries in Windows guests."
msgstr ""
"16-bit little endian such as UTF-16LE and UCS-2LE.  This is useful for "
"examining binaries in Windows guests."

#. type: =item
#: ../fish/guestfish-actions.pod:8871 ../lib/guestfs-actions.pod:14263
msgid "B"
msgstr "B"

#. type: textblock
#: ../fish/guestfish-actions.pod:8873 ../lib/guestfs-actions.pod:14265
msgid "32-bit big endian such as UCS-4BE."
msgstr "32-bit big endian such as UCS-4BE."

#. type: =item
#: ../fish/guestfish-actions.pod:8875 ../lib/guestfs-actions.pod:14267
msgid "L"
msgstr "L"

#. type: textblock
#: ../fish/guestfish-actions.pod:8877 ../lib/guestfs-actions.pod:14269
msgid "32-bit little endian such as UCS-4LE."
msgstr "32-bit little endian such as UCS-4LE."

#. type: textblock
#: ../fish/guestfish-actions.pod:8881 ../lib/guestfs-actions.pod:14273
msgid "The returned strings are transcoded to UTF-8."
msgstr "The returned strings are transcoded to UTF-8."

#. type: =head2
#: ../fish/guestfish-actions.pod:8890
msgid "swapoff-device"
msgstr "swapoff-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8892
#, no-wrap
msgid ""
" swapoff-device device\n"
"\n"
msgstr ""
" swapoff-device device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8894
msgid ""
"This command disables the libguestfs appliance swap device or partition "
"named C<device>.  See L</swapon-device>."
msgstr ""
"This command disables the libguestfs appliance swap device or partition "
"named C<device>.  See L</swapon-device>."

#. type: =head2
#: ../fish/guestfish-actions.pod:8898
msgid "swapoff-file"
msgstr "swapoff-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8900
#, no-wrap
msgid ""
" swapoff-file file\n"
"\n"
msgstr ""
" swapoff-file file\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8902 ../lib/guestfs-actions.pod:14308
msgid "This command disables the libguestfs appliance swap on file."
msgstr "This command disables the libguestfs appliance swap on file."

#. type: =head2
#: ../fish/guestfish-actions.pod:8904
msgid "swapoff-label"
msgstr "swapoff-label"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8906
#, no-wrap
msgid ""
" swapoff-label label\n"
"\n"
msgstr ""
" swapoff-label label\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8908 ../lib/guestfs-actions.pod:14320
msgid ""
"This command disables the libguestfs appliance swap on labeled swap "
"partition."
msgstr ""
"This command disables the libguestfs appliance swap on labelled swap "
"partition."

#. type: =head2
#: ../fish/guestfish-actions.pod:8911
msgid "swapoff-uuid"
msgstr "swapoff-uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8913
#, no-wrap
msgid ""
" swapoff-uuid uuid\n"
"\n"
msgstr ""
" swapoff-uuid uuid\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8915 ../lib/guestfs-actions.pod:14333
msgid ""
"This command disables the libguestfs appliance swap partition with the given "
"UUID."
msgstr ""
"This command disables the libguestfs appliance swap partition with the given "
"UUID."

#. type: =head2
#: ../fish/guestfish-actions.pod:8921
msgid "swapon-device"
msgstr "swapon-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8923
#, no-wrap
msgid ""
" swapon-device device\n"
"\n"
msgstr ""
" swapon-device device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8925
msgid ""
"This command enables the libguestfs appliance to use the swap device or "
"partition named C<device>.  The increased memory is made available for all "
"commands, for example those run using L</command> or L</sh>."
msgstr ""
"This command enables the libguestfs appliance to use the swap device or "
"partition named C<device>.  The increased memory is made available for all "
"commands, for example those run using L</command> or L</sh>."

#. type: textblock
#: ../fish/guestfish-actions.pod:8930 ../lib/guestfs-actions.pod:14354
msgid ""
"Note that you should not swap to existing guest swap partitions unless you "
"know what you are doing.  They may contain hibernation information, or other "
"information that the guest doesn't want you to trash.  You also risk leaking "
"information about the host to the guest this way.  Instead, attach a new "
"host device to the guest and swap on that."
msgstr ""
"Note that you should not swap to existing guest swap partitions unless you "
"know what you are doing.  They may contain hibernation information, or other "
"information that the guest doesn't want you to trash.  You also risk leaking "
"information about the host to the guest this way.  Instead, attach a new "
"host device to the guest and swap on that."

#. type: =head2
#: ../fish/guestfish-actions.pod:8937
msgid "swapon-file"
msgstr "swapon-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8939
#, no-wrap
msgid ""
" swapon-file file\n"
"\n"
msgstr ""
" swapon-file file\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8941
msgid ""
"This command enables swap to a file.  See L</swapon-device> for other notes."
msgstr ""
"This command enables swap to a file.  See L</swapon-device> for other notes."

#. type: =head2
#: ../fish/guestfish-actions.pod:8944
msgid "swapon-label"
msgstr "swapon-label"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8946
#, no-wrap
msgid ""
" swapon-label label\n"
"\n"
msgstr ""
" swapon-label label\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8948
msgid ""
"This command enables swap to a labeled swap partition.  See L</swapon-"
"device> for other notes."
msgstr ""
"This command enables swap to a labelled swap partition.  See L</swapon-"
"device> for other notes."

#. type: =head2
#: ../fish/guestfish-actions.pod:8951
msgid "swapon-uuid"
msgstr "swapon-uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8953
#, no-wrap
msgid ""
" swapon-uuid uuid\n"
"\n"
msgstr ""
" swapon-uuid uuid\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8955
msgid ""
"This command enables swap to a swap partition with the given UUID.  See L</"
"swapon-device> for other notes."
msgstr ""
"This command enables swap to a swap partition with the given UUID.  See L</"
"swapon-device> for other notes."

#. type: =head2
#: ../fish/guestfish-actions.pod:8961
msgid "sync"
msgstr "sync"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8963
#, no-wrap
msgid ""
" sync\n"
"\n"
msgstr ""
" sync\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8965 ../lib/guestfs-actions.pod:14412
msgid ""
"This syncs the disk, so that any writes are flushed through to the "
"underlying disk image."
msgstr ""
"This syncs the disk, so that any writes are flushed through to the "
"underlying disk image."

#. type: textblock
#: ../fish/guestfish-actions.pod:8968 ../lib/guestfs-actions.pod:14415
msgid ""
"You should always call this if you have modified a disk image, before "
"closing the handle."
msgstr ""
"You should always call this if you have modified a disk image, before "
"closing the handle."

#. type: =head2
#: ../fish/guestfish-actions.pod:8971
msgid "syslinux"
msgstr "syslinux"

#. type: verbatim
#: ../fish/guestfish-actions.pod:8973
#, no-wrap
msgid ""
" syslinux device [directory:..]\n"
"\n"
msgstr ""
" syslinux device [directory:..]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:8975 ../lib/guestfs-actions.pod:14436
msgid "Install the SYSLINUX bootloader on C<device>."
msgstr "Install the SYSLINUX bootloader on C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:8977
msgid ""
"The device parameter must be either a whole disk formatted as a FAT "
"filesystem, or a partition formatted as a FAT filesystem.  In the latter "
"case, the partition should be marked as \"active\" (L</part-set-bootable>) "
"and a Master Boot Record must be installed (eg. using L</pwrite-device>) on "
"the first sector of the whole disk.  The SYSLINUX package comes with some "
"suitable Master Boot Records.  See the L<syslinux(1)> man page for further "
"information."
msgstr ""
"The device parameter must be either a whole disk formatted as a FAT "
"filesystem, or a partition formatted as a FAT filesystem.  In the latter "
"case, the partition should be marked as \"active\" (L</part-set-bootable>) "
"and a Master Boot Record must be installed (eg. using L</pwrite-device>) on "
"the first sector of the whole disk.  The SYSLINUX package comes with some "
"suitable Master Boot Records.  See the L<syslinux(1)> man page for further "
"information."

#. type: =item
#: ../fish/guestfish-actions.pod:8990 ../lib/guestfs-actions.pod:14451
msgid "F<directory>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:8992 ../lib/guestfs-actions.pod:14453
msgid ""
"Install SYSLINUX in the named subdirectory, instead of in the root directory "
"of the FAT filesystem."
msgstr ""
"Install SYSLINUX in the named subdirectory, instead of in the root directory "
"of the FAT filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:8997 ../lib/guestfs-actions.pod:14458
msgid ""
"Additional configuration can be supplied to SYSLINUX by placing a file "
"called F<syslinux.cfg> on the FAT filesystem, either in the root directory, "
"or under F<directory> if that optional argument is being used.  For further "
"information about the contents of this file, see L<syslinux(1)>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9003
msgid "See also L</extlinux>."
msgstr "See also L</extlinux>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9007
msgid ""
"This command depends on the feature C<syslinux>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9010
msgid "tail"
msgstr "tail"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9012
#, no-wrap
msgid ""
" tail path\n"
"\n"
msgstr ""
" tail path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9014 ../lib/guestfs-actions.pod:14501
msgid ""
"This command returns up to the last 10 lines of a file as a list of strings."
msgstr ""
"This command returns up to the last 10 lines of a file as a list of strings."

#. type: =head2
#: ../fish/guestfish-actions.pod:9020
msgid "tail-n"
msgstr "tail-n"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9022
#, no-wrap
msgid ""
" tail-n nrlines path\n"
"\n"
msgstr ""
" tail-n nrlines path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9024 ../lib/guestfs-actions.pod:14520
msgid ""
"If the parameter C<nrlines> is a positive number, this returns the last "
"C<nrlines> lines of the file C<path>."
msgstr ""
"If the parameter C<nrlines> is a positive number, this returns the last "
"C<nrlines> lines of the file C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9027 ../lib/guestfs-actions.pod:14523
#, fuzzy
#| msgid ""
#| "If the parameter C<nrlines> is a negative number, this returns lines from "
#| "the file C<path>, starting with the C<-nrlines>th line."
msgid ""
"If the parameter C<nrlines> is a negative number, this returns lines from "
"the file C<path>, starting with the C<-nrlines>'th line."
msgstr ""
"If the parameter C<nrlines> is a negative number, this returns lines from "
"the file C<path>, starting with the C<-nrlines>th line."

#. type: =head2
#: ../fish/guestfish-actions.pod:9035
msgid "tar-in"
msgstr "tar-in"

#. type: =head2
#: ../fish/guestfish-actions.pod:9037
msgid "tar-in-opts"
msgstr "tar-in-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9039
#, no-wrap
msgid ""
" tar-in (tarfile|-) directory [compress:..] [xattrs:true|false] [selinux:true|false] [acls:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9041 ../lib/guestfs-actions.pod:14569
msgid ""
"This command uploads and unpacks local file C<tarfile> into F<directory>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9043 ../lib/guestfs-actions.pod:14571
msgid ""
"The optional C<compress> flag controls compression.  If not given, then the "
"input should be an uncompressed tar file.  Otherwise one of the following "
"strings may be given to select the compression type of the input file: "
"C<compress>, C<gzip>, C<bzip2>, C<xz>, C<lzop>.  (Note that not all builds "
"of libguestfs will support all of these compression types)."
msgstr ""
"The optional C<compress> flag controls compression.  If not given, then the "
"input should be an uncompressed tar file.  Otherwise one of the following "
"strings may be given to select the compression type of the input file: "
"C<compress>, C<gzip>, C<bzip2>, C<xz>, C<lzop>.  (Note that not all builds "
"of libguestfs will support all of these compression types)."

#. type: =item
#: ../fish/guestfish-actions.pod:9054 ../fish/guestfish-actions.pod:9102
#: ../lib/guestfs-actions.pod:14582 ../lib/guestfs-actions.pod:14682
msgid "C<xattrs>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9056 ../lib/guestfs-actions.pod:14584
msgid "If set to true, extended attributes are restored from the tar file."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:9058 ../fish/guestfish-actions.pod:9106
#: ../lib/guestfs-actions.pod:14586 ../lib/guestfs-actions.pod:14686
msgid "C<selinux>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9060 ../lib/guestfs-actions.pod:14588
msgid "If set to true, SELinux contexts are restored from the tar file."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:9062 ../fish/guestfish-actions.pod:9110
#: ../lib/guestfs-actions.pod:14590 ../lib/guestfs-actions.pod:14690
msgid "C<acls>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9064 ../lib/guestfs-actions.pod:14592
msgid "If set to true, POSIX ACLs are restored from the tar file."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9072
msgid "tar-out"
msgstr "tar-out"

#. type: =head2
#: ../fish/guestfish-actions.pod:9074
msgid "tar-out-opts"
msgstr "tar-out-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9076
#, no-wrap
msgid ""
" tar-out directory (tarfile|-) [compress:..] [numericowner:true|false] [excludes:..] [xattrs:true|false] [selinux:true|false] [acls:true|false]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9078 ../lib/guestfs-actions.pod:14658
msgid ""
"This command packs the contents of F<directory> and downloads it to local "
"file C<tarfile>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9081 ../lib/guestfs-actions.pod:14661
msgid ""
"The optional C<compress> flag controls compression.  If not given, then the "
"output will be an uncompressed tar file.  Otherwise one of the following "
"strings may be given to select the compression type of the output file: "
"C<compress>, C<gzip>, C<bzip2>, C<xz>, C<lzop>.  (Note that not all builds "
"of libguestfs will support all of these compression types)."
msgstr ""
"The optional C<compress> flag controls compression.  If not given, then the "
"output will be an uncompressed tar file.  Otherwise one of the following "
"strings may be given to select the compression type of the output file: "
"C<compress>, C<gzip>, C<bzip2>, C<xz>, C<lzop>.  (Note that not all builds "
"of libguestfs will support all of these compression types)."

#. type: =item
#: ../fish/guestfish-actions.pod:9097 ../lib/guestfs-actions.pod:14677
msgid "C<numericowner>"
msgstr "C<numericowner>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9099 ../lib/guestfs-actions.pod:14679
msgid ""
"If set to true, the output tar file will contain UID/GID numbers instead of "
"user/group names."
msgstr ""
"If set to true, the output tar file will contain UID/GID numbers instead of "
"user/group names."

#. type: textblock
#: ../fish/guestfish-actions.pod:9104 ../lib/guestfs-actions.pod:14684
msgid "If set to true, extended attributes are saved in the output tar."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9108 ../lib/guestfs-actions.pod:14688
msgid "If set to true, SELinux contexts are saved in the output tar."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9112 ../lib/guestfs-actions.pod:14692
msgid "If set to true, POSIX ACLs are saved in the output tar."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9120
msgid "tgz-in"
msgstr "tgz-in"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9122
#, no-wrap
msgid ""
" tgz-in (tarball|-) directory\n"
"\n"
msgstr ""
" tgz-in (tarball|-) directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9124 ../lib/guestfs-actions.pod:14738
msgid ""
"This command uploads and unpacks local file C<tarball> (a I<gzip compressed> "
"tar file) into F<directory>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9129 ../fish/guestfish-actions.pod:9283
msgid ""
"I<This function is deprecated.> In new code, use the L</tar-in> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</tar-in> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:9136
msgid "tgz-out"
msgstr "tgz-out"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9138
#, no-wrap
msgid ""
" tgz-out directory (tarball|-)\n"
"\n"
msgstr ""
" tgz-out directory (tarball|-)\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9140 ../lib/guestfs-actions.pod:14759
msgid ""
"This command packs the contents of F<directory> and downloads it to local "
"file C<tarball>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9145 ../fish/guestfish-actions.pod:9302
msgid ""
"I<This function is deprecated.> In new code, use the L</tar-out> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</tar-out> call "
"instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:9152
msgid "touch"
msgstr "touch"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9154
#, no-wrap
msgid ""
" touch path\n"
"\n"
msgstr ""
" touch path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9156 ../lib/guestfs-actions.pod:14772
msgid ""
"Touch acts like the L<touch(1)> command.  It can be used to update the "
"timestamps on a file, or, if the file does not exist, to create a new zero-"
"length file."
msgstr ""
"Touch acts like the L<touch(1)> command.  It can be used to update the "
"timestamps on a file, or, if the file does not exist, to create a new zero-"
"length file."

#. type: textblock
#: ../fish/guestfish-actions.pod:9160 ../lib/guestfs-actions.pod:14776
msgid ""
"This command only works on regular files, and will fail on other file types "
"such as directories, symbolic links, block special etc."
msgstr ""
"This command only works on regular files, and will fail on other file types "
"such as directories, symbolic links, block special etc."

#. type: =head2
#: ../fish/guestfish-actions.pod:9163
msgid "truncate"
msgstr "truncate"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9165
#, no-wrap
msgid ""
" truncate path\n"
"\n"
msgstr ""
" truncate path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9167 ../lib/guestfs-actions.pod:14789
msgid ""
"This command truncates C<path> to a zero-length file.  The file must exist "
"already."
msgstr ""
"This command truncates C<path> to a zero-length file.  The file must exist "
"already."

#. type: =head2
#: ../fish/guestfish-actions.pod:9170
msgid "truncate-size"
msgstr "truncate-size"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9172
#, no-wrap
msgid ""
" truncate-size path size\n"
"\n"
msgstr ""
" truncate-size path size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9174 ../lib/guestfs-actions.pod:14803
msgid ""
"This command truncates C<path> to size C<size> bytes.  The file must exist "
"already."
msgstr ""
"This command truncates C<path> to size C<size> bytes.  The file must exist "
"already."

#. type: textblock
#: ../fish/guestfish-actions.pod:9177
msgid ""
"If the current file size is less than C<size> then the file is extended to "
"the required size with zero bytes.  This creates a sparse file (ie. disk "
"blocks are not allocated for the file until you write to it).  To create a "
"non-sparse file of zeroes, use L</fallocate64> instead."
msgstr ""
"If the current file size is less than C<size> then the file is extended to "
"the required size with zero bytes.  This creates a sparse file (ie. disk "
"blocks are not allocated for the file until you write to it).  To create a "
"non-sparse file of zeroes, use L</fallocate64> instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:9183
msgid "tune2fs"
msgstr "tune2fs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9185
#, no-wrap
msgid ""
" tune2fs device [force:true|false] [maxmountcount:N] [mountcount:N] [errorbehavior:..] [group:N] [intervalbetweenchecks:N] [reservedblockspercentage:N] [lastmounteddirectory:..] [reservedblockscount:N] [user:N]\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9187 ../lib/guestfs-actions.pod:14839
msgid ""
"This call allows you to adjust various filesystem parameters of an ext2/ext3/"
"ext4 filesystem called C<device>."
msgstr ""
"This call allows you to adjust various filesystem parameters of an ext2/ext3/"
"ext4 filesystem called C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9196 ../lib/guestfs-actions.pod:14848
#, fuzzy
#| msgid ""
#| "Force tune2fs to complete the operation even in the face of errors.  This "
#| "is the same as the tune2fs C<-f> option."
msgid ""
"Force tune2fs to complete the operation even in the face of errors.  This is "
"the same as the L<tune2fs(8)> C<-f> option."
msgstr ""
"Force tune2fs to complete the operation even in the face of errors.  This is "
"the same as the tune2fs C<-f> option."

#. type: =item
#: ../fish/guestfish-actions.pod:9199 ../lib/guestfs-actions.pod:14851
msgid "C<maxmountcount>"
msgstr "C<maxmountcount>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9201 ../lib/guestfs-actions.pod:14853
#, fuzzy
#| msgid ""
#| "Set the number of mounts after which the filesystem is checked by "
#| "L<e2fsck(8)>.  If this is C<0> then the number of mounts is disregarded.  "
#| "This is the same as the tune2fs C<-c> option."
msgid ""
"Set the number of mounts after which the filesystem is checked by "
"L<e2fsck(8)>.  If this is C<0> then the number of mounts is disregarded.  "
"This is the same as the L<tune2fs(8)> C<-c> option."
msgstr ""
"Set the number of mounts after which the filesystem is checked by "
"L<e2fsck(8)>.  If this is C<0> then the number of mounts is disregarded.  "
"This is the same as the tune2fs C<-c> option."

#. type: =item
#: ../fish/guestfish-actions.pod:9205 ../lib/guestfs-actions.pod:14857
msgid "C<mountcount>"
msgstr "C<mountcount>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9207 ../lib/guestfs-actions.pod:14859
#, fuzzy
#| msgid ""
#| "Set the number of times the filesystem has been mounted.  This is the "
#| "same as the tune2fs C<-C> option."
msgid ""
"Set the number of times the filesystem has been mounted.  This is the same "
"as the L<tune2fs(8)> C<-C> option."
msgstr ""
"Set the number of times the filesystem has been mounted.  This is the same "
"as the tune2fs C<-C> option."

#. type: =item
#: ../fish/guestfish-actions.pod:9210 ../lib/guestfs-actions.pod:14862
msgid "C<errorbehavior>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9212 ../lib/guestfs-actions.pod:14864
msgid ""
"Change the behavior of the kernel code when errors are detected.  Possible "
"values currently are: C<continue>, C<remount-ro>, C<panic>.  In practice "
"these options don't really make any difference, particularly for write "
"errors."
msgstr ""
"Change the behaviour of the kernel code when errors are detected.  Possible "
"values currently are: C<continue>, C<remount-ro>, C<panic>.  In practice "
"these options don't really make any difference, particularly for write "
"errors."

#. type: textblock
#: ../fish/guestfish-actions.pod:9217 ../lib/guestfs-actions.pod:14869
#, fuzzy
#| msgid "This is the same as the tune2fs C<-e> option."
msgid "This is the same as the L<tune2fs(8)> C<-e> option."
msgstr "This is the same as the tune2fs C<-e> option."

#. type: =item
#: ../fish/guestfish-actions.pod:9219 ../lib/guestfs-actions.pod:14871
msgid "C<group>"
msgstr "C<group>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9221 ../lib/guestfs-actions.pod:14873
#, fuzzy
#| msgid ""
#| "Set the group which can use reserved filesystem blocks.  This is the same "
#| "as the tune2fs C<-g> option except that it can only be specified as a "
#| "number."
msgid ""
"Set the group which can use reserved filesystem blocks.  This is the same as "
"the L<tune2fs(8)> C<-g> option except that it can only be specified as a "
"number."
msgstr ""
"Set the group which can use reserved filesystem blocks.  This is the same as "
"the tune2fs C<-g> option except that it can only be specified as a number."

#. type: =item
#: ../fish/guestfish-actions.pod:9225 ../lib/guestfs-actions.pod:14877
msgid "C<intervalbetweenchecks>"
msgstr "C<intervalbetweenchecks>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9227 ../lib/guestfs-actions.pod:14879
msgid ""
"Adjust the maximal time between two filesystem checks (in seconds).  If the "
"option is passed as C<0> then time-dependent checking is disabled."
msgstr ""
"Adjust the maximal time between two filesystem checks (in seconds).  If the "
"option is passed as C<0> then time-dependent checking is disabled."

#. type: textblock
#: ../fish/guestfish-actions.pod:9231 ../lib/guestfs-actions.pod:14883
#, fuzzy
#| msgid "This is the same as the tune2fs C<-i> option."
msgid "This is the same as the L<tune2fs(8)> C<-i> option."
msgstr "This is the same as the tune2fs C<-i> option."

#. type: =item
#: ../fish/guestfish-actions.pod:9233 ../lib/guestfs-actions.pod:14885
msgid "C<reservedblockspercentage>"
msgstr "C<reservedblockspercentage>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9235 ../lib/guestfs-actions.pod:14887
#, fuzzy
#| msgid ""
#| "Set the percentage of the filesystem which may only be allocated by "
#| "privileged processes.  This is the same as the tune2fs C<-m> option."
msgid ""
"Set the percentage of the filesystem which may only be allocated by "
"privileged processes.  This is the same as the L<tune2fs(8)> C<-m> option."
msgstr ""
"Set the percentage of the filesystem which may only be allocated by "
"privileged processes.  This is the same as the tune2fs C<-m> option."

#. type: =item
#: ../fish/guestfish-actions.pod:9239 ../lib/guestfs-actions.pod:14891
msgid "C<lastmounteddirectory>"
msgstr "C<lastmounteddirectory>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9241 ../lib/guestfs-actions.pod:14893
#, fuzzy
#| msgid ""
#| "Set the last mounted directory.  This is the same as the tune2fs C<-M> "
#| "option."
msgid ""
"Set the last mounted directory.  This is the same as the L<tune2fs(8)> C<-M> "
"option."
msgstr ""
"Set the last mounted directory.  This is the same as the tune2fs C<-M> "
"option."

#. type: =item
#: ../fish/guestfish-actions.pod:9244 ../lib/guestfs-actions.pod:14896
#, fuzzy
#| msgid ""
#| "C<reservedblockscount> Set the number of reserved filesystem blocks.  "
#| "This is the same as the tune2fs C<-r> option."
msgid ""
"C<reservedblockscount> Set the number of reserved filesystem blocks.  This "
"is the same as the L<tune2fs(8)> C<-r> option."
msgstr ""
"C<reservedblockscount> Set the number of reserved filesystem blocks.  This "
"is the same as the tune2fs C<-r> option."

#. type: =item
#: ../fish/guestfish-actions.pod:9248 ../lib/guestfs-actions.pod:14900
msgid "C<user>"
msgstr "C<user>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9250 ../lib/guestfs-actions.pod:14902
#, fuzzy
#| msgid ""
#| "Set the user who can use the reserved filesystem blocks.  This is the "
#| "same as the tune2fs C<-u> option except that it can only be specified as "
#| "a number."
msgid ""
"Set the user who can use the reserved filesystem blocks.  This is the same "
"as the L<tune2fs(8)> C<-u> option except that it can only be specified as a "
"number."
msgstr ""
"Set the user who can use the reserved filesystem blocks.  This is the same "
"as the tune2fs C<-u> option except that it can only be specified as a number."

#. type: textblock
#: ../fish/guestfish-actions.pod:9256
msgid ""
"To get the current values of filesystem parameters, see L</tune2fs-l>.  For "
"precise details of how tune2fs works, see the L<tune2fs(8)> man page."
msgstr ""
"To get the current values of filesystem parameters, see L</tune2fs-l>.  For "
"precise details of how tune2fs works, see the L<tune2fs(8)> man page."

#. type: =head2
#: ../fish/guestfish-actions.pod:9262
msgid "tune2fs-l"
msgstr "tune2fs-l"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9264
#, no-wrap
msgid ""
" tune2fs-l device\n"
"\n"
msgstr ""
" tune2fs-l device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9266 ../lib/guestfs-actions.pod:14944
msgid ""
"This returns the contents of the ext2, ext3 or ext4 filesystem superblock on "
"C<device>."
msgstr ""
"This returns the contents of the ext2, ext3 or ext4 filesystem superblock on "
"C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9269 ../lib/guestfs-actions.pod:14947
msgid ""
"It is the same as running C<tune2fs -l device>.  See L<tune2fs(8)> manpage "
"for more details.  The list of fields returned isn't clearly defined, and "
"depends on both the version of C<tune2fs> that libguestfs was built against, "
"and the filesystem itself."
msgstr ""
"It is the same as running C<tune2fs -l device>.  See L<tune2fs(8)> manpage "
"for more details.  The list of fields returned isn't clearly defined, and "
"depends on both the version of C<tune2fs> that libguestfs was built against, "
"and the filesystem itself."

#. type: =head2
#: ../fish/guestfish-actions.pod:9274
msgid "txz-in"
msgstr "txz-in"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9276
#, no-wrap
msgid ""
" txz-in (tarball|-) directory\n"
"\n"
msgstr ""
" txz-in (tarball|-) directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9278 ../lib/guestfs-actions.pod:14974
msgid ""
"This command uploads and unpacks local file C<tarball> (an I<xz compressed> "
"tar file) into F<directory>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9290 ../fish/guestfish-actions.pod:9309
msgid ""
"This command depends on the feature C<xz>.  See also L</feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9293
msgid "txz-out"
msgstr "txz-out"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9295
#, no-wrap
msgid ""
" txz-out directory (tarball|-)\n"
"\n"
msgstr ""
" txz-out directory (tarball|-)\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9297 ../lib/guestfs-actions.pod:14998
msgid ""
"This command packs the contents of F<directory> and downloads it to local "
"file C<tarball> (as an xz compressed tar archive)."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9312
msgid "umask"
msgstr "umask"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9314
#, no-wrap
msgid ""
" umask mask\n"
"\n"
msgstr ""
" umask mask\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9316 ../lib/guestfs-actions.pod:15014
msgid ""
"This function sets the mask used for creating new files and device nodes to "
"C<mask & 0777>."
msgstr ""
"This function sets the mask used for creating new files and device nodes to "
"C<mask & 0777>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9319 ../lib/guestfs-actions.pod:15017
msgid ""
"Typical umask values would be C<022> which creates new files with "
"permissions like \"-rw-r--r--\" or \"-rwxr-xr-x\", and C<002> which creates "
"new files with permissions like \"-rw-rw-r--\" or \"-rwxrwxr-x\"."
msgstr ""
"Typical umask values would be C<022> which creates new files with "
"permissions like \"-rw-r--r--\" or \"-rwxr-xr-x\", and C<002> which creates "
"new files with permissions like \"-rw-rw-r--\" or \"-rwxrwxr-x\"."

#. type: textblock
#: ../fish/guestfish-actions.pod:9324 ../lib/guestfs-actions.pod:15022
msgid ""
"The default umask is C<022>.  This is important because it means that "
"directories and device nodes will be created with C<0644> or C<0755> mode "
"even if you specify C<0777>."
msgstr ""
"The default umask is C<022>.  This is important because it means that "
"directories and device nodes will be created with C<0644> or C<0755> mode "
"even if you specify C<0777>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9328
msgid "See also L</get-umask>, L<umask(2)>, L</mknod>, L</mkdir>."
msgstr "See also L</get-umask>, L<umask(2)>, L</mknod>, L</mkdir>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9331 ../lib/guestfs-actions.pod:15029
msgid "This call returns the previous umask."
msgstr "This call returns the previous umask."

#. type: =head2
#: ../fish/guestfish-actions.pod:9333
msgid "umount"
msgstr "umount"

#. type: =head2
#: ../fish/guestfish-actions.pod:9335
msgid "unmount"
msgstr "unmount"

#. type: =head2
#: ../fish/guestfish-actions.pod:9337
msgid "umount-opts"
msgstr "umount-opts"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9339
#, no-wrap
msgid ""
" umount pathordevice [force:true|false] [lazyunmount:true|false]\n"
"\n"
msgstr ""
" umount pathordevice [force:true|false] [lazyunmount:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9341 ../lib/guestfs-actions.pod:15063
msgid ""
"This unmounts the given filesystem.  The filesystem may be specified either "
"by its mountpoint (path) or the device which contains the filesystem."
msgstr ""
"This unmounts the given filesystem.  The filesystem may be specified either "
"by its mountpoint (path) or the device which contains the filesystem."

#. type: =head2
#: ../fish/guestfish-actions.pod:9347
msgid "umount-all"
msgstr "umount-all"

#. type: =head2
#: ../fish/guestfish-actions.pod:9349
msgid "unmount-all"
msgstr "unmount-all"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9351
#, no-wrap
msgid ""
" umount-all\n"
"\n"
msgstr ""
" umount-all\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9353 ../lib/guestfs-actions.pod:15098
msgid "This unmounts all mounted filesystems."
msgstr "This unmounts all mounted filesystems."

#. type: textblock
#: ../fish/guestfish-actions.pod:9355 ../lib/guestfs-actions.pod:15100
msgid "Some internal mounts are not unmounted by this call."
msgstr "Some internal mounts are not unmounted by this call."

#. type: =head2
#: ../fish/guestfish-actions.pod:9357
msgid "umount-local"
msgstr "umount-local"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9359
#, no-wrap
msgid ""
" umount-local [retry:true|false]\n"
"\n"
msgstr ""
" umount-local [retry:true|false]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9361 ../lib/guestfs-actions.pod:15119
msgid ""
"If libguestfs is exporting the filesystem on a local mountpoint, then this "
"unmounts it."
msgstr ""
"If libguestfs is exporting the filesystem on a local mountpoint, then this "
"unmounts it."

#. type: =head2
#: ../fish/guestfish-actions.pod:9368
msgid "upload"
msgstr "upload"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9370
#, no-wrap
msgid ""
" upload (filename|-) remotefilename\n"
"\n"
msgstr ""
" upload (filename|-) remotefilename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9372 ../fish/guestfish-actions.pod:9385
#: ../lib/guestfs-actions.pod:15155 ../lib/guestfs-actions.pod:15179
msgid "Upload local file F<filename> to F<remotefilename> on the filesystem."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9377
msgid "See also L</download>."
msgstr "See also L</download>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9381
msgid "upload-offset"
msgstr "upload-offset"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9383
#, no-wrap
msgid ""
" upload-offset (filename|-) remotefilename offset\n"
"\n"
msgstr ""
" upload-offset (filename|-) remotefilename offset\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9388 ../lib/guestfs-actions.pod:15182
msgid ""
"F<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-existent 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 F<filename>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9395
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 ""
"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."

#. type: textblock
#: ../fish/guestfish-actions.pod:9400
msgid "See also L</upload>, L</pwrite>."
msgstr "See also L</upload>, L</pwrite>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9404
msgid "user-cancel"
msgstr "user-cancel"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9406
#, no-wrap
msgid ""
" user-cancel\n"
"\n"
msgstr ""
" user-cancel\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9408 ../lib/guestfs-actions.pod:15210
msgid "This function cancels the current upload or download operation."
msgstr "This function cancels the current upload or download operation."

#. type: textblock
#: ../fish/guestfish-actions.pod:9410 ../lib/guestfs-actions.pod:15212
msgid ""
"Unlike most other libguestfs calls, this function is signal safe and thread "
"safe.  You can call it from a signal handler or from another thread, without "
"needing to do any locking."
msgstr ""
"Unlike most other libguestfs calls, this function is signal safe and thread "
"safe.  You can call it from a signal handler or from another thread, without "
"needing to do any locking."

#. type: textblock
#: ../fish/guestfish-actions.pod:9414 ../lib/guestfs-actions.pod:15216
msgid ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error.  The errno (see L</"
"guestfs_last_errno>) is set to C<EINTR>, so you can test for this to find "
"out if the operation was cancelled or failed because of another error."
msgstr ""
"The transfer that was in progress (if there is one) will stop shortly "
"afterwards, and will return an error.  The errno (see L</"
"guestfs_last_errno>) is set to C<EINTR>, so you can test for this to find "
"out if the operation was cancelled or failed because of another error."

#. type: textblock
#: ../fish/guestfish-actions.pod:9420 ../lib/guestfs-actions.pod:15222
msgid ""
"No cleanup is performed: for example, if a file was being uploaded then "
"after cancellation there may be a partially uploaded file.  It is the "
"caller’s responsibility to clean up if necessary."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9424
msgid "There are two common places that you might call L</user-cancel>:"
msgstr "There are two common places that you might call L</user-cancel>:"

#. type: textblock
#: ../fish/guestfish-actions.pod:9426
#, fuzzy
#| msgid ""
#| "In an interactive text-based program, you might call it from a C<SIGINT> "
#| "signal handler so that pressing C<^C> cancels the current operation.  "
#| "(You also need to call L</guestfs_set_pgroup> so that child processes "
#| "don't receive the C<^C> signal)."
msgid ""
"In an interactive text-based program, you might call it from a C<SIGINT> "
"signal handler so that pressing C<^C> cancels the current operation.  (You "
"also need to call L</set-pgroup> so that child processes don't receive the "
"C<^C> signal)."
msgstr ""
"In an interactive text-based program, you might call it from a C<SIGINT> "
"signal handler so that pressing C<^C> cancels the current operation.  (You "
"also need to call L</guestfs_set_pgroup> so that child processes don't "
"receive the C<^C> signal)."

#. type: textblock
#: ../fish/guestfish-actions.pod:9431 ../lib/guestfs-actions.pod:15233
msgid ""
"In a graphical program, when the main thread is displaying a progress bar "
"with a cancel button, wire up the cancel button to call this function."
msgstr ""
"In a graphical program, when the main thread is displaying a progress bar "
"with a cancel button, wire up the cancel button to call this function."

#. type: =head2
#: ../fish/guestfish-actions.pod:9435
msgid "utimens"
msgstr "utimens"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9437
#, no-wrap
msgid ""
" utimens path atsecs atnsecs mtsecs mtnsecs\n"
"\n"
msgstr ""
" utimens path atsecs atnsecs mtsecs mtnsecs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9439 ../lib/guestfs-actions.pod:15251
msgid "This command sets the timestamps of a file with nanosecond precision."
msgstr "This command sets the timestamps of a file with nanosecond precision."

#. type: textblock
#: ../fish/guestfish-actions.pod:9442 ../lib/guestfs-actions.pod:15254
#, fuzzy
#| msgid ""
#| "C<atsecs, atnsecs> are the last access time (atime) in secs and "
#| "nanoseconds from the epoch."
msgid ""
"C<atsecs>, C<atnsecs> are the last access time (atime) in secs and "
"nanoseconds from the epoch."
msgstr ""
"C<atsecs, atnsecs> are the last access time (atime) in secs and nanoseconds "
"from the epoch."

#. type: textblock
#: ../fish/guestfish-actions.pod:9445 ../lib/guestfs-actions.pod:15257
#, fuzzy
#| msgid ""
#| "C<mtsecs, mtnsecs> are the last modification time (mtime) in secs and "
#| "nanoseconds from the epoch."
msgid ""
"C<mtsecs>, C<mtnsecs> are the last modification time (mtime) in secs and "
"nanoseconds from the epoch."
msgstr ""
"C<mtsecs, mtnsecs> are the last modification time (mtime) in secs and "
"nanoseconds from the epoch."

#. type: textblock
#: ../fish/guestfish-actions.pod:9448 ../lib/guestfs-actions.pod:15260
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 ""
"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)."

#. type: textblock
#: ../fish/guestfish-actions.pod:9452 ../lib/guestfs-actions.pod:15264
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 ""
"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)."

#. type: =head2
#: ../fish/guestfish-actions.pod:9456
msgid "utsname"
msgstr "utsname"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9458
#, no-wrap
msgid ""
" utsname\n"
"\n"
msgstr ""
" utsname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9460 ../lib/guestfs-actions.pod:15277
msgid ""
"This returns the kernel version of the appliance, where this is available.  "
"This information is only useful for debugging.  Nothing in the returned "
"structure is defined by the API."
msgstr ""
"This returns the kernel version of the appliance, where this is available.  "
"This information is only useful for debugging.  Nothing in the returned "
"structure is defined by the API."

#. type: =head2
#: ../fish/guestfish-actions.pod:9464
msgid "version"
msgstr "version"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9466
#, no-wrap
msgid ""
" version\n"
"\n"
msgstr ""
" version\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9468 ../lib/guestfs-actions.pod:15292
msgid ""
"Return the libguestfs version number that the program is linked against."
msgstr ""
"Return the libguestfs version number that the program is linked against."

#. type: textblock
#: ../fish/guestfish-actions.pod:9471 ../lib/guestfs-actions.pod:15295
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 F<libguestfs.so> "
"library."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9476 ../lib/guestfs-actions.pod:15300
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:9482 ../lib/guestfs-actions.pod:15306
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 ""
"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."

#. type: textblock
#: ../fish/guestfish-actions.pod:9488 ../lib/guestfs-actions.pod:15312
msgid ""
"To construct the original version string: C<$major.$minor.$release$extra>"
msgstr ""
"To construct the original version string: C<$major.$minor.$release$extra>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9491 ../lib/guestfs-actions.pod:15315
msgid "See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."
msgstr "See also: L<guestfs(3)/LIBGUESTFS VERSION NUMBERS>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9493
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> or L</feature-available> instead."
msgstr ""
"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> or L</feature-available> instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:9499
msgid "vfs-label"
msgstr "vfs-label"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9501
#, no-wrap
msgid ""
" vfs-label mountable\n"
"\n"
msgstr ""
" vfs-label mountable\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9503 ../lib/guestfs-actions.pod:15335
msgid "This returns the label of the filesystem on C<mountable>."
msgstr "This returns the label of the filesystem on C<mountable>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9505 ../lib/guestfs-actions.pod:15337
msgid "If the filesystem is unlabeled, this returns the empty string."
msgstr "If the filesystem is unlabelled, this returns the empty string."

#. type: textblock
#: ../fish/guestfish-actions.pod:9507
msgid "To find a filesystem from the label, use L</findfs-label>."
msgstr "To find a filesystem from the label, use L</findfs-label>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9509
msgid "vfs-minimum-size"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:9511
#, no-wrap
msgid ""
" vfs-minimum-size mountable\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9513 ../lib/guestfs-actions.pod:15352
msgid ""
"Get the minimum size of filesystem in bytes.  This is the minimum possible "
"size for filesystem shrinking."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9516 ../lib/guestfs-actions.pod:15355
msgid ""
"If getting minimum size of specified filesystem is not supported, this will "
"fail and set errno as ENOTSUP."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9519 ../lib/guestfs-actions.pod:15358
msgid ""
"See also L<ntfsresize(8)>, L<resize2fs(8)>, L<btrfs(8)>, L<xfs_info(8)>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9521
msgid "vfs-type"
msgstr "vfs-type"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9523
#, no-wrap
msgid ""
" vfs-type mountable\n"
"\n"
msgstr ""
" vfs-type mountable\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9525 ../lib/guestfs-actions.pod:15370
msgid ""
"This command gets the filesystem type corresponding to the filesystem on "
"C<mountable>."
msgstr ""
"This command gets the filesystem type corresponding to the filesystem on "
"C<mountable>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9528 ../lib/guestfs-actions.pod:15373
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 ""
"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>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9533
msgid "vfs-uuid"
msgstr "vfs-uuid"

#. type: =head2
#: ../fish/guestfish-actions.pod:9535
msgid "get-uuid"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:9537
#, no-wrap
msgid ""
" vfs-uuid mountable\n"
"\n"
msgstr ""
" vfs-uuid mountable\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9539 ../lib/guestfs-actions.pod:15389
msgid "This returns the filesystem UUID of the filesystem on C<mountable>."
msgstr "This returns the filesystem UUID of the filesystem on C<mountable>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9541 ../lib/guestfs-actions.pod:15391
msgid "If the filesystem does not have a UUID, this returns the empty string."
msgstr "If the filesystem does not have a UUID, this returns the empty string."

#. type: textblock
#: ../fish/guestfish-actions.pod:9543
msgid "To find a filesystem from the UUID, use L</findfs-uuid>."
msgstr "To find a filesystem from the UUID, use L</findfs-uuid>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9545
msgid "vg-activate"
msgstr "vg-activate"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9547
#, no-wrap
msgid ""
" vg-activate true|false 'volgroups ...'\n"
"\n"
msgstr ""
" vg-activate true|false 'volgroups ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9549 ../lib/guestfs-actions.pod:15407
msgid ""
"This command activates or (if C<activate> is false) deactivates all logical "
"volumes in the listed volume groups C<volgroups>."
msgstr ""
"This command activates or (if C<activate> is false) deactivates all logical "
"volumes in the listed volume groups C<volgroups>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9552 ../lib/guestfs-actions.pod:15410
msgid "This command is the same as running C<vgchange -a y|n volgroups...>"
msgstr "This command is the same as running C<vgchange -a y|n volgroups...>"

#. type: textblock
#: ../fish/guestfish-actions.pod:9554 ../lib/guestfs-actions.pod:15412
msgid ""
"Note that if C<volgroups> is an empty list then B<all> volume groups are "
"activated or deactivated."
msgstr ""
"Note that if C<volgroups> is an empty list then B<all> volume groups are "
"activated or deactivated."

#. type: =head2
#: ../fish/guestfish-actions.pod:9560
msgid "vg-activate-all"
msgstr "vg-activate-all"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9562
#, no-wrap
msgid ""
" vg-activate-all true|false\n"
"\n"
msgstr ""
" vg-activate-all true|false\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9564 ../lib/guestfs-actions.pod:15428
msgid ""
"This command activates or (if C<activate> is false) deactivates all logical "
"volumes in all volume groups."
msgstr ""
"This command activates or (if C<activate> is false) deactivates all logical "
"volumes in all volume groups."

#. type: textblock
#: ../fish/guestfish-actions.pod:9567 ../lib/guestfs-actions.pod:15431
msgid "This command is the same as running C<vgchange -a y|n>"
msgstr "This command is the same as running C<vgchange -a y|n>"

#. type: =head2
#: ../fish/guestfish-actions.pod:9572
msgid "vgchange-uuid"
msgstr "vgchange-uuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9574
#, no-wrap
msgid ""
" vgchange-uuid vg\n"
"\n"
msgstr ""
" vgchange-uuid vg\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9576 ../lib/guestfs-actions.pod:15446
msgid "Generate a new random UUID for the volume group C<vg>."
msgstr "Generate a new random UUID for the volume group C<vg>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9581
msgid "vgchange-uuid-all"
msgstr "vgchange-uuid-all"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9583
#, no-wrap
msgid ""
" vgchange-uuid-all\n"
"\n"
msgstr ""
" vgchange-uuid-all\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9585 ../lib/guestfs-actions.pod:15460
msgid "Generate new random UUIDs for all volume groups."
msgstr "Generate new random UUIDs for all volume groups."

#. type: =head2
#: ../fish/guestfish-actions.pod:9590
msgid "vgcreate"
msgstr "vgcreate"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9592
#, no-wrap
msgid ""
" vgcreate volgroup 'physvols ...'\n"
"\n"
msgstr ""
" vgcreate volgroup 'physvols ...'\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9594 ../lib/guestfs-actions.pod:15476
msgid ""
"This creates an LVM volume group called C<volgroup> from the non-empty list "
"of physical volumes C<physvols>."
msgstr ""
"This creates an LVM volume group called C<volgroup> from the non-empty list "
"of physical volumes C<physvols>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9600
msgid "vglvuuids"
msgstr "vglvuuids"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9602
#, no-wrap
msgid ""
" vglvuuids vgname\n"
"\n"
msgstr ""
" vglvuuids vgname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9604 ../lib/guestfs-actions.pod:15492
msgid ""
"Given a VG called C<vgname>, this returns the UUIDs of all the logical "
"volumes created in this volume group."
msgstr ""
"Given a VG called C<vgname>, this returns the UUIDs of all the logical "
"volumes created in this volume group."

#. type: textblock
#: ../fish/guestfish-actions.pod:9607
msgid ""
"You can use this along with L</lvs> and L</lvuuid> calls to associate "
"logical volumes and volume groups."
msgstr ""
"You can use this along with L</lvs> and L</lvuuid> calls to associate "
"logical volumes and volume groups."

#. type: textblock
#: ../fish/guestfish-actions.pod:9610
msgid "See also L</vgpvuuids>."
msgstr "See also L</vgpvuuids>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9612
msgid "vgmeta"
msgstr "vgmeta"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9614
#, no-wrap
msgid ""
" vgmeta vgname\n"
"\n"
msgstr ""
" vgmeta vgname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9616 ../lib/guestfs-actions.pod:15513
msgid ""
"C<vgname> is an LVM volume group.  This command examines the volume group "
"and returns its metadata."
msgstr ""
"C<vgname> is an LVM volume group.  This command examines the volume group "
"and returns its metadata."

#. type: textblock
#: ../fish/guestfish-actions.pod:9619 ../lib/guestfs-actions.pod:15516
msgid ""
"Note that the metadata is an internal structure used by LVM, subject to "
"change at any time, and is provided for information only."
msgstr ""
"Note that the metadata is an internal structure used by LVM, subject to "
"change at any time, and is provided for information only."

#. type: =head2
#: ../fish/guestfish-actions.pod:9625
msgid "vgpvuuids"
msgstr "vgpvuuids"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9627
#, no-wrap
msgid ""
" vgpvuuids vgname\n"
"\n"
msgstr ""
" vgpvuuids vgname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9629 ../lib/guestfs-actions.pod:15534
msgid ""
"Given a VG called C<vgname>, this returns the UUIDs of all the physical "
"volumes that this volume group resides on."
msgstr ""
"Given a VG called C<vgname>, this returns the UUIDs of all the physical "
"volumes that this volume group resides on."

#. type: textblock
#: ../fish/guestfish-actions.pod:9632
msgid ""
"You can use this along with L</pvs> and L</pvuuid> calls to associate "
"physical volumes and volume groups."
msgstr ""
"You can use this along with L</pvs> and L</pvuuid> calls to associate "
"physical volumes and volume groups."

#. type: textblock
#: ../fish/guestfish-actions.pod:9635
msgid "See also L</vglvuuids>."
msgstr "See also L</vglvuuids>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9637
msgid "vgremove"
msgstr "vgremove"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9639
#, no-wrap
msgid ""
" vgremove vgname\n"
"\n"
msgstr ""
" vgremove vgname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9641 ../lib/guestfs-actions.pod:15554
msgid "Remove an LVM volume group C<vgname>, (for example C<VG>)."
msgstr "Remove an LVM volume group C<vgname>, (for example C<VG>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:9643 ../lib/guestfs-actions.pod:15556
msgid ""
"This also forcibly removes all logical volumes in the volume group (if any)."
msgstr ""
"This also forcibly removes all logical volumes in the volume group (if any)."

#. type: =head2
#: ../fish/guestfish-actions.pod:9649
msgid "vgrename"
msgstr "vgrename"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9651
#, no-wrap
msgid ""
" vgrename volgroup newvolgroup\n"
"\n"
msgstr ""
" vgrename volgroup newvolgroup\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9653 ../lib/guestfs-actions.pod:15573
msgid "Rename a volume group C<volgroup> with the new name C<newvolgroup>."
msgstr "Rename a volume group C<volgroup> with the new name C<newvolgroup>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9655
msgid "vgs"
msgstr "vgs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9657
#, no-wrap
msgid ""
" vgs\n"
"\n"
msgstr ""
" vgs\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9659 ../lib/guestfs-actions.pod:15584
msgid ""
"List all the volumes groups detected.  This is the equivalent of the "
"L<vgs(8)> command."
msgstr ""
"List all the volumes groups detected.  This is the equivalent of the "
"L<vgs(8)> command."

#. type: textblock
#: ../fish/guestfish-actions.pod:9662 ../lib/guestfs-actions.pod:15587
msgid ""
"This returns a list of just the volume group names that were detected (eg. "
"C<VolGroup00>)."
msgstr ""
"This returns a list of just the volume group names that were detected (eg. "
"C<VolGroup00>)."

#. type: textblock
#: ../fish/guestfish-actions.pod:9665
msgid "See also L</vgs-full>."
msgstr "See also L</vgs-full>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9670
msgid "vgs-full"
msgstr "vgs-full"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9672
#, no-wrap
msgid ""
" vgs-full\n"
"\n"
msgstr ""
" vgs-full\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9674 ../lib/guestfs-actions.pod:15606
msgid ""
"List all the volumes groups detected.  This is the equivalent of the "
"L<vgs(8)> command.  The \"full\" version includes all fields."
msgstr ""
"List all the volumes groups detected.  This is the equivalent of the "
"L<vgs(8)> command.  The \"full\" version includes all fields."

#. type: =head2
#: ../fish/guestfish-actions.pod:9680
msgid "vgscan"
msgstr "vgscan"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9682
#, no-wrap
msgid ""
" vgscan\n"
"\n"
msgstr ""
" vgscan\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9684 ../lib/guestfs-actions.pod:15630
msgid ""
"This rescans all block devices and rebuilds the list of LVM physical "
"volumes, volume groups and logical volumes."
msgstr ""
"This rescans all block devices and rebuilds the list of LVM physical "
"volumes, volume groups and logical volumes."

#. type: textblock
#: ../fish/guestfish-actions.pod:9687
msgid ""
"I<This function is deprecated.> In new code, use the L</lvm-scan> call "
"instead."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9694
msgid "vguuid"
msgstr "vguuid"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9696
#, no-wrap
msgid ""
" vguuid vgname\n"
"\n"
msgstr ""
" vguuid vgname\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9698 ../lib/guestfs-actions.pod:15643
msgid "This command returns the UUID of the LVM VG named C<vgname>."
msgstr "This command returns the UUID of the LVM VG named C<vgname>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9700
msgid "wc-c"
msgstr "wc-c"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9702
#, no-wrap
msgid ""
" wc-c path\n"
"\n"
msgstr ""
" wc-c path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9704 ../lib/guestfs-actions.pod:15684
msgid ""
"This command counts the characters in a file, using the C<wc -c> external "
"command."
msgstr ""
"This command counts the characters in a file, using the C<wc -c> external "
"command."

#. type: =head2
#: ../fish/guestfish-actions.pod:9707
msgid "wc-l"
msgstr "wc-l"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9709
#, no-wrap
msgid ""
" wc-l path\n"
"\n"
msgstr ""
" wc-l path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9711 ../lib/guestfs-actions.pod:15697
msgid ""
"This command counts the lines in a file, using the C<wc -l> external command."
msgstr ""
"This command counts the lines in a file, using the C<wc -l> external command."

#. type: =head2
#: ../fish/guestfish-actions.pod:9714
msgid "wc-w"
msgstr "wc-w"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9716
#, no-wrap
msgid ""
" wc-w path\n"
"\n"
msgstr ""
" wc-w path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9718 ../lib/guestfs-actions.pod:15710
msgid ""
"This command counts the words in a file, using the C<wc -w> external command."
msgstr ""
"This command counts the words in a file, using the C<wc -w> external command."

#. type: =head2
#: ../fish/guestfish-actions.pod:9721
msgid "wipefs"
msgstr "wipefs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9723
#, no-wrap
msgid ""
" wipefs device\n"
"\n"
msgstr ""
" wipefs device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9725 ../lib/guestfs-actions.pod:15723
msgid ""
"This command erases filesystem or RAID signatures from the specified "
"C<device> to make the filesystem invisible to libblkid."
msgstr ""
"This command erases filesystem or RAID signatures from the specified "
"C<device> to make the filesystem invisible to libblkid."

#. type: textblock
#: ../fish/guestfish-actions.pod:9728 ../lib/guestfs-actions.pod:15726
msgid ""
"This does not erase the filesystem itself nor any other data from the "
"C<device>."
msgstr ""
"This does not erase the filesystem itself nor any other data from the "
"C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9731
msgid "Compare with L</zero> which zeroes the first few blocks of a device."
msgstr "Compare with L</zero> which zeroes the first few blocks of a device."

#. type: textblock
#: ../fish/guestfish-actions.pod:9734
msgid ""
"This command depends on the feature C<wipefs>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9737
msgid "write"
msgstr "write"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9739
#, no-wrap
msgid ""
" write path content\n"
"\n"
msgstr ""
" write path content\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9741 ../lib/guestfs-actions.pod:15747
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 ""
"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)."

#. type: textblock
#: ../fish/guestfish-actions.pod:9744
msgid "See also L</write-append>."
msgstr "See also L</write-append>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9746
msgid "write-append"
msgstr "write-append"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9748
#, no-wrap
msgid ""
" write-append path content\n"
"\n"
msgstr ""
" write-append path content\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9750 ../lib/guestfs-actions.pod:15764
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 ""
"This call appends C<content> to the end of file C<path>.  If C<path> does "
"not exist, then a new file is created."

#. type: textblock
#: ../fish/guestfish-actions.pod:9753
msgid "See also L</write>."
msgstr "See also L</write>."

#. type: =head2
#: ../fish/guestfish-actions.pod:9755
msgid "write-file"
msgstr "write-file"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9757
#, no-wrap
msgid ""
" write-file path content size\n"
"\n"
msgstr ""
" write-file path content size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9759 ../lib/guestfs-actions.pod:15788
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 ""
"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>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9763 ../lib/guestfs-actions.pod:15792
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 ""
"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)."

#. type: textblock
#: ../fish/guestfish-actions.pod:9767 ../lib/guestfs-actions.pod:15796
msgid ""
"I<NB.> Owing to a bug, writing content containing ASCII NUL characters does "
"I<not> work, even if the length is specified."
msgstr ""
"I<NB.> Owing to a bug, writing content containing ASCII NUL characters does "
"I<not> work, even if the length is specified."

#. type: textblock
#: ../fish/guestfish-actions.pod:9773
msgid ""
"I<This function is deprecated.> In new code, use the L</write> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</write> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:9780
msgid "xfs-admin"
msgstr "xfs-admin"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9782
#, no-wrap
msgid ""
" xfs-admin device [extunwritten:true|false] [imgfile:true|false] [v2log:true|false] [projid32bit:true|false] [lazycounter:true|false] [label:..] [uuid:..]\n"
"\n"
msgstr ""
" xfs-admin device [extunwritten:true|false] [imgfile:true|false] [v2log:true|false] [projid32bit:true|false] [lazycounter:true|false] [label:..] [uuid:..]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9784 ../lib/guestfs-actions.pod:15826
msgid "Change the parameters of the XFS filesystem on C<device>."
msgstr "Change the parameters of the XFS filesystem on C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9786 ../lib/guestfs-actions.pod:15828
msgid ""
"Devices that are mounted cannot be modified.  Administrators must unmount "
"filesystems before this call can modify parameters."
msgstr ""
"Devices that are mounted cannot be modified.  Administrators must unmount "
"filesystems before this call can modify parameters."

#. type: textblock
#: ../fish/guestfish-actions.pod:9790
msgid ""
"Some of the parameters of a mounted filesystem can be examined and modified "
"using the L</xfs-info> and L</xfs-growfs> calls."
msgstr ""
"Some of the parameters of a mounted filesystem can be examined and modified "
"using the L</xfs-info> and L</xfs-growfs> calls."

#. type: textblock
#: ../fish/guestfish-actions.pod:9796 ../fish/guestfish-actions.pod:9811
#: ../fish/guestfish-actions.pod:9825 ../fish/guestfish-actions.pod:9848
msgid ""
"This command depends on the feature C<xfs>.  See also L</feature-available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9799
msgid "xfs-growfs"
msgstr "xfs-growfs"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9801
#, no-wrap
msgid ""
" xfs-growfs path [datasec:true|false] [logsec:true|false] [rtsec:true|false] [datasize:N] [logsize:N] [rtsize:N] [rtextsize:N] [maxpct:N]\n"
"\n"
msgstr ""
" xfs-growfs path [datasec:true|false] [logsec:true|false] [rtsec:true|false] [datasize:N] [logsize:N] [rtsize:N] [rtextsize:N] [maxpct:N]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9803 ../lib/guestfs-actions.pod:15886
msgid "Grow the XFS filesystem mounted at C<path>."
msgstr "Grow the XFS filesystem mounted at C<path>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9805 ../fish/guestfish-actions.pod:9821
#: ../lib/guestfs-actions.pod:15888 ../lib/guestfs-actions.pod:15930
msgid ""
"The returned struct contains geometry information.  Missing fields are "
"returned as C<-1> (for numeric fields) or empty string."
msgstr ""
"The returned struct contains geometry information.  Missing fields are "
"returned as C<-1> (for numeric fields) or empty string."

#. type: =head2
#: ../fish/guestfish-actions.pod:9814
msgid "xfs-info"
msgstr "xfs-info"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9816
#, no-wrap
msgid ""
" xfs-info pathordevice\n"
"\n"
msgstr ""
" xfs-info pathordevice\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9818 ../lib/guestfs-actions.pod:15927
msgid ""
"C<pathordevice> is a mounted XFS filesystem or a device containing an XFS "
"filesystem.  This command returns the geometry of the filesystem."
msgstr ""
"C<pathordevice> is a mounted XFS filesystem or a device containing an XFS "
"filesystem.  This command returns the geometry of the filesystem."

#. type: =head2
#: ../fish/guestfish-actions.pod:9828
msgid "xfs-repair"
msgstr "xfs-repair"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9830
#, no-wrap
msgid ""
" xfs-repair device [forcelogzero:true|false] [nomodify:true|false] [noprefetch:true|false] [forcegeometry:true|false] [maxmem:N] [ihashsize:N] [bhashsize:N] [agstride:N] [logdev:..] [rtdev:..]\n"
"\n"
msgstr ""
" xfs-repair device [forcelogzero:true|false] [nomodify:true|false] [noprefetch:true|false] [forcegeometry:true|false] [maxmem:N] [ihashsize:N] [bhashsize:N] [agstride:N] [logdev:..] [rtdev:..]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9832 ../lib/guestfs-actions.pod:15966
msgid "Repair corrupt or damaged XFS filesystem on C<device>."
msgstr "Repair corrupt or damaged XFS filesystem on C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9834 ../lib/guestfs-actions.pod:15968
msgid ""
"The filesystem is specified using the C<device> argument which should be the "
"device name of the disk partition or volume containing the filesystem.  If "
"given the name of a block device, C<xfs_repair> will attempt to find the raw "
"device associated with the specified block device and will use the raw "
"device instead."
msgstr ""
"The filesystem is specified using the C<device> argument which should be the "
"device name of the disk partition or volume containing the filesystem.  If "
"given the name of a block device, C<xfs_repair> will attempt to find the raw "
"device associated with the specified block device and will use the raw "
"device instead."

#. type: textblock
#: ../fish/guestfish-actions.pod:9840 ../lib/guestfs-actions.pod:15974
msgid ""
"Regardless, the filesystem to be repaired must be unmounted, otherwise, the "
"resulting filesystem may be inconsistent or corrupt."
msgstr ""
"Regardless, the filesystem to be repaired must be unmounted, otherwise, the "
"resulting filesystem may be inconsistent or corrupt."

#. type: textblock
#: ../fish/guestfish-actions.pod:9843 ../lib/guestfs-actions.pod:15977
msgid ""
"The returned status indicates whether filesystem corruption was detected "
"(returns C<1>) or was not detected (returns C<0>)."
msgstr ""
"The returned status indicates whether filesystem corruption was detected "
"(returns C<1>) or was not detected (returns C<0>)."

#. type: =head2
#: ../fish/guestfish-actions.pod:9851
msgid "yara-destroy"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:9853
#, no-wrap
msgid ""
" yara-destroy\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9855 ../lib/guestfs-actions.pod:16014
msgid ""
"Destroy previously loaded Yara rules in order to free libguestfs resources."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9857 ../fish/guestfish-actions.pod:9881
#: ../fish/guestfish-actions.pod:9906
msgid ""
"This command depends on the feature C<libyara>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9860
msgid "yara-load"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:9862
#, no-wrap
msgid ""
" yara-load (filename|-)\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9864 ../lib/guestfs-actions.pod:16029
msgid "Upload a set of Yara rules from local file F<filename>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9866
msgid ""
"Yara rules allow to categorize files based on textual or binary patterns "
"within their content.  See L</yara-scan> to see how to scan files with the "
"loaded rules."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9870 ../lib/guestfs-actions.pod:16035
msgid ""
"Rules can be in binary format, as when compiled with yarac command, or in "
"source code format. In the latter case, the rules will be first compiled and "
"then loaded."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9874 ../lib/guestfs-actions.pod:16039
msgid ""
"Rules in source code format cannot include external files. In such cases, it "
"is recommended to compile them first."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9877 ../lib/guestfs-actions.pod:16042
msgid "Previously loaded rules will be destroyed."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9884
msgid "yara-scan"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-actions.pod:9886
#, no-wrap
msgid ""
" yara-scan path\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9888 ../lib/guestfs-actions.pod:16062
msgid "Scan a file with the previously loaded Yara rules."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9890 ../lib/guestfs-actions.pod:16064
msgid "For each matching rule, a C<yara_detection> structure is returned."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9892 ../lib/guestfs-actions.pod:16066
msgid "The C<yara_detection> structure contains the following fields."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:9896 ../lib/guestfs-actions.pod:16070
msgid "C<yara_name>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9898 ../lib/guestfs-actions.pod:16072
msgid "Path of the file matching a Yara rule."
msgstr ""

#. type: =item
#: ../fish/guestfish-actions.pod:9900 ../lib/guestfs-actions.pod:16074
msgid "C<yara_rule>"
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9902 ../lib/guestfs-actions.pod:16076
msgid "Identifier of the Yara rule which matched against the given file."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:9909
msgid "zegrep"
msgstr "zegrep"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9911
#, no-wrap
msgid ""
" zegrep regex path\n"
"\n"
msgstr ""
" zegrep regex path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9913 ../lib/guestfs-actions.pod:16108
msgid ""
"This calls the external C<zegrep> program and returns the matching lines."
msgstr ""
"This calls the external C<zegrep> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:9926
msgid "zegrepi"
msgstr "zegrepi"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9928
#, no-wrap
msgid ""
" zegrepi regex path\n"
"\n"
msgstr ""
" zegrepi regex path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9930 ../lib/guestfs-actions.pod:16134
msgid ""
"This calls the external C<zegrep -i> program and returns the matching lines."
msgstr ""
"This calls the external C<zegrep -i> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:9943
msgid "zero"
msgstr "zero"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9945
#, no-wrap
msgid ""
" zero device\n"
"\n"
msgstr ""
" zero device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9947 ../lib/guestfs-actions.pod:16152
msgid "This command writes zeroes over the first few blocks of C<device>."
msgstr "This command writes zeroes over the first few blocks of C<device>."

#. type: textblock
#: ../fish/guestfish-actions.pod:9949 ../lib/guestfs-actions.pod:16154
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:9953 ../fish/guestfish-actions.pod:9968
#: ../lib/guestfs-actions.pod:16158 ../lib/guestfs-actions.pod:16184
msgid ""
"If blocks are already zero, then this command avoids writing zeroes.  This "
"prevents the underlying device from becoming non-sparse or growing "
"unnecessarily."
msgstr ""
"If blocks are already zero, then this command avoids writing zeroes.  This "
"prevents the underlying device from becoming non-sparse or growing "
"unnecessarily."

#. type: textblock
#: ../fish/guestfish-actions.pod:9957
msgid "See also: L</zero-device>, L</scrub-device>, L</is-zero-device>"
msgstr "See also: L</zero-device>, L</scrub-device>, L</is-zero-device>"

#. type: =head2
#: ../fish/guestfish-actions.pod:9960
msgid "zero-device"
msgstr "zero-device"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9962
#, no-wrap
msgid ""
" zero-device device\n"
"\n"
msgstr ""
" zero-device device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9964
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 ""
"This command writes zeroes over the entire C<device>.  Compare with L</zero> "
"which just zeroes the first few blocks of a device."

#. type: =head2
#: ../fish/guestfish-actions.pod:9972
msgid "zero-free-space"
msgstr "zero-free-space"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9974
#, no-wrap
msgid ""
" zero-free-space directory\n"
"\n"
msgstr ""
" zero-free-space directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9976 ../lib/guestfs-actions.pod:16203
msgid ""
"Zero the free space in the filesystem mounted on F<directory>.  The "
"filesystem must be mounted read-write."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:9979 ../lib/guestfs-actions.pod:16206
msgid ""
"The filesystem contents are not affected, but any free space in the "
"filesystem is freed."
msgstr ""
"The filesystem contents are not affected, but any free space in the "
"filesystem is freed."

#. type: textblock
#: ../fish/guestfish-actions.pod:9982
msgid ""
"Free space is not \"trimmed\".  You may want to call L</fstrim> either as an "
"alternative to this, or after calling this, depending on your requirements."
msgstr ""
"Free space is not \"trimmed\".  You may want to call L</fstrim> either as an "
"alternative to this, or after calling this, depending on your requirements."

#. type: =head2
#: ../fish/guestfish-actions.pod:9986
msgid "zerofree"
msgstr "zerofree"

#. type: verbatim
#: ../fish/guestfish-actions.pod:9988
#, no-wrap
msgid ""
" zerofree device\n"
"\n"
msgstr ""
" zerofree device\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:9990 ../lib/guestfs-actions.pod:16228
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 ""
"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."

#. type: textblock
#: ../fish/guestfish-actions.pod:9995 ../lib/guestfs-actions.pod:16233
msgid "You should B<not> run this program if the filesystem is mounted."
msgstr "You should B<not> run this program if the filesystem is mounted."

#. type: textblock
#: ../fish/guestfish-actions.pod:9998 ../lib/guestfs-actions.pod:16236
msgid ""
"It is possible that using this program can damage the filesystem or data on "
"the filesystem."
msgstr ""
"It is possible that using this program can damage the filesystem or data on "
"the filesystem."

#. type: textblock
#: ../fish/guestfish-actions.pod:10001
msgid ""
"This command depends on the feature C<zerofree>.  See also L</feature-"
"available>."
msgstr ""

#. type: =head2
#: ../fish/guestfish-actions.pod:10004
msgid "zfgrep"
msgstr "zfgrep"

#. type: verbatim
#: ../fish/guestfish-actions.pod:10006
#, no-wrap
msgid ""
" zfgrep pattern path\n"
"\n"
msgstr ""
" zfgrep pattern path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:10008 ../lib/guestfs-actions.pod:16260
msgid ""
"This calls the external C<zfgrep> program and returns the matching lines."
msgstr ""
"This calls the external C<zfgrep> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:10021
msgid "zfgrepi"
msgstr "zfgrepi"

#. type: verbatim
#: ../fish/guestfish-actions.pod:10023
#, no-wrap
msgid ""
" zfgrepi pattern path\n"
"\n"
msgstr ""
" zfgrepi pattern path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:10025 ../lib/guestfs-actions.pod:16286
msgid ""
"This calls the external C<zfgrep -i> program and returns the matching lines."
msgstr ""
"This calls the external C<zfgrep -i> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:10038
msgid "zfile"
msgstr "zfile"

#. type: verbatim
#: ../fish/guestfish-actions.pod:10040
#, no-wrap
msgid ""
" zfile meth path\n"
"\n"
msgstr ""
" zfile meth path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:10042 ../lib/guestfs-actions.pod:16312
msgid ""
"This command runs L<file(1)> after first decompressing C<path> using C<meth>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-actions.pod:10045 ../lib/guestfs-actions.pod:16315
#, fuzzy
#| msgid "C<method> must be one of C<gzip>, C<compress> or C<bzip2>."
msgid "C<meth> must be one of C<gzip>, C<compress> or C<bzip2>."
msgstr "C<method> must be one of C<gzip>, C<compress> or C<bzip2>."

#. type: textblock
#: ../fish/guestfish-actions.pod:10047
msgid ""
"Since 1.0.63, use L</file> instead which can now process compressed files."
msgstr ""
"Since 1.0.63, use L</file> instead which can now process compressed files."

#. type: textblock
#: ../fish/guestfish-actions.pod:10050
msgid ""
"I<This function is deprecated.> In new code, use the L</file> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</file> call instead."

#. type: =head2
#: ../fish/guestfish-actions.pod:10057
msgid "zgrep"
msgstr "zgrep"

#. type: verbatim
#: ../fish/guestfish-actions.pod:10059
#, no-wrap
msgid ""
" zgrep regex path\n"
"\n"
msgstr ""
" zgrep regex path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:10061 ../lib/guestfs-actions.pod:16339
#, fuzzy
#| msgid ""
#| "This calls the external C<zgrep> program and returns the matching lines."
msgid ""
"This calls the external L<zgrep(1)> program and returns the matching lines."
msgstr ""
"This calls the external C<zgrep> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-actions.pod:10074
msgid "zgrepi"
msgstr "zgrepi"

#. type: verbatim
#: ../fish/guestfish-actions.pod:10076
#, no-wrap
msgid ""
" zgrepi regex path\n"
"\n"
msgstr ""
" zgrepi regex path\n"
"\n"

#. type: textblock
#: ../fish/guestfish-actions.pod:10078 ../lib/guestfs-actions.pod:16365
msgid ""
"This calls the external C<zgrep -i> program and returns the matching lines."
msgstr ""
"This calls the external C<zgrep -i> program and returns the matching lines."

#. type: =head2
#: ../fish/guestfish-commands.pod:27
msgid "alloc"
msgstr "alloc"

#. type: =head2
#: ../fish/guestfish-commands.pod:29
msgid "allocate"
msgstr "allocate"

#. type: verbatim
#: ../fish/guestfish-commands.pod:31
#, no-wrap
msgid ""
" alloc filename size\n"
"\n"
msgstr ""
" alloc filename size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:33
msgid ""
"This creates an empty (zeroed) file of the given size, and then adds so it "
"can be further examined."
msgstr ""
"This creates an empty (zeroed) file of the given size, and then adds so it "
"can be further examined."

#. type: textblock
#: ../fish/guestfish-commands.pod:36 ../fish/guestfish-commands.pod:269
msgid "For more advanced image creation, see L</disk-create>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-commands.pod:38 ../fish/guestfish-commands.pod:271
msgid "Size can be specified using standard suffixes, eg. C<1M>."
msgstr "Size can be specified using standard suffixes, eg. C<1M>."

#. type: textblock
#: ../fish/guestfish-commands.pod:40
msgid ""
"To create a sparse file, use L</sparse> instead.  To create a prepared disk "
"image, see L</PREPARED DISK IMAGES>."
msgstr ""
"To create a sparse file, use L</sparse> instead.  To create a prepared disk "
"image, see L</PREPARED DISK IMAGES>."

#. type: =head2
#: ../fish/guestfish-commands.pod:43
msgid "copy-in"
msgstr "copy-in"

#. type: verbatim
#: ../fish/guestfish-commands.pod:45
#, no-wrap
msgid ""
" copy-in local [local ...] /remotedir\n"
"\n"
msgstr ""
" copy-in local [local ...] /remotedir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:47
msgid ""
"C<copy-in> copies local files or directories recursively into the disk "
"image, placing them in the directory called F</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:52
msgid ""
"Multiple local files and directories can be specified, but the last "
"parameter must always be a remote directory.  Wildcards cannot be used."
msgstr ""
"Multiple local files and directories can be specified, but the last "
"parameter must always be a remote directory.  Wildcards cannot be used."

#. type: =head2
#: ../fish/guestfish-commands.pod:56
msgid "copy-out"
msgstr "copy-out"

#. type: verbatim
#: ../fish/guestfish-commands.pod:58
#, no-wrap
msgid ""
" copy-out remote [remote ...] localdir\n"
"\n"
msgstr ""
" copy-out remote [remote ...] localdir\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:60
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 ""
"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."

#. type: textblock
#: ../fish/guestfish-commands.pod:66
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish-commands.pod:70
#, no-wrap
msgid ""
" copy-out /home .\n"
"\n"
msgstr ""
" copy-out /home .\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:72
msgid ""
"Wildcards cannot be used in the ordinary command, but you can use them with "
"the help of L</glob> like this:"
msgstr ""
"Wildcards cannot be used in the ordinary command, but you can use them with "
"the help of L</glob> like this:"

#. type: verbatim
#: ../fish/guestfish-commands.pod:75
#, no-wrap
msgid ""
" glob copy-out /home/* .\n"
"\n"
msgstr ""
" glob copy-out /home/* .\n"
"\n"

#. type: =head2
#: ../fish/guestfish-commands.pod:77
msgid "delete-event"
msgstr "delete-event"

#. type: verbatim
#: ../fish/guestfish-commands.pod:79
#, no-wrap
msgid ""
" delete-event name\n"
"\n"
msgstr ""
" delete-event name\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:81
msgid ""
"Delete the event handler which was previously registered as C<name>.  If "
"multiple event handlers were registered with the same name, they are all "
"deleted."
msgstr ""
"Delete the event handler which was previously registered as C<name>.  If "
"multiple event handlers were registered with the same name, they are all "
"deleted."

#. type: textblock
#: ../fish/guestfish-commands.pod:85
msgid "See also the guestfish commands C<event> and C<list-events>."
msgstr "See also the guestfish commands C<event> and C<list-events>."

#. type: =head2
#: ../fish/guestfish-commands.pod:87
msgid "display"
msgstr "display"

#. type: verbatim
#: ../fish/guestfish-commands.pod:89
#, no-wrap
msgid ""
" display filename\n"
"\n"
msgstr ""
" display filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:91
msgid ""
"Use C<display> (a graphical display program) to display an image file.  It "
"downloads the file, and runs C<display> on it."
msgstr ""
"Use C<display> (a graphical display program) to display an image file.  It "
"downloads the file, and runs C<display> on it."

#. type: textblock
#: ../fish/guestfish-commands.pod:94
msgid ""
"To use an alternative program, set the C<GUESTFISH_DISPLAY_IMAGE> "
"environment variable.  For example to use the GNOME display program:"
msgstr ""
"To use an alternative program, set the C<GUESTFISH_DISPLAY_IMAGE> "
"environment variable.  For example to use the GNOME display program:"

#. type: verbatim
#: ../fish/guestfish-commands.pod:97
#, no-wrap
msgid ""
" export GUESTFISH_DISPLAY_IMAGE=eog\n"
"\n"
msgstr ""
" export GUESTFISH_DISPLAY_IMAGE=eog\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:99
msgid "See also L<display(1)>."
msgstr "See also L<display(1)>."

#. type: =head2
#: ../fish/guestfish-commands.pod:101
msgid "echo"
msgstr "echo"

#. type: verbatim
#: ../fish/guestfish-commands.pod:103
#, no-wrap
msgid ""
" echo [params ...]\n"
"\n"
msgstr ""
" echo [params ...]\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:105
msgid "This echos the parameters to the terminal."
msgstr "This echos the parameters to the terminal."

#. type: =head2
#: ../fish/guestfish-commands.pod:107
msgid "edit"
msgstr "edit"

#. type: =head2
#: ../fish/guestfish-commands.pod:109
msgid "vi"
msgstr "vi"

#. type: =head2
#: ../fish/guestfish-commands.pod:111
msgid "emacs"
msgstr "emacs"

#. type: verbatim
#: ../fish/guestfish-commands.pod:113
#, no-wrap
msgid ""
" edit filename\n"
"\n"
msgstr ""
" edit filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:115
msgid ""
"This is used to edit a file.  It downloads the file, edits it locally using "
"your editor, then uploads the result."
msgstr ""
"This is used to edit a file.  It downloads the file, edits it locally using "
"your editor, then uploads the result."

#. type: textblock
#: ../fish/guestfish-commands.pod:118
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 ""
"The editor is C<$EDITOR>.  However if you use the alternate commands C<vi> "
"or C<emacs> you will get those corresponding editors."

#. type: =head2
#: ../fish/guestfish-commands.pod:122
msgid "event"
msgstr "event"

#. type: verbatim
#: ../fish/guestfish-commands.pod:124
#, no-wrap
msgid ""
" event name eventset \"shell script ...\"\n"
"\n"
msgstr ""
" event name eventset \"shell script ...\"\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:126
msgid ""
"Register a shell script fragment which is executed when an event is raised.  "
"See L<guestfs(3)/guestfs_set_event_callback> for a discussion of the event "
"API in libguestfs."
msgstr ""
"Register a shell script fragment which is executed when an event is raised.  "
"See L<guestfs(3)/guestfs_set_event_callback> for a discussion of the event "
"API in libguestfs."

#. type: textblock
#: ../fish/guestfish-commands.pod:130
msgid ""
"The C<name> parameter is a name that you give to this event handler.  It can "
"be any string (even the empty string) and is simply there so you can delete "
"the handler using the guestfish C<delete-event> command."
msgstr ""
"The C<name> parameter is a name that you give to this event handler.  It can "
"be any string (even the empty string) and is simply there so you can delete "
"the handler using the guestfish C<delete-event> command."

#. type: textblock
#: ../fish/guestfish-commands.pod:135
msgid ""
"The C<eventset> parameter is a comma-separated list of one or more events, "
"for example C<close> or C<close,trace>.  The special value C<*> means all "
"events."
msgstr ""
"The C<eventset> parameter is a comma-separated list of one or more events, "
"for example C<close> or C<close,trace>.  The special value C<*> means all "
"events."

#. type: textblock
#: ../fish/guestfish-commands.pod:139
msgid ""
"The third and final parameter is the shell script fragment (or any external "
"command) that is executed when any of the events in the eventset occurs.  It "
"is executed using C<$SHELL -c>, or if C<$SHELL> is not set then F</bin/sh -"
"c>."
msgstr ""

#. type: textblock
#: ../fish/guestfish-commands.pod:144
msgid ""
"The shell script fragment receives callback parameters as arguments C<$1>, C<"
"$2> etc.  The actual event that was called is available in the environment "
"variable C<$EVENT>."
msgstr ""
"The shell script fragment receives callback parameters as arguments C<$1>, C<"
"$2> etc.  The actual event that was called is available in the environment "
"variable C<$EVENT>."

#. type: verbatim
#: ../fish/guestfish-commands.pod:148
#, no-wrap
msgid ""
" event \"\" close \"echo closed\"\n"
" event messages appliance,library,trace \"echo $@\"\n"
" event \"\" progress \"echo progress: $3/$4\"\n"
" event \"\" * \"echo $EVENT $@\"\n"
"\n"
msgstr ""
" event \"\" close \"echo closed\"\n"
" event messages appliance,library,trace \"echo $@\"\n"
" event \"\" progress \"echo progress: $3/$4\"\n"
" event \"\" * \"echo $EVENT $@\"\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:153
msgid "See also the guestfish commands C<delete-event> and C<list-events>."
msgstr "See also the guestfish commands C<delete-event> and C<list-events>."

#. type: =head2
#: ../fish/guestfish-commands.pod:155
msgid "glob"
msgstr "glob"

#. type: verbatim
#: ../fish/guestfish-commands.pod:157
#, no-wrap
msgid ""
" glob command args...\n"
"\n"
msgstr ""
" glob command args...\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:159
msgid ""
"Expand wildcards in any paths in the args list, and run C<command> "
"repeatedly on each matching path."
msgstr ""
"Expand wildcards in any paths in the args list, and run C<command> "
"repeatedly on each matching path."

#. type: textblock
#: ../fish/guestfish-commands.pod:162
msgid "See L</WILDCARDS AND GLOBBING>."
msgstr "See L</WILDCARDS AND GLOBBING>."

#. type: =head2
#: ../fish/guestfish-commands.pod:164
msgid "hexedit"
msgstr "hexedit"

#. type: verbatim
#: ../fish/guestfish-commands.pod:166
#, no-wrap
msgid ""
" hexedit <filename|device>\n"
" hexedit <filename|device> <max>\n"
" hexedit <filename|device> <start> <max>\n"
"\n"
msgstr ""
" hexedit <filename|device>\n"
" hexedit <filename|device> <max>\n"
" hexedit <filename|device> <start> <max>\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:170
msgid ""
"Use hexedit (a hex editor) to edit all or part of a binary file or block "
"device."
msgstr ""
"Use hexedit (a hex editor) to edit all or part of a binary file or block "
"device."

#. type: textblock
#: ../fish/guestfish-commands.pod:173
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 ""
"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)."

#. type: textblock
#: ../fish/guestfish-commands.pod:180
msgid "For example to edit the first few sectors of a disk you might do:"
msgstr "For example to edit the first few sectors of a disk you might do:"

#. type: verbatim
#: ../fish/guestfish-commands.pod:183
#, no-wrap
msgid ""
" hexedit /dev/sda 1M\n"
"\n"
msgstr ""
" hexedit /dev/sda 1M\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:185
msgid ""
"which would allow you to edit anywhere within the first megabyte of the disk."
msgstr ""
"which would allow you to edit anywhere within the first megabyte of the disk."

#. type: textblock
#: ../fish/guestfish-commands.pod:188
msgid "To edit the superblock of an ext2 filesystem on F</dev/sda1>, do:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish-commands.pod:190
#, no-wrap
msgid ""
" hexedit /dev/sda1 0x400 0x400\n"
"\n"
msgstr ""
" hexedit /dev/sda1 0x400 0x400\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:192
msgid "(assuming the superblock is in the standard location)."
msgstr "(assuming the superblock is in the standard location)."

#. type: textblock
#: ../fish/guestfish-commands.pod:194
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 ""
"This command requires the external L<hexedit(1)> program.  You can specify "
"another program to use by setting the C<HEXEDITOR> environment variable."

#. type: textblock
#: ../fish/guestfish-commands.pod:198
msgid "See also L</hexdump>."
msgstr "See also L</hexdump>."

#. type: =head2
#: ../fish/guestfish-commands.pod:200
msgid "lcd"
msgstr "lcd"

#. type: verbatim
#: ../fish/guestfish-commands.pod:202
#, no-wrap
msgid ""
" lcd directory\n"
"\n"
msgstr ""
" lcd directory\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:204
msgid ""
"Change the local directory, ie. the current directory of guestfish itself."
msgstr ""
"Change the local directory, ie. the current directory of guestfish itself."

#. type: textblock
#: ../fish/guestfish-commands.pod:207
msgid "Note that C<!cd> won't do what you might expect."
msgstr "Note that C<!cd> won't do what you might expect."

#. type: =head2
#: ../fish/guestfish-commands.pod:209
msgid "list-events"
msgstr "list-events"

#. type: verbatim
#: ../fish/guestfish-commands.pod:211
#, no-wrap
msgid ""
" list-events\n"
"\n"
msgstr ""
" list-events\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:213
msgid ""
"List the event handlers registered using the guestfish C<event> command."
msgstr ""
"List the event handlers registered using the guestfish C<event> command."

#. type: =head2
#: ../fish/guestfish-commands.pod:216
msgid "man"
msgstr "man"

#. type: =head2
#: ../fish/guestfish-commands.pod:218
msgid "manual"
msgstr "manual"

#. type: verbatim
#: ../fish/guestfish-commands.pod:220
#, no-wrap
msgid ""
"  man\n"
"\n"
msgstr ""
"  man\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:222
msgid "Opens the manual page for guestfish."
msgstr "Opens the manual page for guestfish."

#. type: =head2
#: ../fish/guestfish-commands.pod:224
msgid "more"
msgstr "more"

#. type: =head2
#: ../fish/guestfish-commands.pod:226
msgid "less"
msgstr "less"

#. type: verbatim
#: ../fish/guestfish-commands.pod:228
#, no-wrap
msgid ""
" more filename\n"
"\n"
msgstr ""
" more filename\n"
"\n"

#. type: verbatim
#: ../fish/guestfish-commands.pod:230
#, no-wrap
msgid ""
" less filename\n"
"\n"
msgstr ""
" less filename\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:232
msgid "This is used to view a file."
msgstr "This is used to view a file."

#. type: textblock
#: ../fish/guestfish-commands.pod:234
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 ""
"The default viewer is C<$PAGER>.  However if you use the alternate command "
"C<less> you will get the C<less> command specifically."

#. type: =head2
#: ../fish/guestfish-commands.pod:237
msgid "reopen"
msgstr "reopen"

#. type: verbatim
#: ../fish/guestfish-commands.pod:239
#, no-wrap
msgid ""
"  reopen\n"
"\n"
msgstr ""
"  reopen\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:241
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 ""
"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."

#. type: =head2
#: ../fish/guestfish-commands.pod:245
msgid "setenv"
msgstr "setenv"

#. type: verbatim
#: ../fish/guestfish-commands.pod:247
#, no-wrap
msgid ""
"  setenv VAR value\n"
"\n"
msgstr ""
"  setenv VAR value\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:249
msgid "Set the environment variable C<VAR> to the string C<value>."
msgstr "Set the environment variable C<VAR> to the string C<value>."

#. type: textblock
#: ../fish/guestfish-commands.pod:251
msgid ""
"To print the value of an environment variable use a shell command such as:"
msgstr ""
"To print the value of an environment variable use a shell command such as:"

#. type: verbatim
#: ../fish/guestfish-commands.pod:254
#, no-wrap
msgid ""
" !echo $VAR\n"
"\n"
msgstr ""
" !echo $VAR\n"
"\n"

#. type: =head2
#: ../fish/guestfish-commands.pod:256
msgid "sparse"
msgstr "sparse"

#. type: verbatim
#: ../fish/guestfish-commands.pod:258
#, no-wrap
msgid ""
" sparse filename size\n"
"\n"
msgstr ""
" sparse filename size\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:260
msgid ""
"This creates an empty sparse file of the given size, and then adds so it can "
"be further examined."
msgstr ""
"This creates an empty sparse file of the given size, and then adds so it can "
"be further examined."

#. type: textblock
#: ../fish/guestfish-commands.pod:263
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 ""
"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."

#. type: textblock
#: ../fish/guestfish-commands.pod:273
msgid "See also the guestfish L</scratch> command."
msgstr "See also the guestfish L</scratch> command."

#. type: =head2
#: ../fish/guestfish-commands.pod:275
msgid "supported"
msgstr "supported"

#. type: verbatim
#: ../fish/guestfish-commands.pod:277
#, no-wrap
msgid ""
" supported\n"
"\n"
msgstr ""
" supported\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:279
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 ""
"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."

#. type: textblock
#: ../fish/guestfish-commands.pod:283
msgid "See also L<guestfs(3)/AVAILABILITY>."
msgstr "See also L<guestfs(3)/AVAILABILITY>."

#. type: =head2
#: ../fish/guestfish-commands.pod:285
msgid "time"
msgstr "time"

#. type: verbatim
#: ../fish/guestfish-commands.pod:287
#, no-wrap
msgid ""
" time command args...\n"
"\n"
msgstr ""
" time command args...\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:289
msgid ""
"Run the command as usual, but print the elapsed time afterwards.  This can "
"be useful for benchmarking operations."
msgstr ""
"Run the command as usual, but print the elapsed time afterwards.  This can "
"be useful for benchmarking operations."

#. type: =head2
#: ../fish/guestfish-commands.pod:292
msgid "unsetenv"
msgstr "unsetenv"

#. type: verbatim
#: ../fish/guestfish-commands.pod:294
#, no-wrap
msgid ""
"  unsetenv VAR\n"
"\n"
msgstr ""
"  unsetenv VAR\n"
"\n"

#. type: textblock
#: ../fish/guestfish-commands.pod:296
msgid "Remove C<VAR> from the environment."
msgstr "Remove C<VAR> from the environment."

#. type: =head2
#: ../fish/guestfish-prepopts.pod:27
msgid "B<-N disk> - create a blank disk"
msgstr "B<-N disk> - create a blank disk"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:29
msgid "C<guestfish -N [I<filename>=]disk[:I<size>]>"
msgstr "C<guestfish -N [I<filename>=]disk[:I<size>]>"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:31
msgid "Create a blank disk, size 1G (by default)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-prepopts.pod:33
msgid "The default size can be changed by supplying an optional parameter."
msgstr "The default size can be changed by supplying an optional parameter."

#. type: verbatim
#: ../fish/guestfish-prepopts.pod:37
#, no-wrap
msgid ""
" Name          Default value\n"
" size          1G            the size of the disk image\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-prepopts.pod:40
msgid "B<-N part> - create a partitioned disk"
msgstr "B<-N part> - create a partitioned disk"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:42
msgid "C<guestfish -N [I<filename>=]part[:I<size>[:I<partition>]]>"
msgstr "C<guestfish -N [I<filename>=]part[:I<size>[:I<partition>]]>"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:44
msgid ""
"Create a disk with a single partition.  By default the size of the disk is "
"1G (the available space in the partition will be a tiny bit smaller)  and "
"the partition table will be MBR (old DOS-style)."
msgstr ""

#. type: textblock
#: ../fish/guestfish-prepopts.pod:48 ../fish/guestfish-prepopts.pod:65
msgid "These defaults can be changed by supplying optional parameters."
msgstr "These defaults can be changed by supplying optional parameters."

#. type: verbatim
#: ../fish/guestfish-prepopts.pod:52
#, no-wrap
msgid ""
" Name          Default value\n"
" size          1G            the size of the disk image\n"
" partition     mbr           partition table type\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-prepopts.pod:56
msgid "B<-N fs> - create a filesystem"
msgstr "B<-N fs> - create a filesystem"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:58
msgid ""
"C<guestfish -N [I<filename>=]fs[:I<filesystem>[:I<size>[:I<partition>]]]>"
msgstr ""
"C<guestfish -N [I<filename>=]fs[:I<filesystem>[:I<size>[:I<partition>]]]>"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:60
msgid ""
"Create a disk with a single partition, with the partition containing an "
"empty filesystem.  This defaults to creating a 1G disk (the available space "
"in the filesystem will be a tiny bit smaller) with an MBR (old DOS-style) "
"partition table and an ext2 filesystem."
msgstr ""

#. type: verbatim
#: ../fish/guestfish-prepopts.pod:69
#, no-wrap
msgid ""
" Name          Default value\n"
" filesystem    ext2          the type of filesystem to use\n"
" size          1G            the size of the disk image\n"
" partition     mbr           partition table type\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-prepopts.pod:74
msgid "B<-N lv> - create a disk with logical volume"
msgstr "B<-N lv> - create a disk with logical volume"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:76
msgid "C<guestfish -N [I<filename>=]lv[:I<name>[:I<size>[:I<partition>]]]>"
msgstr "C<guestfish -N [I<filename>=]lv[:I<name>[:I<size>[:I<partition>]]]>"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:78
msgid ""
"Create a disk with a single partition, set up the partition as an LVM2 "
"physical volume, and place a volume group and logical volume on there.  This "
"defaults to creating a 1G disk with the VG and LV called C</dev/VG/LV>.  You "
"can change the name of the VG and LV by supplying an alternate name as the "
"first optional parameter."
msgstr ""

#. type: textblock
#: ../fish/guestfish-prepopts.pod:84
msgid "Note this does not create a filesystem.  Use 'lvfs' to do that."
msgstr "Note this does not create a filesystem.  Use 'lvfs' to do that."

#. type: verbatim
#: ../fish/guestfish-prepopts.pod:88
#, no-wrap
msgid ""
" Name          Default value\n"
" name          /dev/VG/LV    the name of the VG and LV to use\n"
" size          1G            the size of the disk image\n"
" partition     mbr           partition table type\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-prepopts.pod:93
msgid "B<-N lvfs> - create a disk with logical volume and filesystem"
msgstr "B<-N lvfs> - create a disk with logical volume and filesystem"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:95
msgid ""
"C<guestfish -N [I<filename>=]lvfs[:I<name>[:I<filesystem>[:I<size>[:"
"I<partition>]]]]>"
msgstr ""
"C<guestfish -N [I<filename>=]lvfs[:I<name>[:I<filesystem>[:I<size>[:"
"I<partition>]]]]>"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:97
msgid ""
"Create a disk with a single partition, set up the partition as an LVM2 "
"physical volume, and place a volume group and logical volume on there.  Then "
"format the LV with a filesystem.  This defaults to creating a 1G disk with "
"the VG and LV called C</dev/VG/LV>, with an ext2 filesystem."
msgstr ""

#. type: verbatim
#: ../fish/guestfish-prepopts.pod:105
#, no-wrap
msgid ""
" Name          Default value\n"
" name          /dev/VG/LV    the name of the VG and LV to use\n"
" filesystem    ext2          the type of filesystem to use\n"
" size          1G            the size of the disk image\n"
" partition     mbr           partition table type\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-prepopts.pod:111
msgid "B<-N bootroot> - create a boot and root filesystem"
msgstr "B<-N bootroot> - create a boot and root filesystem"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:113
msgid ""
"C<guestfish -N [I<filename>=]bootroot[:I<bootfs>[:I<rootfs>[:I<size>[:"
"I<bootsize>[:I<partition>]]]]]>"
msgstr ""
"C<guestfish -N [I<filename>=]bootroot[:I<bootfs>[:I<rootfs>[:I<size>[:"
"I<bootsize>[:I<partition>]]]]]>"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:115
msgid ""
"Create a disk with two partitions, for boot and root filesystem.  Format the "
"two filesystems independently.  There are several optional parameters which "
"control the exact layout and filesystem types."
msgstr ""
"Create a disk with two partitions, for boot and root filesystem.  Format the "
"two filesystems independently.  There are several optional parameters which "
"control the exact layout and filesystem types."

#. type: verbatim
#: ../fish/guestfish-prepopts.pod:121
#, no-wrap
msgid ""
" Name          Default value\n"
" bootfs        ext2          the type of filesystem to use for boot\n"
" rootfs        ext2          the type of filesystem to use for root\n"
" size          1G            the size of the disk image\n"
" bootsize      128M          the size of the boot filesystem\n"
" partition     mbr           partition table type\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish-prepopts.pod:128
msgid "B<-N bootrootlv> - create a boot and root filesystem using LVM"
msgstr "B<-N bootrootlv> - create a boot and root filesystem using LVM"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:130
msgid ""
"C<guestfish -N [I<filename>=]bootrootlv[:I<name>[:I<bootfs>[:I<rootfs>[:"
"I<size>[:I<bootsize>[:I<partition>]]]]]]>"
msgstr ""
"C<guestfish -N [I<filename>=]bootrootlv[:I<name>[:I<bootfs>[:I<rootfs>[:"
"I<size>[:I<bootsize>[:I<partition>]]]]]]>"

#. type: textblock
#: ../fish/guestfish-prepopts.pod:132
msgid ""
"This is the same as C<bootroot> but the root filesystem (only) is placed on "
"a logical volume, named by default C</dev/VG/LV>.  There are several "
"optional parameters which control the exact layout."
msgstr ""
"This is the same as C<bootroot> but the root filesystem (only) is placed on "
"a logical volume, named by default C</dev/VG/LV>.  There are several "
"optional parameters which control the exact layout."

#. type: verbatim
#: ../fish/guestfish-prepopts.pod:138
#, no-wrap
msgid ""
" Name          Default value\n"
" name          /dev/VG/LV    the name of the VG and LV for root\n"
" bootfs        ext2          the type of filesystem to use for boot\n"
" rootfs        ext2          the type of filesystem to use for root\n"
" size          1G            the size of the disk image\n"
" bootsize      128M          the size of the boot filesystem\n"
" partition     mbr           partition table type\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:3
msgid "guestfish - the guest filesystem shell"
msgstr "guestfish - the guest filesystem shell"

#. type: verbatim
#: ../fish/guestfish.pod:7
#, no-wrap
msgid ""
" guestfish [--options] [commands]\n"
"\n"
msgstr ""
" guestfish [--options] [commands]\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:9
#, no-wrap
msgid ""
" guestfish\n"
"\n"
msgstr ""
" guestfish\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:11
#, no-wrap
msgid ""
" guestfish [--ro|--rw] -a disk.img\n"
"\n"
msgstr ""
" guestfish [--ro|--rw] -a disk.img\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:13
#, no-wrap
msgid ""
" guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]\n"
"\n"
msgstr ""
" guestfish [--ro|--rw] -a disk.img -m dev[:mountpoint]\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:15
#, no-wrap
msgid ""
" guestfish -d libvirt-domain\n"
"\n"
msgstr ""
" guestfish -d libvirt-domain\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:17
#, no-wrap
msgid ""
" guestfish [--ro|--rw] -a disk.img -i\n"
"\n"
msgstr ""
" guestfish [--ro|--rw] -a disk.img -i\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:19
#, no-wrap
msgid ""
" guestfish -d libvirt-domain -i\n"
"\n"
msgstr ""
" guestfish -d libvirt-domain -i\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:23
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 ""
"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)>."

#. type: textblock
#: ../fish/guestfish.pod:27
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 ""
"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."

#. type: =head2
#: ../fish/guestfish.pod:34
msgid "As an interactive shell"
msgstr "As an interactive shell"

#. type: verbatim
#: ../fish/guestfish.pod:36
#, no-wrap
msgid ""
" $ guestfish\n"
" \n"
msgstr ""
" $ guestfish\n"
" \n"

#. type: verbatim
#: ../fish/guestfish.pod:38
#, no-wrap
msgid ""
" Welcome to guestfish, the guest filesystem shell for\n"
" editing virtual machine filesystems.\n"
" \n"
msgstr ""
" Welcome to guestfish, the guest filesystem shell for\n"
" editing virtual machine filesystems.\n"
" \n"

#. type: verbatim
#: ../fish/guestfish.pod:41
#, 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: 'help' for a list of commands\n"
"       'man' to read the manual\n"
"       'quit' to quit the shell\n"
" \n"

#. type: verbatim
#: ../fish/guestfish.pod:45
#, 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 ""
" ><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"

#. type: =head2
#: ../fish/guestfish.pod:58
msgid "From shell scripts"
msgstr "From shell scripts"

#. type: textblock
#: ../fish/guestfish.pod:60
msgid "Create a new F</etc/motd> file in a guest or disk image:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:62
#, 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 ""
" 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"

#. type: textblock
#: ../fish/guestfish.pod:69
msgid "List the LVM logical volumes in a disk image:"
msgstr "List the LVM logical volumes in a disk image:"

#. type: verbatim
#: ../fish/guestfish.pod:71
#, no-wrap
msgid ""
" guestfish -a disk.img --ro <<_EOF_\n"
" run\n"
" lvs\n"
" _EOF_\n"
"\n"
msgstr ""
" guestfish -a disk.img --ro <<_EOF_\n"
" run\n"
" lvs\n"
" _EOF_\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:76
msgid "List all the filesystems in a disk image:"
msgstr "List all the filesystems in a disk image:"

#. type: verbatim
#: ../fish/guestfish.pod:78
#, no-wrap
msgid ""
" guestfish -a disk.img --ro <<_EOF_\n"
" run\n"
" list-filesystems\n"
" _EOF_\n"
"\n"
msgstr ""
" guestfish -a disk.img --ro <<_EOF_\n"
" run\n"
" list-filesystems\n"
" _EOF_\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:83
msgid "On one command line"
msgstr "On one command line"

#. type: textblock
#: ../fish/guestfish.pod:85 ../fish/virt-copy-in.pod:23
msgid "Update F</etc/resolv.conf> in a guest:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:87
#, 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 ""
" guestfish \\\n"
"   add disk.img : run : mount /dev/vg_guest/lv_root / : \\\n"
"   write /etc/resolv.conf \"nameserver 1.2.3.4\"\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:91
msgid "Edit F</boot/grub/grub.conf> interactively:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:93
#, 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 ""
" 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"

#. type: =head2
#: ../fish/guestfish.pod:98
msgid "Mount disks automatically"
msgstr "Mount disks automatically"

#. type: textblock
#: ../fish/guestfish.pod:100
msgid ""
"Use the I<-i> option to automatically mount the disks from a virtual machine:"
msgstr ""
"Use the I<-i> option to automatically mount the disks from a virtual machine:"

#. type: verbatim
#: ../fish/guestfish.pod:103
#, no-wrap
msgid ""
" guestfish --ro -a disk.img -i cat /etc/group\n"
"\n"
msgstr ""
" guestfish --ro -a disk.img -i cat /etc/group\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:105
#, no-wrap
msgid ""
" guestfish --ro -d libvirt-domain -i cat /etc/group\n"
"\n"
msgstr ""
" guestfish --ro -d libvirt-domain -i cat /etc/group\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:107
msgid "Another way to edit F</boot/grub/grub.conf> interactively is:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:109
#, no-wrap
msgid ""
" guestfish --rw -a disk.img -i edit /boot/grub/grub.conf\n"
"\n"
msgstr ""
" guestfish --rw -a disk.img -i edit /boot/grub/grub.conf\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:111
msgid "As a script interpreter"
msgstr "As a script interpreter"

#. type: textblock
#: ../fish/guestfish.pod:113
msgid "Create a 100MB disk containing an ext2-formatted partition:"
msgstr "Create a 100MB disk containing an ext2-formatted partition:"

#. type: verbatim
#: ../fish/guestfish.pod:115
#, 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 ""
" #!/usr/bin/guestfish -f\n"
" sparse test1.img 100M\n"
" run\n"
" part-disk /dev/sda mbr\n"
" mkfs ext2 /dev/sda1\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:121
msgid "Start with a prepared disk"
msgstr "Start with a prepared disk"

#. type: textblock
#: ../fish/guestfish.pod:123
msgid ""
"Create a 1G disk called F<test1.img> containing a single ext2-formatted "
"partition:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:126 ../lib/guestfs.pod:3080
#, no-wrap
msgid ""
" guestfish -N fs\n"
"\n"
msgstr ""
" guestfish -N fs\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:128
msgid "To list what is available do:"
msgstr "To list what is available do:"

#. type: verbatim
#: ../fish/guestfish.pod:130
#, no-wrap
msgid ""
" guestfish -N help | less\n"
"\n"
msgstr ""
" guestfish -N help | less\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:132
msgid "Remote drives"
msgstr "Remote drives"

#. type: textblock
#: ../fish/guestfish.pod:134
msgid "Access a remote disk using ssh:"
msgstr "Access a remote disk using ssh:"

#. type: =head2
#: ../fish/guestfish.pod:138
msgid "Remote control"
msgstr "Remote control"

#. type: verbatim
#: ../fish/guestfish.pod:140
#, no-wrap
msgid ""
" eval \"`guestfish --listen`\"\n"
" guestfish --remote add-ro disk.img\n"
" guestfish --remote run\n"
" guestfish --remote lvs\n"
"\n"
msgstr ""
" eval \"`guestfish --listen`\"\n"
" guestfish --remote add-ro disk.img\n"
" guestfish --remote run\n"
" guestfish --remote lvs\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:151
msgid "Displays general help on options."
msgstr "Displays general help on options."

#. type: =item
#: ../fish/guestfish.pod:155
msgid "B<--cmd-help>"
msgstr "B<--cmd-help>"

#. type: textblock
#: ../fish/guestfish.pod:157
msgid "Lists all available guestfish commands."
msgstr "Lists all available guestfish commands."

#. type: =item
#: ../fish/guestfish.pod:159
msgid "B<-h> CMD"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:161
msgid "B<--cmd-help> CMD"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:163
msgid "Displays detailed help on a single command C<cmd>."
msgstr "Displays detailed help on a single command C<cmd>."

#. type: =item
#: ../fish/guestfish.pod:165 ../fuse/guestmount.pod:160
msgid "B<-a> IMAGE"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:167 ../fuse/guestmount.pod:162
msgid "B<--add> IMAGE"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:169
msgid "Add a block device or virtual machine image to the shell."
msgstr "Add a block device or virtual machine image to the shell."

#. type: textblock
#: ../fish/guestfish.pod:174
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:182
msgid "Add a remote disk.  See L</ADDING REMOTE STORAGE>."
msgstr "Add a remote disk.  See L</ADDING REMOTE STORAGE>."

#. type: textblock
#: ../fish/guestfish.pod:190 ../fuse/guestmount.pod:181
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 ""
"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."

#. type: =item
#: ../fish/guestfish.pod:194
msgid "B<--csh>"
msgstr "B<--csh>"

#. type: textblock
#: ../fish/guestfish.pod:196
msgid ""
"If using the I<--listen> option and a csh-like shell, use this option.  See "
"section L</REMOTE CONTROL AND CSH> below."
msgstr ""
"If using the I<--listen> option and a csh-like shell, use this option.  See "
"section L</REMOTE CONTROL AND CSH> below."

#. type: =item
#: ../fish/guestfish.pod:199 ../fuse/guestmount.pod:185
msgid "B<-d> LIBVIRT-DOMAIN"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:201 ../fuse/guestmount.pod:187
msgid "B<--domain> LIBVIRT-DOMAIN"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:203 ../fuse/guestmount.pod:189
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:207 ../fuse/guestmount.pod:193
msgid "Domain UUIDs can be used instead of names."
msgstr "Domain UUIDs can be used instead of names."

#. type: textblock
#: ../fish/guestfish.pod:209
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:215 ../fuse/guestmount.pod:209
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 ""
"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."

#. type: =item
#: ../fish/guestfish.pod:220
msgid "B<-f> FILE"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:222
msgid "B<--file> FILE"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:224
msgid "Read commands from C<FILE>.  To write pure guestfish scripts, use:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:227
#, no-wrap
msgid ""
" #!/usr/bin/guestfish -f\n"
"\n"
msgstr ""
" #!/usr/bin/guestfish -f\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:240
#, no-wrap
msgid ""
" guestfish --format=raw -a disk.img\n"
"\n"
msgstr ""
" guestfish --format=raw -a disk.img\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:244
#, no-wrap
msgid ""
" guestfish --format=raw -a disk.img --format -a another.img\n"
"\n"
msgstr ""
" guestfish --format=raw -a disk.img --format -a another.img\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:249
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>."
msgstr ""
"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>."

#. type: =item
#: ../fish/guestfish.pod:256 ../fuse/guestmount.pod:245
#: ../rescue/virt-rescue.pod:183
msgid "B<--inspector>"
msgstr "B<--inspector>"

#. type: textblock
#: ../fish/guestfish.pod:258 ../fuse/guestmount.pod:247
#: ../rescue/virt-rescue.pod:185
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:262
msgid "Typical usage is either:"
msgstr "Typical usage is either:"

#. type: verbatim
#: ../fish/guestfish.pod:264
#, no-wrap
msgid ""
" guestfish -d myguest -i\n"
"\n"
msgstr ""
" guestfish -d myguest -i\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:266
msgid "(for an inactive libvirt domain called I<myguest>), or:"
msgstr "(for an inactive libvirt domain called I<myguest>), or:"

#. type: verbatim
#: ../fish/guestfish.pod:268
#, no-wrap
msgid ""
" guestfish --ro -d myguest -i\n"
"\n"
msgstr ""
" guestfish --ro -d myguest -i\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:270
msgid "(for active domains, readonly), or specify the block device directly:"
msgstr "(for active domains, readonly), or specify the block device directly:"

#. type: verbatim
#: ../fish/guestfish.pod:272
#, no-wrap
msgid ""
" guestfish --rw -a /dev/Guests/MyGuest -i\n"
"\n"
msgstr ""
" guestfish --rw -a /dev/Guests/MyGuest -i\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:274
msgid ""
"Note that the command line syntax changed slightly over older versions of "
"guestfish.  You can still use the old syntax:"
msgstr ""
"Note that the command line syntax changed slightly over older versions of "
"guestfish.  You can still use the old syntax:"

#. type: verbatim
#: ../fish/guestfish.pod:277
#, no-wrap
msgid ""
" guestfish [--ro] -i disk.img\n"
"\n"
msgstr ""
" guestfish [--ro] -i disk.img\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:279
#, no-wrap
msgid ""
" guestfish [--ro] -i libvirt-domain\n"
"\n"
msgstr ""
" guestfish [--ro] -i libvirt-domain\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:281
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:294
msgid ""
"Fork into the background and listen for remote commands.  See section L</"
"REMOTE CONTROL GUESTFISH OVER A SOCKET> below."
msgstr ""
"Fork into the background and listen for remote commands.  See section L</"
"REMOTE CONTROL GUESTFISH OVER A SOCKET> below."

#. type: =item
#: ../fish/guestfish.pod:297 ../fuse/guestmount.pod:258
msgid "B<--live>"
msgstr "B<--live>"

#. type: textblock
#: ../fish/guestfish.pod:299 ../fuse/guestmount.pod:260
msgid ""
"Connect to a live virtual machine.  (Experimental, see L<guestfs(3)/"
"ATTACHING TO RUNNING DAEMONS>)."
msgstr ""
"Connect to a live virtual machine.  (Experimental, see L<guestfs(3)/"
"ATTACHING TO RUNNING DAEMONS>)."

#. type: textblock
#: ../fish/guestfish.pod:310
msgid "You have to mount something on F</> before most commands will work."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:312
msgid ""
"If any I<-m> or I<--mount> options are given, the guest is automatically "
"launched."
msgstr ""
"If any I<-m> or I<--mount> options are given, the guest is automatically "
"launched."

#. type: textblock
#: ../fish/guestfish.pod:340
msgid "Enable QEMU user networking in the guest."
msgstr "Enable QEMU user networking in the guest."

#. type: =item
#: ../fish/guestfish.pod:342
msgid "B<-N> [FILENAME=]TYPE"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:344
msgid "B<--new> [FILENAME=]TYPE"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:346
msgid "B<-N> B<help>"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:348
msgid ""
"Prepare a fresh disk image formatted as C<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: textblock
#: ../fish/guestfish.pod:357
msgid ""
"Disable autosync.  This is enabled by default.  See the discussion of "
"autosync in the L<guestfs(3)> manpage."
msgstr ""
"Disable autosync.  This is enabled by default.  See the discussion of "
"autosync in the L<guestfs(3)> manpage."

#. type: =item
#: ../fish/guestfish.pod:360
msgid "B<--no-dest-paths>"
msgstr "B<--no-dest-paths>"

#. type: textblock
#: ../fish/guestfish.pod:362
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: =item
#: ../fish/guestfish.pod:367
msgid "B<--pipe-error>"
msgstr "B<--pipe-error>"

#. type: textblock
#: ../fish/guestfish.pod:369
msgid ""
"If writes fail to pipe commands (see L</PIPES> below), then the command "
"returns an error."
msgstr ""
"If writes fail to pipe commands (see L</PIPES> below), then the command "
"returns an error."

#. type: textblock
#: ../fish/guestfish.pod:372
msgid ""
"The default (also for historical reasons) is to ignore such errors so that:"
msgstr ""
"The default (also for historical reasons) is to ignore such errors so that:"

#. type: verbatim
#: ../fish/guestfish.pod:375
#, no-wrap
msgid ""
" ><fs> command_with_lots_of_output | head\n"
"\n"
msgstr ""
" ><fs> command_with_lots_of_output | head\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:377
msgid "doesn't give an error."
msgstr "doesn't give an error."

#. type: =item
#: ../fish/guestfish.pod:379
msgid "B<--progress-bars>"
msgstr "B<--progress-bars>"

#. type: textblock
#: ../fish/guestfish.pod:381
msgid "Enable progress bars, even when guestfish is used non-interactively."
msgstr "Enable progress bars, even when guestfish is used non-interactively."

#. type: textblock
#: ../fish/guestfish.pod:383
msgid ""
"Progress bars are enabled by default when guestfish is used as an "
"interactive shell."
msgstr ""
"Progress bars are enabled by default when guestfish is used as an "
"interactive shell."

#. type: =item
#: ../fish/guestfish.pod:386
msgid "B<--no-progress-bars>"
msgstr "B<--no-progress-bars>"

#. type: textblock
#: ../fish/guestfish.pod:388
msgid "Disable progress bars."
msgstr "Disable progress bars."

#. type: =item
#: ../fish/guestfish.pod:390
msgid "B<--remote>"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:392
msgid "B<--remote=>PID"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:394
msgid ""
"Send remote commands to C<$GUESTFISH_PID> or C<pid>.  See section L</REMOTE "
"CONTROL GUESTFISH OVER A SOCKET> below."
msgstr ""
"Send remote commands to C<$GUESTFISH_PID> or C<pid>.  See section L</REMOTE "
"CONTROL GUESTFISH OVER A SOCKET> below."

#. type: =item
#: ../fish/guestfish.pod:399 ../fuse/guestmount.pod:358
#: ../rescue/virt-rescue.pod:231
msgid "B<--ro>"
msgstr "B<--ro>"

#. type: textblock
#: ../fish/guestfish.pod:401
msgid ""
"This changes the I<-a>, I<-d> and I<-m> options so that disks are added and "
"mounts are done read-only."
msgstr ""
"This changes the I<-a>, I<-d> and I<-m> options so that disks are added and "
"mounts are done read-only."

#. type: textblock
#: ../fish/guestfish.pod:404 ../rescue/virt-rescue.pod:235
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:408
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:412
msgid "See also L</OPENING DISKS FOR READ AND WRITE> below."
msgstr "See also L</OPENING DISKS FOR READ AND WRITE> below."

#. type: =item
#: ../fish/guestfish.pod:414 ../fuse/guestmount.pod:370
#: ../rescue/virt-rescue.pod:253
msgid "B<--selinux>"
msgstr "B<--selinux>"

#. type: textblock
#: ../fish/guestfish.pod:416 ../fuse/guestmount.pod:372
#: ../rescue/virt-rescue.pod:255
msgid "This option is provided for backwards compatibility and does nothing."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:422
msgid ""
"Enable very verbose messages.  This is particularly useful if you find a bug."
msgstr ""
"Enable very verbose messages.  This is particularly useful if you find a bug."

#. type: textblock
#: ../fish/guestfish.pod:429
msgid "Display the guestfish / libguestfs version number and exit."
msgstr "Display the guestfish / libguestfs version number and exit."

#. type: =item
#: ../fish/guestfish.pod:431 ../fuse/guestmount.pod:386
#: ../rescue/virt-rescue.pod:283
msgid "B<-w>"
msgstr "B<-w>"

#. type: =item
#: ../fish/guestfish.pod:433 ../fuse/guestmount.pod:388
#: ../rescue/virt-rescue.pod:285
msgid "B<--rw>"
msgstr "B<--rw>"

#. type: textblock
#: ../fish/guestfish.pod:435 ../fuse/guestmount.pod:390
#: ../rescue/virt-rescue.pod:287
msgid ""
"This changes the I<-a>, I<-d> and I<-m> options so that disks are added and "
"mounts are done read-write."
msgstr ""
"This changes the I<-a>, I<-d> and I<-m> options so that disks are added and "
"mounts are done read-write."

#. type: textblock
#: ../fish/guestfish.pod:438
msgid "See L</OPENING DISKS FOR READ AND WRITE> below."
msgstr "See L</OPENING DISKS FOR READ AND WRITE> below."

#. type: textblock
#: ../fish/guestfish.pod:442
msgid "Echo each command before executing it."
msgstr "Echo each command before executing it."

#. type: =head1
#: ../fish/guestfish.pod:446
msgid "COMMANDS ON COMMAND LINE"
msgstr "COMMANDS ON COMMAND LINE"

#. type: textblock
#: ../fish/guestfish.pod:448
msgid ""
"Any additional (non-option) arguments are treated as commands to execute."
msgstr ""
"Any additional (non-option) arguments are treated as commands to execute."

#. type: textblock
#: ../fish/guestfish.pod:451
msgid ""
"Commands to execute should be separated by a colon (C<:>), where the colon "
"is a separate parameter.  Thus:"
msgstr ""
"Commands to execute should be separated by a colon (C<:>), where the colon "
"is a separate parameter.  Thus:"

#. type: verbatim
#: ../fish/guestfish.pod:454
#, no-wrap
msgid ""
" guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n"
"\n"
msgstr ""
" guestfish cmd [args...] : cmd [args...] : cmd [args...] ...\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:456
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:460
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:465
msgid ""
"Note that arguments of the commands will be considered as guestfish options "
"if they start with a dash (C<->): you can always separate the guestfish "
"options and the rest of the commands (with their arguments)  using a double "
"dash (C<-->).  For example:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:470
#, no-wrap
msgid ""
" guestfish -- disk_create overlay.qcow2 qcow2 -1 backingfile:image.img\n"
"\n"
msgstr ""

#. type: =head1
#: ../fish/guestfish.pod:472
msgid "USING launch (OR run)"
msgstr "USING launch (OR run)"

#. type: textblock
#: ../fish/guestfish.pod:474
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 ""
"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:"

#. type: textblock
#: ../fish/guestfish.pod:482
msgid "add or -a/--add"
msgstr "add or -a/--add"

#. type: textblock
#: ../fish/guestfish.pod:486
msgid "launch (aka run)"
msgstr "launch (aka run)"

#. type: textblock
#: ../fish/guestfish.pod:490
msgid "mount or -m/--mount"
msgstr "mount or -m/--mount"

#. type: textblock
#: ../fish/guestfish.pod:494
msgid "any other commands"
msgstr "any other commands"

#. type: textblock
#: ../fish/guestfish.pod:498
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 ""
"C<run> is a synonym for C<launch>.  You must C<launch> (or C<run>)  your "
"guest before mounting or performing any other commands."

#. type: textblock
#: ../fish/guestfish.pod:501
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 ""
"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."

#. type: =head1
#: ../fish/guestfish.pod:506
msgid "OPENING DISKS FOR READ AND WRITE"
msgstr "OPENING DISKS FOR READ AND WRITE"

#. type: textblock
#: ../fish/guestfish.pod:508
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:513
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 ""
"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>."

#. type: textblock
#: ../fish/guestfish.pod:517
msgid ""
"This matters: If you accidentally open a live VM disk image writable then "
"you will cause irreversible disk corruption."
msgstr ""
"This matters: If you accidentally open a live VM disk image writable then "
"you will cause irreversible disk corruption."

#. type: textblock
#: ../fish/guestfish.pod:520
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 in order to get write access for disk images specified by "
"those other command line options."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:526
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:532
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 ""
"B<Note:> This does I<not> affect commands like L</add> and L</mount>, or any "
"other libguestfs program apart from guestfish and guestmount."

#. type: =head1
#: ../fish/guestfish.pod:535
msgid "QUOTING"
msgstr "QUOTING"

#. type: textblock
#: ../fish/guestfish.pod:537
msgid ""
"You can quote ordinary parameters using either single or double quotes.  For "
"example:"
msgstr ""
"You can quote ordinary parameters using either single or double quotes.  For "
"example:"

#. type: verbatim
#: ../fish/guestfish.pod:540
#, no-wrap
msgid ""
" add \"file with a space.img\"\n"
"\n"
msgstr ""
" add \"file with a space.img\"\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:542
#, no-wrap
msgid ""
" rm '/file name'\n"
"\n"
msgstr ""
" rm '/file name'\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:544
#, no-wrap
msgid ""
" rm '/\"'\n"
"\n"
msgstr ""
" rm '/\"'\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:546
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 ""
"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."

#. type: verbatim
#: ../fish/guestfish.pod:551
#, no-wrap
msgid ""
" vgcreate VG \"/dev/sda1 /dev/sdb1\"\n"
" command \"/bin/echo 'foo      bar'\"\n"
" command \"/bin/echo \\'foo\\'\"\n"
"\n"
msgstr ""
" vgcreate VG \"/dev/sda1 /dev/sdb1\"\n"
" command \"/bin/echo 'foo      bar'\"\n"
" command \"/bin/echo \\'foo\\'\"\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:555
msgid "ESCAPE SEQUENCES IN DOUBLE QUOTED ARGUMENTS"
msgstr "ESCAPE SEQUENCES IN DOUBLE QUOTED ARGUMENTS"

#. type: textblock
#: ../fish/guestfish.pod:557
msgid ""
"In double-quoted arguments (only) use backslash to insert special characters:"
msgstr ""
"In double-quoted arguments (only) use backslash to insert special characters:"

#. type: =item
#: ../fish/guestfish.pod:562
msgid "C<\\a>"
msgstr "C<\\a>"

#. type: textblock
#: ../fish/guestfish.pod:564
msgid "Alert (bell) character."
msgstr "Alert (bell) character."

#. type: =item
#: ../fish/guestfish.pod:566
msgid "C<\\b>"
msgstr "C<\\b>"

#. type: textblock
#: ../fish/guestfish.pod:568
msgid "Backspace character."
msgstr "Backspace character."

#. type: =item
#: ../fish/guestfish.pod:570
msgid "C<\\f>"
msgstr "C<\\f>"

#. type: textblock
#: ../fish/guestfish.pod:572
msgid "Form feed character."
msgstr "Form feed character."

#. type: =item
#: ../fish/guestfish.pod:574
msgid "C<\\n>"
msgstr "C<\\n>"

#. type: textblock
#: ../fish/guestfish.pod:576
msgid "Newline character."
msgstr "Newline character."

#. type: =item
#: ../fish/guestfish.pod:578
msgid "C<\\r>"
msgstr "C<\\r>"

#. type: textblock
#: ../fish/guestfish.pod:580
msgid "Carriage return character."
msgstr "Carriage return character."

#. type: =item
#: ../fish/guestfish.pod:582
msgid "C<\\t>"
msgstr "C<\\t>"

#. type: textblock
#: ../fish/guestfish.pod:584
msgid "Horizontal tab character."
msgstr "Horizontal tab character."

#. type: =item
#: ../fish/guestfish.pod:586
msgid "C<\\v>"
msgstr "C<\\v>"

#. type: textblock
#: ../fish/guestfish.pod:588
msgid "Vertical tab character."
msgstr "Vertical tab character."

#. type: =item
#: ../fish/guestfish.pod:590
msgid "C<\\\">"
msgstr "C<\\\">"

#. type: textblock
#: ../fish/guestfish.pod:592
msgid "A literal double quote character."
msgstr "A literal double quote character."

#. type: =item
#: ../fish/guestfish.pod:594
msgid "C<\\ooo>"
msgstr "C<\\ooo>"

#. type: textblock
#: ../fish/guestfish.pod:596
msgid ""
"A character with octal value I<ooo>.  There must be precisely 3 octal digits "
"(unlike C)."
msgstr ""
"A character with octal value I<ooo>.  There must be precisely 3 octal digits "
"(unlike C)."

#. type: =item
#: ../fish/guestfish.pod:599
msgid "C<\\xhh>"
msgstr "C<\\xhh>"

#. type: textblock
#: ../fish/guestfish.pod:601
msgid ""
"A character with hex value I<hh>.  There must be precisely 2 hex digits."
msgstr ""
"A character with hex value I<hh>.  There must be precisely 2 hex digits."

#. type: textblock
#: ../fish/guestfish.pod:604
msgid ""
"In the current implementation C<\\000> and C<\\x00> cannot be used in "
"strings."
msgstr ""
"In the current implementation C<\\000> and C<\\x00> cannot be used in "
"strings."

#. type: =item
#: ../fish/guestfish.pod:607
msgid "C<\\\\>"
msgstr "C<\\\\>"

#. type: textblock
#: ../fish/guestfish.pod:609 ../fish/guestfish.pod:1301
msgid "A literal backslash character."
msgstr "A literal backslash character."

#. type: =head2
#: ../fish/guestfish.pod:613 ../java/examples/guestfs-java.pod:74
msgid "OPTIONAL ARGUMENTS"
msgstr "OPTIONAL ARGUMENTS"

#. type: textblock
#: ../fish/guestfish.pod:615
msgid ""
"Some commands take optional arguments.  These arguments appear in this "
"documentation as C<[argname:..]>.  You can use them as in these examples:"
msgstr ""
"Some commands take optional arguments.  These arguments appear in this "
"documentation as C<[argname:..]>.  You can use them as in these examples:"

#. type: verbatim
#: ../fish/guestfish.pod:619
#, no-wrap
msgid ""
" add filename\n"
"\n"
msgstr ""
" add filename\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:621
#, no-wrap
msgid ""
" add filename readonly:true\n"
"\n"
msgstr ""
" add filename readonly:true\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:623
#, no-wrap
msgid ""
" add filename format:qcow2 readonly:false\n"
"\n"
msgstr ""
" add filename format:qcow2 readonly:false\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:625
msgid ""
"Each optional argument can appear at most once.  All optional arguments must "
"appear after the required ones."
msgstr ""
"Each optional argument can appear at most once.  All optional arguments must "
"appear after the required ones."

#. type: =head1
#: ../fish/guestfish.pod:628
msgid "NUMBERS"
msgstr "NUMBERS"

#. type: textblock
#: ../fish/guestfish.pod:630
msgid ""
"This section applies to all commands which can take integers as parameters."
msgstr ""
"This section applies to all commands which can take integers as parameters."

#. type: =head2
#: ../fish/guestfish.pod:633
msgid "SIZE SUFFIX"
msgstr "SIZE SUFFIX"

#. type: textblock
#: ../fish/guestfish.pod:635
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 ""
"When the command takes a parameter measured in bytes, you can use one of the "
"following suffixes to specify kilobytes, megabytes and larger sizes:"

#. type: =item
#: ../fish/guestfish.pod:641
msgid "B<k> or B<K> or B<KiB>"
msgstr "B<k> or B<K> or B<KiB>"

#. type: textblock
#: ../fish/guestfish.pod:643
msgid "The size in kilobytes (multiplied by 1024)."
msgstr "The size in kilobytes (multiplied by 1024)."

#. type: =item
#: ../fish/guestfish.pod:645
msgid "B<KB>"
msgstr "B<KB>"

#. type: textblock
#: ../fish/guestfish.pod:647
msgid "The size in SI 1000 byte units."
msgstr "The size in SI 1000 byte units."

#. type: =item
#: ../fish/guestfish.pod:649
msgid "B<M> or B<MiB>"
msgstr "B<M> or B<MiB>"

#. type: textblock
#: ../fish/guestfish.pod:651
msgid "The size in megabytes (multiplied by 1048576)."
msgstr "The size in megabytes (multiplied by 1048576)."

#. type: =item
#: ../fish/guestfish.pod:653
msgid "B<MB>"
msgstr "B<MB>"

#. type: textblock
#: ../fish/guestfish.pod:655
msgid "The size in SI 1000000 byte units."
msgstr "The size in SI 1000000 byte units."

#. type: =item
#: ../fish/guestfish.pod:657
msgid "B<G> or B<GiB>"
msgstr "B<G> or B<GiB>"

#. type: textblock
#: ../fish/guestfish.pod:659
msgid "The size in gigabytes (multiplied by 2**30)."
msgstr "The size in gigabytes (multiplied by 2**30)."

#. type: =item
#: ../fish/guestfish.pod:661
msgid "B<GB>"
msgstr "B<GB>"

#. type: textblock
#: ../fish/guestfish.pod:663
msgid "The size in SI 10**9 byte units."
msgstr "The size in SI 10**9 byte units."

#. type: =item
#: ../fish/guestfish.pod:665
msgid "B<T> or B<TiB>"
msgstr "B<T> or B<TiB>"

#. type: textblock
#: ../fish/guestfish.pod:667
msgid "The size in terabytes (multiplied by 2**40)."
msgstr "The size in terabytes (multiplied by 2**40)."

#. type: =item
#: ../fish/guestfish.pod:669
msgid "B<TB>"
msgstr "B<TB>"

#. type: textblock
#: ../fish/guestfish.pod:671
msgid "The size in SI 10**12 byte units."
msgstr "The size in SI 10**12 byte units."

#. type: =item
#: ../fish/guestfish.pod:673
msgid "B<P> or B<PiB>"
msgstr "B<P> or B<PiB>"

#. type: textblock
#: ../fish/guestfish.pod:675
msgid "The size in petabytes (multiplied by 2**50)."
msgstr "The size in petabytes (multiplied by 2**50)."

#. type: =item
#: ../fish/guestfish.pod:677
msgid "B<PB>"
msgstr "B<PB>"

#. type: textblock
#: ../fish/guestfish.pod:679
msgid "The size in SI 10**15 byte units."
msgstr "The size in SI 10**15 byte units."

#. type: =item
#: ../fish/guestfish.pod:681
msgid "B<E> or B<EiB>"
msgstr "B<E> or B<EiB>"

#. type: textblock
#: ../fish/guestfish.pod:683
msgid "The size in exabytes (multiplied by 2**60)."
msgstr "The size in exabytes (multiplied by 2**60)."

#. type: =item
#: ../fish/guestfish.pod:685
msgid "B<EB>"
msgstr "B<EB>"

#. type: textblock
#: ../fish/guestfish.pod:687
msgid "The size in SI 10**18 byte units."
msgstr "The size in SI 10**18 byte units."

#. type: =item
#: ../fish/guestfish.pod:689
msgid "B<Z> or B<ZiB>"
msgstr "B<Z> or B<ZiB>"

#. type: textblock
#: ../fish/guestfish.pod:691
msgid "The size in zettabytes (multiplied by 2**70)."
msgstr "The size in zettabytes (multiplied by 2**70)."

#. type: =item
#: ../fish/guestfish.pod:693
msgid "B<ZB>"
msgstr "B<ZB>"

#. type: textblock
#: ../fish/guestfish.pod:695
msgid "The size in SI 10**21 byte units."
msgstr "The size in SI 10**21 byte units."

#. type: =item
#: ../fish/guestfish.pod:697
msgid "B<Y> or B<YiB>"
msgstr "B<Y> or B<YiB>"

#. type: textblock
#: ../fish/guestfish.pod:699
msgid "The size in yottabytes (multiplied by 2**80)."
msgstr "The size in yottabytes (multiplied by 2**80)."

#. type: =item
#: ../fish/guestfish.pod:701
msgid "B<YB>"
msgstr "B<YB>"

#. type: textblock
#: ../fish/guestfish.pod:703
msgid "The size in SI 10**24 byte units."
msgstr "The size in SI 10**24 byte units."

#. type: verbatim
#: ../fish/guestfish.pod:709
#, no-wrap
msgid ""
" truncate-size /file 1G\n"
"\n"
msgstr ""
" truncate-size /file 1G\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:711
msgid "would truncate the file to 1 gigabyte."
msgstr "would truncate the file to 1 gigabyte."

#. type: textblock
#: ../fish/guestfish.pod:713
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 ""
"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."

#. type: =head2
#: ../fish/guestfish.pod:717
msgid "OCTAL AND HEXADECIMAL NUMBERS"
msgstr "OCTAL AND HEXADECIMAL NUMBERS"

#. type: textblock
#: ../fish/guestfish.pod:719
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish.pod:722
#, 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 ""
" 1234      decimal number 1234\n"
" 02322     octal number, equivalent to decimal 1234\n"
" 0x4d2     hexadecimal number, equivalent to decimal 1234\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:726
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 ""
"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):"

#. type: verbatim
#: ../fish/guestfish.pod:730
#, no-wrap
msgid ""
" chmod 0777 /public  # OK\n"
" chmod 777 /public   # WRONG! This is mode 777 decimal = 01411 octal.\n"
"\n"
msgstr ""
" chmod 0777 /public  # OK\n"
" chmod 777 /public   # WRONG! This is mode 777 decimal = 01411 octal.\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:733
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, preceded by C<0>)."
msgstr ""
"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, preceded by C<0>)."

#. type: =head1
#: ../fish/guestfish.pod:737
msgid "WILDCARDS AND GLOBBING"
msgstr "WILDCARDS AND GLOBBING"

#. type: textblock
#: ../fish/guestfish.pod:739
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 ""
"Neither guestfish nor the underlying guestfs API performs wildcard expansion "
"(globbing) by default.  So for example the following will not do what you "
"expect:"

#. type: verbatim
#: ../fish/guestfish.pod:743
#, no-wrap
msgid ""
" rm-rf /home/*\n"
"\n"
msgstr ""
" rm-rf /home/*\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:745
msgid ""
"Assuming you don’t have a directory called literally F</home/*> then the "
"above command will return an error."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:748
msgid "To perform wildcard expansion, use the C<glob> command."
msgstr "To perform wildcard expansion, use the C<glob> command."

#. type: verbatim
#: ../fish/guestfish.pod:750
#, no-wrap
msgid ""
" glob rm-rf /home/*\n"
"\n"
msgstr ""
" glob rm-rf /home/*\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:752
msgid ""
"runs C<rm-rf> on each path that matches (ie. potentially running the command "
"many times), equivalent to:"
msgstr ""
"runs C<rm-rf> on each path that matches (ie. potentially running the command "
"many times), equivalent to:"

#. type: verbatim
#: ../fish/guestfish.pod:755
#, no-wrap
msgid ""
" rm-rf /home/jim\n"
" rm-rf /home/joe\n"
" rm-rf /home/mary\n"
"\n"
msgstr ""
" rm-rf /home/jim\n"
" rm-rf /home/joe\n"
" rm-rf /home/mary\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:759
msgid "C<glob> only works on simple guest paths and not on device names."
msgstr "C<glob> only works on simple guest paths and not on device names."

#. type: textblock
#: ../fish/guestfish.pod:761
msgid ""
"If you have several parameters, each containing a wildcard, then glob will "
"perform a Cartesian product."
msgstr ""
"If you have several parameters, each containing a wildcard, then glob will "
"perform a Cartesian product."

#. type: =head1
#: ../fish/guestfish.pod:764
msgid "COMMENTS"
msgstr "COMMENTS"

#. type: textblock
#: ../fish/guestfish.pod:766
msgid ""
"Any line which starts with a I<#> character is treated as a comment and "
"ignored.  The I<#> can optionally be preceded by whitespace, but B<not> by a "
"command.  For example:"
msgstr ""
"Any line which starts with a I<#> character is treated as a comment and "
"ignored.  The I<#> can optionally be preceded by whitespace, but B<not> by a "
"command.  For example:"

#. type: verbatim
#: ../fish/guestfish.pod:770
#, no-wrap
msgid ""
" # this is a comment\n"
"         # this is a comment\n"
" foo # NOT a comment\n"
"\n"
msgstr ""
" # this is a comment\n"
"         # this is a comment\n"
" foo # NOT a comment\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:774
msgid "Blank lines are also ignored."
msgstr "Blank lines are also ignored."

#. type: =head1
#: ../fish/guestfish.pod:776
msgid "RUNNING COMMANDS LOCALLY"
msgstr "RUNNING COMMANDS LOCALLY"

#. type: textblock
#: ../fish/guestfish.pod:778
msgid ""
"Any line which starts with a I<!> character is treated as a command sent to "
"the local shell (F</bin/sh> or whatever L<system(3)> uses).  For example:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:782
#, no-wrap
msgid ""
" !mkdir local\n"
" tgz-out /remote local/remote-data.tar.gz\n"
"\n"
msgstr ""
" !mkdir local\n"
" tgz-out /remote local/remote-data.tar.gz\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:785
msgid ""
"will create a directory C<local> on the host, and then export the contents "
"of F</remote> on the mounted filesystem to F<local/remote-data.tar.gz>.  "
"(See C<tgz-out>)."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:789
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 ""
"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."

#. type: =head2
#: ../fish/guestfish.pod:792
msgid "LOCAL COMMANDS WITH INLINE EXECUTION"
msgstr "LOCAL COMMANDS WITH INLINE EXECUTION"

#. type: textblock
#: ../fish/guestfish.pod:794
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:798
msgid ""
"Thus you can use shell script to construct arbitrary guestfish commands "
"which are then parsed by guestfish."
msgstr ""
"Thus you can use shell script to construct arbitrary guestfish commands "
"which are then parsed by guestfish."

#. type: textblock
#: ../fish/guestfish.pod:801
msgid ""
"For example it is tedious to create a sequence of files (eg. F</foo.1> "
"through F</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:806
#, no-wrap
msgid ""
" <! for n in `seq 1 100`; do echo write /foo.$n $n; done\n"
"\n"
msgstr ""
" <! for n in `seq 1 100`; do echo write /foo.$n $n; done\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:808
msgid "or with names like F</foo.001>:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:810
#, no-wrap
msgid ""
" <! for n in `seq 1 100`; do printf \"write /foo.%03d %d\\n\" $n $n; done\n"
"\n"
msgstr ""
" <! for n in `seq 1 100`; do printf \"write /foo.%03d %d\\n\" $n $n; done\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:812
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 ""
"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."

#. type: =head1
#: ../fish/guestfish.pod:818
msgid "PIPES"
msgstr "PIPES"

#. type: textblock
#: ../fish/guestfish.pod:820
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish.pod:824
#, no-wrap
msgid ""
" cat /etc/passwd | awk -F: '$3 == 0 { print }'\n"
"\n"
msgstr ""
" cat /etc/passwd | awk -F: '$3 == 0 { print }'\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:826
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 ""
"(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:"

#. type: verbatim
#: ../fish/guestfish.pod:831
#, no-wrap
msgid ""
" hexdump /bin/ls | head\n"
" list-devices | tail -1\n"
" tgz-out / - | tar ztf -\n"
"\n"
msgstr ""
" hexdump /bin/ls | head\n"
" list-devices | tail -1\n"
" tgz-out / - | tar ztf -\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:835
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:840
msgid ""
"To use a literal argument which begins with a pipe symbol, you have to quote "
"it, eg:"
msgstr ""
"To use a literal argument which begins with a pipe symbol, you have to quote "
"it, eg:"

#. type: verbatim
#: ../fish/guestfish.pod:843
#, no-wrap
msgid ""
" echo \"|\"\n"
"\n"
msgstr ""
" echo \"|\"\n"
"\n"

#. type: =head1
#: ../fish/guestfish.pod:845
msgid "HOME DIRECTORIES"
msgstr "HOME DIRECTORIES"

#. type: textblock
#: ../fish/guestfish.pod:847
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 ""
"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)."

#. type: textblock
#: ../fish/guestfish.pod:851
msgid ""
"Note that home directory expansion happens for users known I<on the host>, "
"not in the guest filesystem."
msgstr ""
"Note that home directory expansion happens for users known I<on the host>, "
"not in the guest filesystem."

#. type: textblock
#: ../fish/guestfish.pod:854
msgid ""
"To use a literal argument which begins with a tilde, you have to quote it, "
"eg:"
msgstr ""
"To use a literal argument which begins with a tilde, you have to quote it, "
"eg:"

#. type: verbatim
#: ../fish/guestfish.pod:857
#, no-wrap
msgid ""
" echo \"~\"\n"
"\n"
msgstr ""
" echo \"~\"\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:859 ../lib/guestfs.pod:582
msgid "ENCRYPTED DISKS"
msgstr "ENCRYPTED DISKS"

#. type: textblock
#: ../fish/guestfish.pod:861
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:866
msgid "Identify encrypted block devices and partitions using L</vfs-type>:"
msgstr "Identify encrypted block devices and partitions using L</vfs-type>:"

#. type: verbatim
#: ../fish/guestfish.pod:868
#, no-wrap
msgid ""
" ><fs> vfs-type /dev/sda2\n"
" crypto_LUKS\n"
"\n"
msgstr ""
" ><fs> vfs-type /dev/sda2\n"
" crypto_LUKS\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:871
msgid ""
"Then open those devices using L</luks-open>.  This creates a device-mapper "
"device called F</dev/mapper/luksdev>."
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:874
#, no-wrap
msgid ""
" ><fs> luks-open /dev/sda2 luksdev\n"
" Enter key or passphrase (\"key\"): <enter the passphrase>\n"
"\n"
msgstr ""
" ><fs> luks-open /dev/sda2 luksdev\n"
" Enter key or passphrase (\"key\"): <enter the passphrase>\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:877
msgid ""
"Finally you have to tell LVM to scan for volume groups on the newly created "
"mapper device:"
msgstr ""
"Finally you have to tell LVM to scan for volume groups on the newly created "
"mapper device:"

#. type: verbatim
#: ../fish/guestfish.pod:880
#, no-wrap
msgid ""
" vgscan\n"
" vg-activate-all true\n"
"\n"
msgstr ""
" vgscan\n"
" vg-activate-all true\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:883
msgid "The logical volume(s) can now be mounted in the usual way."
msgstr "The logical volume(s) can now be mounted in the usual way."

#. type: textblock
#: ../fish/guestfish.pod:885
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish.pod:889
#, no-wrap
msgid ""
" vg-activate false /dev/VG\n"
" luks-close /dev/mapper/luksdev\n"
"\n"
msgstr ""
" vg-activate false /dev/VG\n"
" luks-close /dev/mapper/luksdev\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:894
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish.pod:898
#, no-wrap
msgid ""
" file /WINDOWS/system32/config/system.LOG\n"
"\n"
msgstr ""
" file /WINDOWS/system32/config/system.LOG\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:900
#, no-wrap
msgid ""
" file win:\\windows\\system32\\config\\system.log\n"
"\n"
msgstr ""
" file win:\\windows\\system32\\config\\system.log\n"
"\n"

#. type: verbatim
#: ../fish/guestfish.pod:902
#, no-wrap
msgid ""
" file WIN:C:\\Windows\\SYSTEM32\\CONFIG\\SYSTEM.LOG\n"
"\n"
msgstr ""
" file WIN:C:\\Windows\\SYSTEM32\\CONFIG\\SYSTEM.LOG\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:904
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 F</e> then "
"the parameter might be rewritten like this:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:910
#, no-wrap
msgid ""
" win:e:\\foo\\bar => /e/FOO/bar\n"
"\n"
msgstr ""
" win:e:\\foo\\bar => /e/FOO/bar\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:912
msgid "This only works in argument positions that expect a path."
msgstr "This only works in argument positions that expect a path."

#. type: =head1
#: ../fish/guestfish.pod:914
msgid "UPLOADING AND DOWNLOADING FILES"
msgstr "UPLOADING AND DOWNLOADING FILES"

#. type: textblock
#: ../fish/guestfish.pod:916
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish.pod:920
#, no-wrap
msgid ""
" upload - /foo\n"
"\n"
msgstr ""
" upload - /foo\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:922
msgid ""
"reads stdin and creates from that a file F</foo> in the disk image, and:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:925
#, no-wrap
msgid ""
" tar-out /etc - | tar tf -\n"
"\n"
msgstr ""
" tar-out /etc - | tar tf -\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:927
msgid ""
"writes the tarball to stdout and then pipes that into the external \"tar\" "
"command (see L</PIPES>)."
msgstr ""
"writes the tarball to stdout and then pipes that into the external \"tar\" "
"command (see L</PIPES>)."

#. type: textblock
#: ../fish/guestfish.pod:930
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish.pod:934
#, no-wrap
msgid ""
" upload -<<END /foo\n"
" input line 1\n"
" input line 2\n"
" input line 3\n"
" END\n"
"\n"
msgstr ""
" upload -<<END /foo\n"
" input line 1\n"
" input line 2\n"
" input line 3\n"
" END\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:940
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 preceding or following characters "
"(not even spaces)."
msgstr ""
"Any string of characters can be used instead of C<END>.  The end marker must "
"appear on a line of its own, without any preceding or following characters "
"(not even spaces)."

#. type: textblock
#: ../fish/guestfish.pod:944
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 ""
"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)."

#. type: =head1
#: ../fish/guestfish.pod:947
msgid "EXIT ON ERROR BEHAVIOUR"
msgstr "EXIT ON ERROR BEHAVIOUR"

#. type: textblock
#: ../fish/guestfish.pod:949
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 ""
"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)."

#. type: textblock
#: ../fish/guestfish.pod:954
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 ""
"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."

#. type: =head1
#: ../fish/guestfish.pod:958
msgid "REMOTE CONTROL GUESTFISH OVER A SOCKET"
msgstr "REMOTE CONTROL GUESTFISH OVER A SOCKET"

#. type: textblock
#: ../fish/guestfish.pod:960
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:965
msgid "Start a guestfish server process using:"
msgstr "Start a guestfish server process using:"

#. type: verbatim
#: ../fish/guestfish.pod:967
#, no-wrap
msgid ""
" eval \"`guestfish --listen`\"\n"
"\n"
msgstr ""
" eval \"`guestfish --listen`\"\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:969
msgid "and then send it commands by doing:"
msgstr "and then send it commands by doing:"

#. type: verbatim
#: ../fish/guestfish.pod:971
#, no-wrap
msgid ""
" guestfish --remote cmd [...]\n"
"\n"
msgstr ""
" guestfish --remote cmd [...]\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:973
msgid "To cause the server to exit, send it the exit command:"
msgstr "To cause the server to exit, send it the exit command:"

#. type: textblock
#: ../fish/guestfish.pod:977
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 ""
"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>."

#. type: =head2
#: ../fish/guestfish.pod:981
msgid "CONTROLLING MULTIPLE GUESTFISH PROCESSES"
msgstr "CONTROLLING MULTIPLE GUESTFISH PROCESSES"

#. type: textblock
#: ../fish/guestfish.pod:983
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish.pod:987
#, 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 ""
" 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"

#. type: =head2
#: ../fish/guestfish.pod:995
msgid "REMOTE CONTROL AND CSH"
msgstr "REMOTE CONTROL AND CSH"

#. type: textblock
#: ../fish/guestfish.pod:997
msgid ""
"When using csh-like shells (csh, tcsh etc) you have to add the I<--csh> "
"option:"
msgstr ""
"When using csh-like shells (csh, tcsh etc) you have to add the I<--csh> "
"option:"

#. type: verbatim
#: ../fish/guestfish.pod:1000
#, no-wrap
msgid ""
" eval \"`guestfish --listen --csh`\"\n"
"\n"
msgstr ""
" eval \"`guestfish --listen --csh`\"\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:1002
msgid "REMOTE CONTROL DETAILS"
msgstr "REMOTE CONTROL DETAILS"

#. type: textblock
#: ../fish/guestfish.pod:1004
msgid ""
"Remote control happens over a Unix domain socket called F</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:1008
msgid "Guestfish client and server versions must match exactly."
msgstr "Guestfish client and server versions must match exactly."

#. type: textblock
#: ../fish/guestfish.pod:1010
msgid ""
"Older versions of guestfish were vulnerable to CVE-2013-4419 (see "
"L<guestfs(3)/CVE-2013-4419>).  This is fixed in the current version."
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1013
msgid "USING REMOTE CONTROL ROBUSTLY FROM SHELL SCRIPTS"
msgstr "USING REMOTE CONTROL ROBUSTLY FROM SHELL SCRIPTS"

#. type: textblock
#: ../fish/guestfish.pod:1015
msgid ""
"From Bash, you can use the following code which creates a guestfish "
"instance, correctly quotes the command line, handles failure to start, and "
"cleans up guestfish when the script exits:"
msgstr ""
"From Bash, you can use the following code which creates a guestfish "
"instance, correctly quotes the command line, handles failure to start, and "
"cleans up guestfish when the script exits:"

#. type: verbatim
#: ../fish/guestfish.pod:1023
#, no-wrap
msgid ""
" guestfish[0]=\"guestfish\"\n"
" guestfish[1]=\"--listen\"\n"
" guestfish[2]=\"--ro\"\n"
" guestfish[3]=\"-a\"\n"
" guestfish[4]=\"disk.img\"\n"
" \n"
msgstr ""
" guestfish[0]=\"guestfish\"\n"
" guestfish[1]=\"--listen\"\n"
" guestfish[2]=\"--ro\"\n"
" guestfish[3]=\"-a\"\n"
" guestfish[4]=\"disk.img\"\n"
" \n"

#. type: verbatim
#: ../fish/guestfish.pod:1029
#, no-wrap
msgid ""
" GUESTFISH_PID=\n"
" eval $(\"${guestfish[@]}\")\n"
" if [ -z \"$GUESTFISH_PID\" ]; then\n"
"     echo \"error: guestfish didn't start up, see error messages above\"\n"
"     exit 1\n"
" fi\n"
" \n"
msgstr ""
" GUESTFISH_PID=\n"
" eval $(\"${guestfish[@]}\")\n"
" if [ -z \"$GUESTFISH_PID\" ]; then\n"
"     echo \"error: guestfish didn't start up, see error messages above\"\n"
"     exit 1\n"
" fi\n"
" \n"

#. type: verbatim
#: ../fish/guestfish.pod:1036
#, no-wrap
msgid ""
" cleanup_guestfish ()\n"
" {\n"
"     guestfish --remote -- exit >/dev/null 2>&1 ||:\n"
" }\n"
" trap cleanup_guestfish EXIT ERR\n"
" \n"
msgstr ""
" cleanup_guestfish ()\n"
" {\n"
"     guestfish --remote -- exit >/dev/null 2>&1 ||:\n"
" }\n"
" trap cleanup_guestfish EXIT ERR\n"
" \n"

#. type: verbatim
#: ../fish/guestfish.pod:1042
#, no-wrap
msgid ""
" guestfish --remote -- run\n"
" \n"
msgstr ""
" guestfish --remote -- run\n"
" \n"

#. type: verbatim
#: ../fish/guestfish.pod:1044
#, no-wrap
msgid ""
" # ...\n"
"\n"
msgstr ""
" # ...\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:1046
msgid "REMOTE CONTROL DOES NOT WORK WITH I<-a> ETC. OPTIONS"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1048
msgid ""
"Options such as I<-a>, I<--add>, I<-N>, I<--new> etc don’t interact properly "
"with remote support.  They are processed locally, and not sent through to "
"the remote guestfish.  In particular this won't do what you expect:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:1053
#, no-wrap
msgid ""
" guestfish --remote --add disk.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1055
msgid "Don’t use these options.  Use the equivalent commands instead, eg:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:1057
#, no-wrap
msgid ""
" guestfish --remote add-drive disk.img\n"
"\n"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:1061
#, no-wrap
msgid ""
" guestfish --remote\n"
" ><fs> add disk.img\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1064
msgid "REMOTE CONTROL RUN COMMAND HANGING"
msgstr "REMOTE CONTROL RUN COMMAND HANGING"

#. type: textblock
#: ../fish/guestfish.pod:1066
msgid ""
"Using the C<run> (or C<launch>) command remotely in a command substitution "
"context hangs, ie. don't do (note the backquotes):"
msgstr ""
"Using the C<run> (or C<launch>) command remotely in a command substitution "
"context hangs, ie. don't do (note the backquotes):"

#. type: verbatim
#: ../fish/guestfish.pod:1069
#, no-wrap
msgid ""
" a=`guestfish --remote run`\n"
"\n"
msgstr ""
" a=`guestfish --remote run`\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1071
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 ""
"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>."

#. type: =head1
#: ../fish/guestfish.pod:1075
msgid "PREPARED DISK IMAGES"
msgstr "PREPARED DISK IMAGES"

#. type: textblock
#: ../fish/guestfish.pod:1077
msgid ""
"Use the I<-N [filename=]type> or I<--new [filename=]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 ""
"Use the I<-N [filename=]type> or I<--new [filename=]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>)."

#. type: textblock
#: ../fish/guestfish.pod:1083
msgid ""
"The new disk is called F<test1.img> for the first I<-N>, F<test2.img> for "
"the second and so on.  Existing files in the current directory are "
"I<overwritten>.  You can use a different filename by specifying C<filename=> "
"before the type (see examples below)."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1088
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 1G, sparsely-"
"allocated disk, containing a single partition, with the partition formatted "
"as ext2.  I<-N fs:ext4:2G> is the same, but for an ext4 filesystem on a 2GB "
"disk instead."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1096
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:1100
msgid ""
"If any I<-N> or I<--new> options are given, the libguestfs appliance is "
"automatically launched."
msgstr ""
"If any I<-N> or I<--new> options are given, the libguestfs appliance is "
"automatically launched."

#. type: textblock
#: ../fish/guestfish.pod:1105
msgid ""
"Create a 1G disk with an ext4-formatted partition, called F<test1.img> in "
"the current directory:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:1108
#, no-wrap
msgid ""
" guestfish -N fs:ext4\n"
"\n"
msgstr ""
" guestfish -N fs:ext4\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1110
msgid "Create a 32MB disk with a VFAT-formatted partition, and mount it:"
msgstr "Create a 32MB disk with a VFAT-formatted partition, and mount it:"

#. type: verbatim
#: ../fish/guestfish.pod:1112
#, no-wrap
msgid ""
" guestfish -N fs:vfat:32M -m /dev/sda1\n"
"\n"
msgstr ""
" guestfish -N fs:vfat:32M -m /dev/sda1\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1114
msgid "Create a blank 200MB disk:"
msgstr "Create a blank 200MB disk:"

#. type: verbatim
#: ../fish/guestfish.pod:1116
#, no-wrap
msgid ""
" guestfish -N disk:200M\n"
"\n"
msgstr ""
" guestfish -N disk:200M\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1118
msgid ""
"Create a blank 200MB disk called F<blankdisk.img> (instead of F<test1.img>):"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:1121
#, no-wrap
msgid ""
" guestfish -N blankdisk.img=disk:200M\n"
"\n"
msgstr ""
" guestfish -N blankdisk.img=disk:200M\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1123
msgid "__INCLUDE:guestfish-prepopts.pod__"
msgstr ""

#. type: =head1
#: ../fish/guestfish.pod:1125
msgid "ADDING REMOTE STORAGE"
msgstr "ADDING REMOTE STORAGE"

#. type: textblock
#: ../fish/guestfish.pod:1127
msgid ""
"I<For API-level documentation on this topic, see L<guestfs(3)/"
"guestfs_add_drive_opts> and L<guestfs(3)/REMOTE STORAGE>>."
msgstr ""
"I<For API-level documentation on this topic, see L<guestfs(3)/"
"guestfs_add_drive_opts> and L<guestfs(3)/REMOTE STORAGE>>."

#. type: textblock
#: ../fish/guestfish.pod:1131
msgid ""
"On the command line, you can use the I<-a> option to add network block "
"devices using a URI-style format, for example:"
msgstr ""
"On the command line, you can use the I<-a> option to add network block "
"devices using a URI-style format, for example:"

#. type: verbatim
#: ../fish/guestfish.pod:1134
#, no-wrap
msgid ""
" guestfish -a ssh://root@example.com/disk.img\n"
"\n"
msgstr ""
" guestfish -a ssh://root@example.com/disk.img\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1136
msgid ""
"URIs I<cannot> be used with the L</add> command.  The equivalent command "
"using the API directly is:"
msgstr ""
"URIs I<cannot> be used with the L</add> command.  The equivalent command "
"using the API directly is:"

#. type: verbatim
#: ../fish/guestfish.pod:1139
#, no-wrap
msgid ""
" ><fs> add /disk.img protocol:ssh server:tcp:example.com username:root\n"
"\n"
msgstr ""
" ><fs> add /disk.img protocol:ssh server:tcp:example.com username:root\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1141
msgid "The possible I<-a URI> formats are described below."
msgstr "The possible I<-a URI> formats are described below."

#. type: =head2
#: ../fish/guestfish.pod:1143
msgid "B<-a disk.img>"
msgstr "B<-a disk.img>"

#. type: =head2
#: ../fish/guestfish.pod:1145
msgid "B<-a file:///path/to/disk.img>"
msgstr "B<-a file:///path/to/disk.img>"

#. type: textblock
#: ../fish/guestfish.pod:1147
msgid "Add the local disk image (or device) called F<disk.img>."
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1149
msgid "B<-a ftp://[user@]example.com[:port]/disk.img>"
msgstr "B<-a ftp://[user@]example.com[:port]/disk.img>"

#. type: =head2
#: ../fish/guestfish.pod:1151
msgid "B<-a ftps://[user@]example.com[:port]/disk.img>"
msgstr "B<-a ftps://[user@]example.com[:port]/disk.img>"

#. type: =head2
#: ../fish/guestfish.pod:1153
msgid "B<-a http://[user@]example.com[:port]/disk.img>"
msgstr "B<-a http://[user@]example.com[:port]/disk.img>"

#. type: =head2
#: ../fish/guestfish.pod:1155
msgid "B<-a https://[user@]example.com[:port]/disk.img>"
msgstr "B<-a https://[user@]example.com[:port]/disk.img>"

#. type: =head2
#: ../fish/guestfish.pod:1157
msgid "B<-a tftp://[user@]example.com[:port]/disk.img>"
msgstr "B<-a tftp://[user@]example.com[:port]/disk.img>"

#. type: textblock
#: ../fish/guestfish.pod:1159
msgid "Add a disk located on a remote FTP, HTTP or TFTP server."
msgstr "Add a disk located on a remote FTP, HTTP or TFTP server."

#. type: textblock
#: ../fish/guestfish.pod:1161 ../fish/guestfish.pod:1171
#: ../fish/guestfish.pod:1179 ../fish/guestfish.pod:1213
#: ../fish/guestfish.pod:1225 ../fish/guestfish.pod:1235
msgid "The equivalent API command would be:"
msgstr "The equivalent API command would be:"

#. type: verbatim
#: ../fish/guestfish.pod:1163
#, no-wrap
msgid ""
" ><fs> add /disk.img protocol:(ftp|...) server:tcp:example.com\n"
"\n"
msgstr ""
" ><fs> add /disk.img protocol:(ftp|...) server:tcp:example.com\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:1165
msgid "B<-a gluster://example.com[:port]/volname/image>"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1167
msgid "Add a disk image located on GlusterFS storage."
msgstr "Add a disk image located on GlusterFS storage."

#. type: textblock
#: ../fish/guestfish.pod:1169
msgid "The server is the one running C<glusterd>, and may be C<localhost>."
msgstr "The server is the one running C<glusterd>, and may be C<localhost>."

#. type: verbatim
#: ../fish/guestfish.pod:1173
#, no-wrap
msgid ""
" ><fs> add volname/image protocol:gluster server:tcp:example.com\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1175
msgid "B<-a iscsi://example.com[:port]/target-iqn-name[/lun]>"
msgstr "B<-a iscsi://example.com[:port]/target-iqn-name[/lun]>"

#. type: textblock
#: ../fish/guestfish.pod:1177
msgid "Add a disk located on an iSCSI server."
msgstr "Add a disk located on an iSCSI server."

#. type: verbatim
#: ../fish/guestfish.pod:1181
#, no-wrap
msgid ""
" ><fs> add target-iqn-name/lun protocol:iscsi server:tcp:example.com\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1183
msgid "B<-a nbd://example.com[:port]>"
msgstr "B<-a nbd://example.com[:port]>"

#. type: =head2
#: ../fish/guestfish.pod:1185
msgid "B<-a nbd://example.com[:port]/exportname>"
msgstr "B<-a nbd://example.com[:port]/exportname>"

#. type: =head2
#: ../fish/guestfish.pod:1187
msgid "B<-a nbd://?socket=/socket>"
msgstr "B<-a nbd://?socket=/socket>"

#. type: =head2
#: ../fish/guestfish.pod:1189
msgid "B<-a nbd:///exportname?socket=/socket>"
msgstr "B<-a nbd:///exportname?socket=/socket>"

#. type: textblock
#: ../fish/guestfish.pod:1191
msgid "Add a disk located on Network Block Device (nbd) storage."
msgstr "Add a disk located on Network Block Device (nbd) storage."

#. type: textblock
#: ../fish/guestfish.pod:1193
msgid ""
"The I</exportname> part of the URI specifies an NBD export name, but is "
"usually left empty."
msgstr ""
"The I</exportname> part of the URI specifies an NBD export name, but is "
"usually left empty."

#. type: textblock
#: ../fish/guestfish.pod:1196
msgid ""
"The optional I<?socket> parameter can be used to specify a Unix domain "
"socket that we talk to the NBD server over.  Note that you cannot mix server "
"name (ie. TCP/IP) and socket path."
msgstr ""
"The optional I<?socket> parameter can be used to specify a Unix domain "
"socket that we talk to the NBD server over.  Note that you cannot mix server "
"name (ie. TCP/IP) and socket path."

#. type: textblock
#: ../fish/guestfish.pod:1200
msgid "The equivalent API command would be (no export name):"
msgstr "The equivalent API command would be (no export name):"

#. type: verbatim
#: ../fish/guestfish.pod:1202
#, no-wrap
msgid ""
" ><fs> add \"\" protocol:nbd server:[tcp:example.com|unix:/socket]\n"
"\n"
msgstr ""
" ><fs> add \"\" protocol:nbd server:[tcp:example.com|unix:/socket]\n"
"\n"

#. type: =head2
#: ../fish/guestfish.pod:1204
msgid "B<-a rbd:///pool/disk>"
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1206
msgid "B<-a rbd://example.com[:port]/pool/disk>"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1208
msgid "Add a disk image located on a Ceph (RBD/librbd) storage volume."
msgstr "Add a disk image located on a Ceph (RBD/librbd) storage volume."

#. type: textblock
#: ../fish/guestfish.pod:1210
msgid ""
"Although libguestfs and Ceph supports multiple servers, only a single server "
"can be specified when using this URI syntax."
msgstr ""
"Although libguestfs and Ceph supports multiple servers, only a single server "
"can be specified when using this URI syntax."

#. type: verbatim
#: ../fish/guestfish.pod:1215
#, no-wrap
msgid ""
" ><fs> add pool/disk protocol:rbd server:tcp:example.com:port\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1217
msgid "B<-a sheepdog://[example.com[:port]]/volume/image>"
msgstr "B<-a sheepdog://[example.com[:port]]/volume/image>"

#. type: textblock
#: ../fish/guestfish.pod:1219
msgid "Add a disk image located on a Sheepdog volume."
msgstr "Add a disk image located on a Sheepdog volume."

#. type: textblock
#: ../fish/guestfish.pod:1221
msgid ""
"The server name is optional.  Although libguestfs and Sheepdog supports "
"multiple servers, only at most one server can be specified when using this "
"URI syntax."
msgstr ""
"The server name is optional.  Although libguestfs and Sheepdog supports "
"multiple servers, only at most one server can be specified when using this "
"URI syntax."

#. type: verbatim
#: ../fish/guestfish.pod:1227
#, no-wrap
msgid ""
" ><fs> add volume protocol:sheepdog [server:tcp:example.com]\n"
"\n"
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1229
msgid "B<-a ssh://[user@]example.com[:port]/disk.img>"
msgstr "B<-a ssh://[user@]example.com[:port]/disk.img>"

#. type: textblock
#: ../fish/guestfish.pod:1231
msgid ""
"Add a disk image located on a remote server, accessed using the Secure Shell "
"(ssh) SFTP protocol.  SFTP is supported out of the box by all major SSH "
"servers."
msgstr ""
"Add a disk image located on a remote server, accessed using the Secure Shell "
"(ssh) SFTP protocol.  SFTP is supported out of the box by all major SSH "
"servers."

#. type: verbatim
#: ../fish/guestfish.pod:1237
#, no-wrap
msgid ""
" ><fs> add /disk protocol:ssh server:tcp:example.com [username:user]\n"
"\n"
msgstr ""
" ><fs> add /disk protocol:ssh server:tcp:example.com [username:user]\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1239
msgid ""
"Note that the URIs follow the syntax of L<RFC 3986|https://tools.ietf.org/"
"html/rfc3986>: in particular, there are restrictions on the allowed "
"characters for the various components of the URI.  Characters such as C<:>, "
"C<@>, and C</> B<must> be percent-encoded:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:1245
#, no-wrap
msgid ""
" $ guestfish -a ssh://user:pass%40word@example.com/disk.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1247
msgid "In this case, the password is C<pass@word>."
msgstr ""

#. type: =head1
#: ../fish/guestfish.pod:1249
msgid "PROGRESS BARS"
msgstr "PROGRESS BARS"

#. type: textblock
#: ../fish/guestfish.pod:1251
msgid ""
"Some (not all) long-running commands send progress notification messages as "
"they are running.  Guestfish turns these messages into progress bars."
msgstr ""
"Some (not all) long-running commands send progress notification messages as "
"they are running.  Guestfish turns these messages into progress bars."

#. type: textblock
#: ../fish/guestfish.pod:1255
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 ""
"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:"

#. type: verbatim
#: ../fish/guestfish.pod:1259
#, no-wrap
msgid ""
" ><fs> copy-size /large-file /another-file 2048M\n"
" / 10% [#####-----------------------------------------] 00:30\n"
"\n"
msgstr ""
" ><fs> copy-size /large-file /another-file 2048M\n"
" / 10% [#####-----------------------------------------] 00:30\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1262
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 ""
"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."

#. type: textblock
#: ../fish/guestfish.pod:1269
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 ""
"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>."

#. type: =head1
#: ../fish/guestfish.pod:1274
msgid "PROMPT"
msgstr "PROMPT"

#. type: textblock
#: ../fish/guestfish.pod:1276
msgid ""
"You can change or add colours to the default prompt (C<E<gt>E<lt>fsE<gt>>) "
"by setting the C<GUESTFISH_PS1> environment variable.  A second string "
"(C<GUESTFISH_OUTPUT>) is printed after the command has been entered and "
"before the output, allowing you to control the colour of the output.  A "
"third string (C<GUESTFISH_INIT>)  is printed before the welcome message, "
"allowing you to control the colour of that message.  A fourth string "
"(C<GUESTFISH_RESTORE>) is printed before guestfish exits."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1285
msgid ""
"A simple prompt can be set by setting C<GUESTFISH_PS1> to an alternate "
"string:"
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:1288
#, no-wrap
msgid ""
" $ GUESTFISH_PS1='(type a command) '\n"
" $ export GUESTFISH_PS1\n"
" $ guestfish\n"
" [...]\n"
" (type a command) ▂\n"
"\n"
msgstr ""
" $ GUESTFISH_PS1='(type a command) '\n"
" $ export GUESTFISH_PS1\n"
" $ guestfish\n"
" [...]\n"
" (type a command) ▂\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1294
msgid ""
"You can also use special escape sequences, as described in the table below:"
msgstr ""
"You can also use special escape sequences, as described in the table below:"

#. type: =item
#: ../fish/guestfish.pod:1299
msgid "\\\\"
msgstr "\\\\"

#. type: =item
#: ../fish/guestfish.pod:1303
msgid "\\["
msgstr "\\["

#. type: =item
#: ../fish/guestfish.pod:1305
msgid "\\]"
msgstr "\\]"

#. type: textblock
#: ../fish/guestfish.pod:1307
msgid "(These should only be used in C<GUESTFISH_PS1>.)"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1309
msgid ""
"Place non-printing characters (eg. terminal control codes for colours)  "
"between C<\\[...\\]>.  What this does it to tell the L<readline(3)> library "
"that it should treat this subsequence as zero-width, so that command-line "
"redisplay, editing etc works."
msgstr ""
"Place non-printing characters (eg. terminal control codes for colours)  "
"between C<\\[...\\]>.  What this does it to tell the L<readline(3)> library "
"that it should treat this subsequence as zero-width, so that command-line "
"redisplay, editing etc works."

#. type: =item
#: ../fish/guestfish.pod:1314
msgid "\\a"
msgstr "\\a"

#. type: textblock
#: ../fish/guestfish.pod:1316
msgid "A bell character."
msgstr "A bell character."

#. type: =item
#: ../fish/guestfish.pod:1318
msgid "\\e"
msgstr "\\e"

#. type: textblock
#: ../fish/guestfish.pod:1320
msgid "An ASCII ESC (escape) character."
msgstr "An ASCII ESC (escape) character."

#. type: =item
#: ../fish/guestfish.pod:1322
msgid "\\n"
msgstr "\\n"

#. type: textblock
#: ../fish/guestfish.pod:1324
msgid "A newline."
msgstr "A newline."

#. type: =item
#: ../fish/guestfish.pod:1326
msgid "\\r"
msgstr "\\r"

#. type: textblock
#: ../fish/guestfish.pod:1328
msgid "A carriage return."
msgstr "A carriage return."

#. type: =item
#: ../fish/guestfish.pod:1330
msgid "\\NNN"
msgstr "\\NNN"

#. type: textblock
#: ../fish/guestfish.pod:1332
msgid "The ASCII character whose code is the octal value NNN."
msgstr "The ASCII character whose code is the octal value NNN."

#. type: =item
#: ../fish/guestfish.pod:1334
msgid "\\xNN"
msgstr "\\xNN"

#. type: textblock
#: ../fish/guestfish.pod:1336
msgid "The ASCII character whose code is the hex value NN."
msgstr "The ASCII character whose code is the hex value NN."

#. type: =head2
#: ../fish/guestfish.pod:1340
msgid "EXAMPLES OF PROMPTS"
msgstr "EXAMPLES OF PROMPTS"

#. type: textblock
#: ../fish/guestfish.pod:1342
msgid ""
"Note that these examples require a terminal that supports ANSI escape codes."
msgstr ""

#. type: verbatim
#: ../fish/guestfish.pod:1348
#, no-wrap
msgid ""
" GUESTFISH_PS1='\\[\\e[1;30m\\]><fs>\\[\\e[0;30m\\] '\n"
"\n"
msgstr ""
" GUESTFISH_PS1='\\[\\e[1;30m\\]><fs>\\[\\e[0;30m\\] '\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1350
msgid "A bold black version of the ordinary prompt."
msgstr "A bold black version of the ordinary prompt."

#. type: verbatim
#: ../fish/guestfish.pod:1354
#, no-wrap
msgid ""
" GUESTFISH_PS1='\\[\\e[1;32m\\]><fs>\\[\\e[0;31m\\] '\n"
" GUESTFISH_OUTPUT='\\e[0m'\n"
" GUESTFISH_RESTORE=\"$GUESTFISH_OUTPUT\"\n"
" GUESTFISH_INIT='\\e[1;34m'\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1359
msgid "Blue welcome text, green prompt, red commands, black command output."
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1364 ../resize/virt-resize.pod:750
#: ../sparsify/virt-sparsify.pod:410 ../sysprep/virt-sysprep.pod:556
#: ../tools/virt-win-reg:637
msgid "WINDOWS 8"
msgstr "WINDOWS 8"

#. type: textblock
#: ../fish/guestfish.pod:1366
msgid ""
"Windows 8 \"fast startup\" can prevent guestfish from mounting NTFS "
"partitions.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST "
"STARTUP>."
msgstr ""
"Windows 8 \"fast startup\" can prevent guestfish from mounting NTFS "
"partitions.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST "
"STARTUP>."

#. type: =head1
#: ../fish/guestfish.pod:1370
msgid "GUESTFISH COMMANDS"
msgstr "GUESTFISH COMMANDS"

#. type: textblock
#: ../fish/guestfish.pod:1372
msgid ""
"The commands in this section are guestfish convenience commands, in other "
"words, they are not part of the L<guestfs(3)> API."
msgstr ""
"The commands in this section are guestfish convenience commands, in other "
"words, they are not part of the L<guestfs(3)> API."

#. type: =head2
#: ../fish/guestfish.pod:1375
msgid "help"
msgstr "help"

#. type: verbatim
#: ../fish/guestfish.pod:1377
#, no-wrap
msgid ""
" help\n"
" help cmd\n"
" help -l|--list\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1381
msgid "Without any parameter, this provides general help."
msgstr "Without any parameter, this provides general help."

#. type: textblock
#: ../fish/guestfish.pod:1383
msgid "With a C<cmd> parameter, this displays detailed help for that command."
msgstr "With a C<cmd> parameter, this displays detailed help for that command."

#. type: textblock
#: ../fish/guestfish.pod:1385
msgid "With I<-l> or I<--list>, this list all commands."
msgstr ""

#. type: =head2
#: ../fish/guestfish.pod:1387
msgid "exit"
msgstr "exit"

#. type: =head2
#: ../fish/guestfish.pod:1389
msgid "quit"
msgstr "quit"

#. type: textblock
#: ../fish/guestfish.pod:1391
msgid "This exits guestfish.  You can also use C<^D> key."
msgstr "This exits guestfish.  You can also use C<^D> key."

#. type: textblock
#: ../fish/guestfish.pod:1393
msgid "__INCLUDE:guestfish-commands.pod__"
msgstr ""

#. type: =head1
#: ../fish/guestfish.pod:1395
msgid "COMMANDS"
msgstr "COMMANDS"

#. type: textblock
#: ../fish/guestfish.pod:1397
msgid "__INCLUDE:guestfish-actions.pod__"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1401
msgid ""
"guestfish returns 0 if the commands completed without error, or 1 if there "
"was an error."
msgstr ""
"guestfish returns 0 if the commands completed without error, or 1 if there "
"was an error."

#. type: =item
#: ../fish/guestfish.pod:1408
msgid "EDITOR"
msgstr "EDITOR"

#. type: textblock
#: ../fish/guestfish.pod:1410
msgid ""
"The C<edit> command uses C<$EDITOR> as the editor.  If not set, it uses "
"C<vi>."
msgstr ""
"The C<edit> command uses C<$EDITOR> as the editor.  If not set, it uses "
"C<vi>."

#. type: =item
#: ../fish/guestfish.pod:1413
msgid "GUESTFISH_DISPLAY_IMAGE"
msgstr "GUESTFISH_DISPLAY_IMAGE"

#. type: textblock
#: ../fish/guestfish.pod:1415
msgid ""
"The C<display> command uses C<$GUESTFISH_DISPLAY_IMAGE> to display images.  "
"If not set, it uses L<display(1)>."
msgstr ""
"The C<display> command uses C<$GUESTFISH_DISPLAY_IMAGE> to display images.  "
"If not set, it uses L<display(1)>."

#. type: =item
#: ../fish/guestfish.pod:1418
msgid "GUESTFISH_INIT"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1420
msgid "Printed when guestfish starts.  See L</PROMPT>."
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1422
msgid "GUESTFISH_OUTPUT"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1424
msgid "Printed before guestfish output.  See L</PROMPT>."
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1426
msgid "GUESTFISH_PID"
msgstr "GUESTFISH_PID"

#. type: textblock
#: ../fish/guestfish.pod:1428
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 ""
"Used with the I<--remote> option to specify the remote guestfish process to "
"control.  See section L</REMOTE CONTROL GUESTFISH OVER A SOCKET>."

#. type: =item
#: ../fish/guestfish.pod:1432
msgid "GUESTFISH_PS1"
msgstr "GUESTFISH_PS1"

#. type: textblock
#: ../fish/guestfish.pod:1434
msgid "Set the command prompt.  See L</PROMPT>."
msgstr "Set the command prompt.  See L</PROMPT>."

#. type: =item
#: ../fish/guestfish.pod:1436
msgid "GUESTFISH_RESTORE"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1438
msgid "Printed before guestfish exits.  See L</PROMPT>."
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1440
msgid "HEXEDITOR"
msgstr "HEXEDITOR"

#. type: textblock
#: ../fish/guestfish.pod:1442
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 ""
"The L</hexedit> command uses C<$HEXEDITOR> as the external hex editor.  If "
"not specified, the external L<hexedit(1)> program is used."

#. type: =item
#: ../fish/guestfish.pod:1446
msgid "HOME"
msgstr "HOME"

#. type: textblock
#: ../fish/guestfish.pod:1448
msgid ""
"If compiled with GNU readline support, various files in the home directory "
"can be used.  See L</FILES>."
msgstr ""
"If compiled with GNU readline support, various files in the home directory "
"can be used.  See L</FILES>."

#. type: =item
#: ../fish/guestfish.pod:1451 ../lib/guestfs.pod:3334
msgid "LIBGUESTFS_APPEND"
msgstr "LIBGUESTFS_APPEND"

#. type: textblock
#: ../fish/guestfish.pod:1453 ../lib/guestfs.pod:3336
msgid "Pass additional options to the guest kernel."
msgstr "Pass additional options to the guest kernel."

#. type: =item
#: ../fish/guestfish.pod:1455 ../lib/guestfs.pod:3338
msgid "LIBGUESTFS_ATTACH_METHOD"
msgstr "LIBGUESTFS_ATTACH_METHOD"

#. type: textblock
#: ../fish/guestfish.pod:1457 ../lib/guestfs.pod:3340
msgid "This is the old way to set C<LIBGUESTFS_BACKEND>."
msgstr "This is the old way to set C<LIBGUESTFS_BACKEND>."

#. type: =item
#: ../fish/guestfish.pod:1459 ../lib/guestfs.pod:3342
msgid "LIBGUESTFS_BACKEND"
msgstr "LIBGUESTFS_BACKEND"

#. type: textblock
#: ../fish/guestfish.pod:1461
msgid ""
"Choose the default way to create the appliance.  See L<guestfs(3)/"
"guestfs_set_backend>."
msgstr ""
"Choose the default way to create the appliance.  See L<guestfs(3)/"
"guestfs_set_backend>."

#. type: =item
#: ../fish/guestfish.pod:1464 ../lib/guestfs.pod:3347
msgid "LIBGUESTFS_BACKEND_SETTINGS"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1466
msgid ""
"A colon-separated list of backend-specific settings.  See L<guestfs(3)/"
"BACKEND>, L<guestfs(3)/BACKEND SETTINGS>."
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1469 ../lib/guestfs.pod:3352
msgid "LIBGUESTFS_CACHEDIR"
msgstr "LIBGUESTFS_CACHEDIR"

#. type: textblock
#: ../fish/guestfish.pod:1471 ../lib/guestfs.pod:3354
msgid ""
"The location where libguestfs will cache its appliance, when using a "
"supermin appliance.  The appliance is cached and shared between all handles "
"which have the same effective user ID."
msgstr ""
"The location where libguestfs will cache its appliance, when using a "
"supermin appliance.  The appliance is cached and shared between all handles "
"which have the same effective user ID."

#. type: textblock
#: ../fish/guestfish.pod:1475 ../lib/guestfs.pod:3358
msgid ""
"If C<LIBGUESTFS_CACHEDIR> is not set, then C<TMPDIR> is used.  If C<TMPDIR> "
"is not set, then F</var/tmp> is used."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1478
msgid "See also L</LIBGUESTFS_TMPDIR>, L</set-cachedir>."
msgstr "See also L</LIBGUESTFS_TMPDIR>, L</set-cachedir>."

#. type: =item
#: ../fish/guestfish.pod:1480 ../lib/guestfs.pod:3363
msgid "LIBGUESTFS_DEBUG"
msgstr "LIBGUESTFS_DEBUG"

#. type: textblock
#: ../fish/guestfish.pod:1482
msgid ""
"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
"effect as using the B<-v> option."
msgstr ""
"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
"effect as using the B<-v> option."

#. type: =item
#: ../fish/guestfish.pod:1485 ../lib/guestfs.pod:3368
msgid "LIBGUESTFS_HV"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1487 ../lib/guestfs.pod:3370
msgid ""
"Set the default hypervisor (usually 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:1491 ../lib/guestfs.pod:3376
msgid "LIBGUESTFS_MEMSIZE"
msgstr "LIBGUESTFS_MEMSIZE"

#. type: textblock
#: ../fish/guestfish.pod:1493 ../lib/guestfs.pod:3378
msgid ""
"Set the memory allocated to the qemu process, in megabytes.  For example:"
msgstr ""
"Set the memory allocated to the qemu process, in megabytes.  For example:"

#. type: verbatim
#: ../fish/guestfish.pod:1496 ../lib/guestfs.pod:3381
#, no-wrap
msgid ""
" LIBGUESTFS_MEMSIZE=700\n"
"\n"
msgstr ""
" LIBGUESTFS_MEMSIZE=700\n"
"\n"

#. type: =item
#: ../fish/guestfish.pod:1498 ../lib/guestfs.pod:3383
msgid "LIBGUESTFS_PATH"
msgstr "LIBGUESTFS_PATH"

#. type: textblock
#: ../fish/guestfish.pod:1500
msgid ""
"Set the path that guestfish uses to search for kernel and initrd.img.  See "
"the discussion of paths in L<guestfs(3)>."
msgstr ""
"Set the path that guestfish uses to search for kernel and initrd.img.  See "
"the discussion of paths in L<guestfs(3)>."

#. type: =item
#: ../fish/guestfish.pod:1503 ../lib/guestfs.pod:3388
msgid "LIBGUESTFS_QEMU"
msgstr "LIBGUESTFS_QEMU"

#. type: textblock
#: ../fish/guestfish.pod:1505 ../lib/guestfs.pod:3390
msgid "This is the old way to set C<LIBGUESTFS_HV>."
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1507 ../lib/guestfs.pod:3392
msgid "LIBGUESTFS_TMPDIR"
msgstr "LIBGUESTFS_TMPDIR"

#. type: textblock
#: ../fish/guestfish.pod:1509 ../lib/guestfs.pod:3394
msgid ""
"The location where libguestfs will store temporary files used by each handle."
msgstr ""
"The location where libguestfs will store temporary files used by each handle."

#. type: textblock
#: ../fish/guestfish.pod:1512 ../lib/guestfs.pod:3397
msgid ""
"If C<LIBGUESTFS_TMPDIR> is not set, then C<TMPDIR> is used.  If C<TMPDIR> is "
"not set, then F</tmp> is used."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1515
msgid "See also L</LIBGUESTFS_CACHEDIR>, L</set-tmpdir>."
msgstr "See also L</LIBGUESTFS_CACHEDIR>, L</set-tmpdir>."

#. type: =item
#: ../fish/guestfish.pod:1517 ../lib/guestfs.pod:3402
msgid "LIBGUESTFS_TRACE"
msgstr "LIBGUESTFS_TRACE"

#. type: textblock
#: ../fish/guestfish.pod:1519
msgid "Set C<LIBGUESTFS_TRACE=1> to enable command traces."
msgstr "Set C<LIBGUESTFS_TRACE=1> to enable command traces."

#. type: =item
#: ../fish/guestfish.pod:1521
msgid "PAGER"
msgstr "PAGER"

#. type: textblock
#: ../fish/guestfish.pod:1523
msgid ""
"The C<more> command uses C<$PAGER> as the pager.  If not set, it uses "
"C<more>."
msgstr ""
"The C<more> command uses C<$PAGER> as the pager.  If not set, it uses "
"C<more>."

#. type: =item
#: ../fish/guestfish.pod:1526 ../lib/guestfs.pod:1363 ../lib/guestfs.pod:3407
msgid "PATH"
msgstr "PATH"

#. type: textblock
#: ../fish/guestfish.pod:1528
msgid ""
"Libguestfs and guestfish may run some external programs, and rely on C<"
"$PATH> being set to a reasonable value.  If using the libvirt backend, "
"libvirt will not work at all unless C<$PATH> contains the path of qemu/KVM."
msgstr ""
"Libguestfs and guestfish may run some external programs, and rely on C<"
"$PATH> being set to a reasonable value.  If using the libvirt backend, "
"libvirt will not work at all unless C<$PATH> contains the path of qemu/KVM."

#. type: =item
#: ../fish/guestfish.pod:1533 ../lib/guestfs.pod:3415
msgid "SUPERMIN_KERNEL"
msgstr "SUPERMIN_KERNEL"

#. type: =item
#: ../fish/guestfish.pod:1535 ../lib/guestfs.pod:3417
msgid "SUPERMIN_KERNEL_VERSION"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1537 ../lib/guestfs.pod:3419
msgid "SUPERMIN_MODULES"
msgstr "SUPERMIN_MODULES"

#. type: textblock
#: ../fish/guestfish.pod:1539 ../lib/guestfs.pod:3421
msgid ""
"These three environment variables allow the kernel that libguestfs uses in "
"the appliance to be selected.  If C<$SUPERMIN_KERNEL> is not set, then the "
"most recent host kernel is chosen.  For more information about kernel "
"selection, see L<supermin(1)>."
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1544 ../lib/guestfs.pod:3426
#: ../sparsify/virt-sparsify.pod:419
msgid "TMPDIR"
msgstr "TMPDIR"

#. type: textblock
#: ../fish/guestfish.pod:1546 ../lib/guestfs.pod:3428
msgid "See L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>."
msgstr "See L</LIBGUESTFS_CACHEDIR>, L</LIBGUESTFS_TMPDIR>."

#. type: =item
#: ../fish/guestfish.pod:1548 ../lib/guestfs.pod:3430
msgid "XDG_RUNTIME_DIR"
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1550 ../lib/guestfs.pod:3432
msgid ""
"This directory represents a user-specific directory for storing non-"
"essential runtime files."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1553 ../lib/guestfs.pod:3435
msgid ""
"If it is set, then is used to store temporary sockets.  Otherwise, F</tmp> "
"is used."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1556 ../lib/guestfs.pod:3438
msgid ""
"See also L</get-sockdir>, L<http://www.freedesktop.org/wiki/Specifications/"
"basedir-spec/>."
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1565 ../fuse/guestmount.pod:410
#: ../rescue/virt-rescue.pod:481
msgid "$XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1567 ../fish/libguestfs-tools.conf.pod:67
#: ../fuse/guestmount.pod:412 ../rescue/virt-rescue.pod:483
msgid "$HOME/.libguestfs-tools.rc"
msgstr "$HOME/.libguestfs-tools.rc"

#. type: =item
#: ../fish/guestfish.pod:1569 ../fuse/guestmount.pod:414
#: ../rescue/virt-rescue.pod:485
msgid "$XDG_CONFIG_DIRS/libguestfs/libguestfs-tools.conf"
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1571 ../fish/libguestfs-tools.conf.pod:77
#: ../fuse/guestmount.pod:416 ../rescue/virt-rescue.pod:487
msgid "/etc/libguestfs-tools.conf"
msgstr "/etc/libguestfs-tools.conf"

#. type: textblock
#: ../fish/guestfish.pod:1573 ../fuse/guestmount.pod:418
#: ../rescue/virt-rescue.pod:489
msgid ""
"This configuration file controls the default read-only or read-write mode "
"(I<--ro> or I<--rw>)."
msgstr ""
"This configuration file controls the default read-only or read-write mode "
"(I<--ro> or I<--rw>)."

#. type: textblock
#: ../fish/guestfish.pod:1576 ../fuse/guestmount.pod:421
#: ../rescue/virt-rescue.pod:492
msgid "See L<libguestfs-tools.conf(5)>."
msgstr ""

#. type: =item
#: ../fish/guestfish.pod:1578
msgid "$HOME/.guestfish"
msgstr "$HOME/.guestfish"

#. type: textblock
#: ../fish/guestfish.pod:1580
msgid ""
"If compiled with GNU readline support, then the command history is saved in "
"this file."
msgstr ""
"If compiled with GNU readline support, then the command history is saved in "
"this file."

#. type: =item
#: ../fish/guestfish.pod:1583
msgid "$HOME/.inputrc"
msgstr "$HOME/.inputrc"

#. type: =item
#: ../fish/guestfish.pod:1585
msgid "/etc/inputrc"
msgstr "/etc/inputrc"

#. type: textblock
#: ../fish/guestfish.pod:1587
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:1591
msgid "To write rules which only apply to guestfish, use:"
msgstr "To write rules which only apply to guestfish, use:"

#. type: verbatim
#: ../fish/guestfish.pod:1593
#, no-wrap
msgid ""
" $if guestfish\n"
" ...\n"
" $endif\n"
"\n"
msgstr ""
" $if guestfish\n"
" ...\n"
" $endif\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1597
msgid ""
"Variables that you can set in inputrc that change the behaviour of guestfish "
"in useful ways include:"
msgstr ""
"Variables that you can set in inputrc that change the behaviour of guestfish "
"in useful ways include:"

#. type: =item
#: ../fish/guestfish.pod:1602
msgid "completion-ignore-case (default: on)"
msgstr "completion-ignore-case (default: on)"

#. type: textblock
#: ../fish/guestfish.pod:1604
msgid ""
"By default, guestfish will ignore case when tab-completing paths on the "
"disk.  Use:"
msgstr ""
"By default, guestfish will ignore case when tab-completing paths on the "
"disk.  Use:"

#. type: verbatim
#: ../fish/guestfish.pod:1607
#, no-wrap
msgid ""
" set completion-ignore-case off\n"
"\n"
msgstr ""
" set completion-ignore-case off\n"
"\n"

#. type: textblock
#: ../fish/guestfish.pod:1609
msgid "to make guestfish case sensitive."
msgstr "to make guestfish case sensitive."

#. type: =item
#: ../fish/guestfish.pod:1613
msgid "test1.img"
msgstr "test1.img"

#. type: =item
#: ../fish/guestfish.pod:1615
msgid "test2.img (etc)"
msgstr "test2.img (etc)"

#. type: textblock
#: ../fish/guestfish.pod:1617
msgid ""
"When using the I<-N> or I<--new> option, the prepared disk or filesystem "
"will be created in the file F<test1.img> in the current directory.  The "
"second use of I<-N> will use F<test2.img> and so on.  Any existing file with "
"the same name will be overwritten.  You can use a different filename by "
"using the C<filename=> prefix."
msgstr ""

#. type: textblock
#: ../fish/guestfish.pod:1627
msgid ""
"L<guestfs(3)>, L<http://libguestfs.org/>, L<virt-alignment-scan(1)>, L<virt-"
"builder(1)>, L<virt-builder-repository(1)>, L<virt-cat(1)>, L<virt-copy-"
"in(1)>, L<virt-copy-out(1)>, L<virt-customize(1)>, L<virt-df(1)>, L<virt-"
"diff(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-log(1)>, "
"L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-p2v(1)>, L<virt-rescue(1)>, L<virt-"
"resize(1)>, L<virt-sparsify(1)>, L<virt-sysprep(1)>, L<virt-tail(1)>, L<virt-"
"tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<virt-v2v(1)>, L<virt-win-"
"reg(1)>, L<libguestfs-tools.conf(5)>, L<display(1)>, L<hexedit(1)>, "
"L<supermin(1)>."
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:3
msgid ""
"libguestfs-tools.conf - configuration file for guestfish, guestmount, virt-"
"rescue"
msgstr ""

#. type: verbatim
#: ../fish/libguestfs-tools.conf.pod:7
#, no-wrap
msgid ""
" /etc/libguestfs-tools.conf\n"
"\n"
msgstr ""

#. type: verbatim
#: ../fish/libguestfs-tools.conf.pod:9
#, no-wrap
msgid ""
" $XDG_CONFIG_DIRS/libguestfs/libguestfs-tools.conf\n"
"\n"
msgstr ""

#. type: verbatim
#: ../fish/libguestfs-tools.conf.pod:11
#, no-wrap
msgid ""
" $HOME/.libguestfs-tools.rc\n"
"\n"
msgstr ""

#. type: verbatim
#: ../fish/libguestfs-tools.conf.pod:13
#, no-wrap
msgid ""
" $XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:17
msgid ""
"F<libguestfs-tools.conf> (or F<$HOME/.libguestfs-tools.rc>) changes the "
"defaults for the following programs only:"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:24
msgid "L<guestfish(1)>"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:28
msgid "L<guestmount(1)>"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:32
msgid "L<virt-rescue(1)>"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:36
msgid ""
"There is currently only one setting which is controlled by this file.  "
"Adding (or uncommenting):"
msgstr ""

#. type: verbatim
#: ../fish/libguestfs-tools.conf.pod:39
#, no-wrap
msgid ""
" read_only = true;\n"
"\n"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:41
msgid ""
"changes these programs so they act as if the I<--ro> flag was given on the "
"command line.  You can use this to make the programs safe against accidental "
"modification of a live guest (users would have to explicitly add the I<--rw> "
"flag to modify guests).  This is not the default because it is not backwards "
"compatible.  See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:48
msgid "Note that B<the semicolon is required>."
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:50
msgid ""
"This file is parsed by the libconfig library.  For more information about "
"the format, see: L<http://www.hyperrealm.com/libconfig/libconfig_manual.html>"
msgstr ""

#. type: =head1
#: ../fish/libguestfs-tools.conf.pod:54
msgid "FILE LOCATION"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:56
msgid "The order of the configuration files being read is, by importance:"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:62
msgid ""
"$XDG_CONFIG_HOME/libguestfs/libguestfs-tools.conf (C<$XDG_CONFIG_HOME> is F<"
"$HOME/.config> if not set)."
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:71
msgid ""
"$XDG_CONFIG_DIRS/libguestfs/libguestfs-tools.conf (where C<$XDG_CONFIG_DIRS> "
"means any of the directories in that environment variable, or just F</etc/"
"xdg> if not set)"
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:81
msgid ""
"This means local users can override the system configuration by copying the "
"configuration file (or creating it anew) into F<$XDG_CONFIG_HOME/libguestfs/"
"libguestfs-tools.conf>."
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:85
msgid ""
"F</etc/libguestfs-tools.conf> and F<$HOME/.libguestfs-tools.rc> are the old "
"non-XDG paths which are read for compatibility."
msgstr ""

#. type: textblock
#: ../fish/libguestfs-tools.conf.pod:90
msgid ""
"L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>, L<guestmount(1)>, L<virt-"
"rescue(1)>, L<http://libguestfs.org/>, L<http://standards.freedesktop.org/"
"basedir-spec/latest/>."
msgstr ""

#. type: textblock
#: ../fish/virt-copy-in.pod:3
msgid ""
"virt-copy-in - Copy files and directories into a virtual machine disk image."
msgstr ""
"virt-copy-in - Copy files and directories into a virtual machine disk image."

#. type: verbatim
#: ../fish/virt-copy-in.pod:7
#, no-wrap
msgid ""
" virt-copy-in -a disk.img file|dir [file|dir ...] /destination\n"
"\n"
msgstr ""
" virt-copy-in -a disk.img file|dir [file|dir ...] /destination\n"
"\n"

#. type: verbatim
#: ../fish/virt-copy-in.pod:9
#, no-wrap
msgid ""
" virt-copy-in -d domain file|dir [file|dir ...] /destination\n"
"\n"
msgstr ""
" virt-copy-in -d domain file|dir [file|dir ...] /destination\n"
"\n"

#. type: textblock
#: ../fish/virt-copy-in.pod:13
msgid ""
"C<virt-copy-in> copies files and directories from the local disk into a "
"virtual machine disk image or named libvirt domain."
msgstr ""
"C<virt-copy-in> copies files and directories from the local disk into a "
"virtual machine disk image or named libvirt domain."

#. type: textblock
#: ../fish/virt-copy-in.pod:16
msgid ""
"You can give one or 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 F</> character."
msgstr ""

#. type: verbatim
#: ../fish/virt-copy-in.pod:25
#, no-wrap
msgid ""
" virt-copy-in -d MyGuest resolv.conf /etc\n"
"\n"
msgstr ""
" virt-copy-in -d MyGuest resolv.conf /etc\n"
"\n"

#. type: textblock
#: ../fish/virt-copy-in.pod:27 ../fish/virt-tar-in.pod:24
msgid "Upload a home directory to a guest:"
msgstr "Upload a home directory to a guest:"

#. type: verbatim
#: ../fish/virt-copy-in.pod:29
#, no-wrap
msgid ""
" virt-copy-in -d MyGuest skel /home\n"
"\n"
msgstr ""
" virt-copy-in -d MyGuest skel /home\n"
"\n"

#. type: =head1
#: ../fish/virt-copy-in.pod:31 ../fish/virt-copy-out.pod:26
#: ../fish/virt-tar-in.pod:28 ../fish/virt-tar-out.pod:28
msgid "JUST A SHELL SCRIPT WRAPPER AROUND GUESTFISH"
msgstr "JUST A SHELL SCRIPT WRAPPER AROUND GUESTFISH"

#. type: textblock
#: ../fish/virt-copy-in.pod:33
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 ""
"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."

#. type: textblock
#: ../fish/virt-copy-in.pod:39 ../fish/virt-copy-out.pod:34
#: ../fish/virt-tar-in.pod:36 ../fish/virt-tar-out.pod:36
msgid ""
"Since the shell script just passes options straight to guestfish, read "
"L<guestfish(1)> to see the full list of options."
msgstr ""
"Since the shell script just passes options straight to guestfish, read "
"L<guestfish(1)> to see the full list of options."

#. type: textblock
#: ../fish/virt-copy-in.pod:44
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 ""
"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/>."

#. type: textblock
#: ../fish/virt-copy-out.pod:3
msgid ""
"virt-copy-out - Copy files and directories out of a virtual machine disk "
"image."
msgstr ""
"virt-copy-out - Copy files and directories out of a virtual machine disk "
"image."

#. type: verbatim
#: ../fish/virt-copy-out.pod:7
#, no-wrap
msgid ""
" virt-copy-out -a disk.img /file|dir [/file|dir ...] localdir\n"
"\n"
msgstr ""
" virt-copy-out -a disk.img /file|dir [/file|dir ...] localdir\n"
"\n"

#. type: verbatim
#: ../fish/virt-copy-out.pod:9
#, no-wrap
msgid ""
" virt-copy-out -d domain /file|dir [/file|dir ...] localdir\n"
"\n"
msgstr ""
" virt-copy-out -d domain /file|dir [/file|dir ...] localdir\n"
"\n"

#. type: textblock
#: ../fish/virt-copy-out.pod:13
msgid ""
"C<virt-copy-out> copies files and directories out of a virtual machine disk "
"image or named libvirt domain."
msgstr ""
"C<virt-copy-out> copies files and directories out of a virtual machine disk "
"image or named libvirt domain."

#. type: textblock
#: ../fish/virt-copy-out.pod:16
msgid ""
"You can give one or more filenames and directories on the command line.  "
"Directories are copied out recursively."
msgstr ""

#. type: textblock
#: ../fish/virt-copy-out.pod:21
msgid "Download the home directories from a virtual machine:"
msgstr "Download the home directories from a virtual machine:"

#. type: verbatim
#: ../fish/virt-copy-out.pod:23
#, no-wrap
msgid ""
" mkdir homes\n"
" virt-copy-out -d MyGuest /home homes\n"
"\n"
msgstr ""
" mkdir homes\n"
" virt-copy-out -d MyGuest /home homes\n"
"\n"

#. type: textblock
#: ../fish/virt-copy-out.pod:28
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 ""
"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."

#. type: textblock
#: ../fish/virt-copy-out.pod:39
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 ""
"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/>."

#. type: textblock
#: ../fish/virt-tar-in.pod:3
msgid "virt-tar-in - Unpack a tarball into a virtual machine disk image."
msgstr "virt-tar-in - Unpack a tarball into a virtual machine disk image."

#. type: verbatim
#: ../fish/virt-tar-in.pod:7
#, no-wrap
msgid ""
" virt-tar-in -a disk.img data.tar /destination\n"
"\n"
msgstr ""
" virt-tar-in -a disk.img data.tar /destination\n"
"\n"

#. type: verbatim
#: ../fish/virt-tar-in.pod:9
#, no-wrap
msgid ""
" virt-tar-in -d domain data.tar /destination\n"
"\n"
msgstr ""
" virt-tar-in -d domain data.tar /destination\n"
"\n"

#. type: verbatim
#: ../fish/virt-tar-in.pod:11
#, no-wrap
msgid ""
" zcat data.tar.gz | virt-tar-in -d domain - /destination\n"
"\n"
msgstr ""
" zcat data.tar.gz | virt-tar-in -d domain - /destination\n"
"\n"

#. type: textblock
#: ../fish/virt-tar-in.pod:15
msgid ""
"C<virt-tar-in> unpacks an uncompressed tarball into a virtual machine disk "
"image or named libvirt domain."
msgstr ""
"C<virt-tar-in> unpacks an uncompressed tarball into a virtual machine disk "
"image or named libvirt domain."

#. type: textblock
#: ../fish/virt-tar-in.pod:18
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 ""
"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."

#. type: verbatim
#: ../fish/virt-tar-in.pod:26
#, no-wrap
msgid ""
" virt-tar-in -d MyGuest homes.tar /home\n"
"\n"
msgstr ""
" virt-tar-in -d MyGuest homes.tar /home\n"
"\n"

#. type: textblock
#: ../fish/virt-tar-in.pod:30
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 ""
"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."

#. type: textblock
#: ../fish/virt-tar-in.pod:41
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 ""
"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/>."

#. type: textblock
#: ../fish/virt-tar-out.pod:3
msgid ""
"virt-tar-out - Pack a virtual machine disk image directory into a tarball."
msgstr ""
"virt-tar-out - Pack a virtual machine disk image directory into a tarball."

#. type: verbatim
#: ../fish/virt-tar-out.pod:7
#, no-wrap
msgid ""
" virt-tar-out -a disk.img /dir files.tar\n"
"\n"
msgstr ""
" virt-tar-out -a disk.img /dir files.tar\n"
"\n"

#. type: verbatim
#: ../fish/virt-tar-out.pod:9
#, no-wrap
msgid ""
" virt-tar-out -d domain /dir files.tar\n"
"\n"
msgstr ""
" virt-tar-out -d domain /dir files.tar\n"
"\n"

#. type: verbatim
#: ../fish/virt-tar-out.pod:11
#, no-wrap
msgid ""
" virt-tar-out -d domain /dir - | gzip --best > files.tar.gz\n"
"\n"
msgstr ""
" virt-tar-out -d domain /dir - | gzip --best > files.tar.gz\n"
"\n"

#. type: textblock
#: ../fish/virt-tar-out.pod:15
msgid ""
"C<virt-tar-out> packs a virtual machine disk image directory into a tarball."
msgstr ""
"C<virt-tar-out> packs a virtual machine disk image directory into a tarball."

#. type: textblock
#: ../fish/virt-tar-out.pod:18
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 ""
"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."

#. type: textblock
#: ../fish/virt-tar-out.pod:24
msgid "Download the home directories from a guest:"
msgstr "Download the home directories from a guest:"

#. type: verbatim
#: ../fish/virt-tar-out.pod:26
#, no-wrap
msgid ""
" virt-tar-out -d MyGuest /home - | gzip --best > homes.tar.gz\n"
"\n"
msgstr ""
" virt-tar-out -d MyGuest /home - | gzip --best > homes.tar.gz\n"
"\n"

#. type: textblock
#: ../fish/virt-tar-out.pod:30
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 ""
"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."

#. type: textblock
#: ../fish/virt-tar-out.pod:41
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 ""
"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/>."

#. type: textblock
#: ../format/virt-format.pod:3
msgid "virt-format - Erase and make a blank disk"
msgstr "virt-format - Erase and make a blank disk"

#. type: verbatim
#: ../format/virt-format.pod:7
#, no-wrap
msgid ""
" virt-format [--options] -a disk.img [-a disk.img ...]\n"
"\n"
msgstr ""
" virt-format [--options] -a disk.img [-a disk.img ...]\n"
"\n"

#. type: textblock
#: ../format/virt-format.pod:11
msgid ""
"Virt-format takes an existing disk file (or it can be a host partition, LV "
"etc), B<erases all data on it>, and formats it as a blank disk.  It can "
"optionally create partition tables, empty filesystems, logical volumes and "
"more."
msgstr ""
"Virt-format takes an existing disk file (or it can be a host partition, LV "
"etc), B<erases all data on it>, and formats it as a blank disk.  It can "
"optionally create partition tables, empty filesystems, logical volumes and "
"more."

#. type: textblock
#: ../format/virt-format.pod:16
msgid ""
"To create a disk containing data, you may be better to use L<virt-make-"
"fs(1)>.  If you are creating a blank disk to use in L<guestfish(1)>, you "
"should instead use the guestfish I<-N> option."
msgstr ""
"To create a disk containing data, you may be better to use L<virt-make-"
"fs(1)>.  If you are creating a blank disk to use in L<guestfish(1)>, you "
"should instead use the guestfish I<-N> option."

#. type: textblock
#: ../format/virt-format.pod:20
msgid "Normal usage would be something like this:"
msgstr "Normal usage would be something like this:"

#. type: verbatim
#: ../format/virt-format.pod:22
#, no-wrap
msgid ""
" virt-format -a disk.qcow\n"
"\n"
msgstr ""
" virt-format -a disk.qcow\n"
"\n"

#. type: textblock
#: ../format/virt-format.pod:24
msgid "or this:"
msgstr "or this:"

#. type: verbatim
#: ../format/virt-format.pod:26
#, no-wrap
msgid ""
" virt-format -a /dev/VG/LV\n"
"\n"
msgstr ""
" virt-format -a /dev/VG/LV\n"
"\n"

#. type: textblock
#: ../format/virt-format.pod:28
msgid ""
"F<disk.qcow> or F</dev/VG/LV> must exist already.  B<Any data on these disks "
"will be erased by these commands>.  These commands will create a single "
"empty partition covering the whole disk, with no filesystem inside it."
msgstr ""

#. type: textblock
#: ../format/virt-format.pod:33
msgid ""
"Additional parameters can be used to control the creation of partitions, "
"filesystems, etc.  The most commonly used options are:"
msgstr ""
"Additional parameters can be used to control the creation of partitions, "
"filesystems, etc.  The most commonly used options are:"

#. type: =item
#: ../format/virt-format.pod:38
msgid "B<--filesystem=[ext3|ntfs|vfat|...]>"
msgstr ""

#. type: textblock
#: ../format/virt-format.pod:40
msgid "Create an empty filesystem (C<ext3>, C<ntfs> etc) inside the partition."
msgstr ""
"Create an empty filesystem (C<ext3>, C<ntfs> etc) inside the partition."

#. type: =item
#: ../format/virt-format.pod:42
msgid "B<--lvm[=/dev/VG/LV]>"
msgstr ""

#. type: textblock
#: ../format/virt-format.pod:44
msgid ""
"Create a Linux LVM2 logical volume on the disk.  When used with I<--"
"filesystem>, the filesystem is created inside the LV."
msgstr ""
"Create a Linux LVM2 logical volume on the disk.  When used with I<--"
"filesystem>, the filesystem is created inside the LV."

#. type: textblock
#: ../format/virt-format.pod:49
msgid ""
"For more information about these and other options, see L</OPTIONS> below."
msgstr ""
"For more information about these and other options, see L</OPTIONS> below."

#. type: textblock
#: ../format/virt-format.pod:52
msgid ""
"The format of the disk is normally auto-detected, but you can also force it "
"by using the I<--format> option (q.v.).  In situations where you do not "
"trust the existing content of the disk, then it is advisable to use this "
"option to avoid possible exploits."
msgstr ""
"The format of the disk is normally auto-detected, but you can also force it "
"by using the I<--format> option (q.v.).  In situations where you do not "
"trust the existing content of the disk, then it is advisable to use this "
"option to avoid possible exploits."

#. type: textblock
#: ../format/virt-format.pod:69
msgid "Add I<file>, a disk image, host partition, LV, external USB disk, etc."
msgstr "Add I<file>, a disk image, host partition, LV, external USB disk, etc."

#. type: textblock
#: ../format/virt-format.pod:74
msgid "B<Any existing data on the disk is erased.>"
msgstr "B<Any existing data on the disk is erased.>"

#. type: =item
#: ../format/virt-format.pod:84
msgid "B<--filesystem=ext3|ntfs|vfat|...>"
msgstr "B<--filesystem=ext3|ntfs|vfat|...>"

#. type: textblock
#: ../format/virt-format.pod:86
msgid ""
"Create an empty filesystem of the specified type.  Many filesystem types are "
"supported by libguestfs."
msgstr ""
"Create an empty filesystem of the specified type.  Many filesystem types are "
"supported by libguestfs."

#. type: =item
#: ../format/virt-format.pod:89
msgid "B<--filesystem=none>"
msgstr "B<--filesystem=none>"

#. type: textblock
#: ../format/virt-format.pod:91
msgid "Create no filesystem.  This is the default."
msgstr "Create no filesystem.  This is the default."

#. type: verbatim
#: ../format/virt-format.pod:104
#, no-wrap
msgid ""
" virt-format --format=raw -a disk.img\n"
"\n"
msgstr ""
" virt-format --format=raw -a disk.img\n"
"\n"

#. type: verbatim
#: ../format/virt-format.pod:108
#, no-wrap
msgid ""
" virt-format --format=raw -a disk.img --format -a another.img\n"
"\n"
msgstr ""
" virt-format --format=raw -a disk.img --format -a another.img\n"
"\n"

#. type: =item
#: ../format/virt-format.pod:117 ../make-fs/virt-make-fs.pod:191
msgid "B<--label=>LABEL"
msgstr ""

#. type: textblock
#: ../format/virt-format.pod:119 ../make-fs/virt-make-fs.pod:193
msgid "Set the filesystem label."
msgstr ""

#. type: =item
#: ../format/virt-format.pod:121
msgid "B<--lvm=/dev/I<VG>/I<LV>>"
msgstr "B<--lvm=/dev/I<VG>/I<LV>>"

#. type: textblock
#: ../format/virt-format.pod:123
msgid ""
"Create a Linux LVM2 logical volume called F</dev/I<VG>/I<LV>>.  You can "
"change the name of the volume group and logical volume."
msgstr ""

#. type: =item
#: ../format/virt-format.pod:126
msgid "B<--lvm>"
msgstr "B<--lvm>"

#. type: textblock
#: ../format/virt-format.pod:128
msgid ""
"Create a Linux LVM2 logical volume with the default name (F</dev/VG/LV>)."
msgstr ""

#. type: =item
#: ../format/virt-format.pod:131
msgid "B<--lvm=none>"
msgstr "B<--lvm=none>"

#. type: textblock
#: ../format/virt-format.pod:133
msgid "Create no logical volume.  This is the default."
msgstr "Create no logical volume.  This is the default."

#. type: =item
#: ../format/virt-format.pod:135 ../make-fs/virt-make-fs.pod:195
msgid "B<--partition>"
msgstr "B<--partition>"

#. type: textblock
#: ../format/virt-format.pod:137
msgid ""
"Create either an MBR or GPT partition covering the whole disk.  MBR is "
"chosen if the disk size is E<lt> 2 TB, GPT if E<ge> 2 TB."
msgstr ""
"Create either an MBR or GPT partition covering the whole disk.  MBR is "
"chosen if the disk size is E<lt> 2 TB, GPT if E<ge> 2 TB."

#. type: =item
#: ../format/virt-format.pod:142
msgid "B<--partition=gpt>"
msgstr "B<--partition=gpt>"

#. type: textblock
#: ../format/virt-format.pod:144
msgid "Create a GPT partition."
msgstr "Create a GPT partition."

#. type: =item
#: ../format/virt-format.pod:146
msgid "B<--partition=mbr>"
msgstr "B<--partition=mbr>"

#. type: textblock
#: ../format/virt-format.pod:148
msgid "Create an MBR partition."
msgstr "Create an MBR partition."

#. type: =item
#: ../format/virt-format.pod:150
msgid "B<--partition=none>"
msgstr "B<--partition=none>"

#. type: textblock
#: ../format/virt-format.pod:152
msgid ""
"Create no partition table.  Note that Windows may not be able to see these "
"disks."
msgstr ""
"Create no partition table.  Note that Windows may not be able to see these "
"disks."

#. type: =item
#: ../format/virt-format.pod:167
msgid "B<--wipe>"
msgstr "B<--wipe>"

#. type: textblock
#: ../format/virt-format.pod:169
msgid ""
"Normally virt-format does not wipe data from the disk (because that takes a "
"long time).  Thus if there is data on the disk, it is only hidden and "
"partially overwritten by virt-format, and it might be recovered by disk "
"editing tools."
msgstr ""
"Normally virt-format does not wipe data from the disk (because that takes a "
"long time).  Thus if there is data on the disk, it is only hidden and "
"partially overwritten by virt-format, and it might be recovered by disk "
"editing tools."

#. type: textblock
#: ../format/virt-format.pod:174
msgid ""
"If you use this option, virt-format writes zeroes over the whole disk so "
"that previous data is not recoverable."
msgstr ""
"If you use this option, virt-format writes zeroes over the whole disk so "
"that previous data is not recoverable."

#. type: textblock
#: ../format/virt-format.pod:185
msgid "This program returns C<0> on success, or C<1> on failure."
msgstr "This program returns C<0> on success, or C<1> on failure."

#. type: textblock
#: ../format/virt-format.pod:189
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<virt-make-fs(1)>, "
"L<virt-rescue(1)>, L<virt-resize(1)>, L<http://libguestfs.org/>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<virt-make-fs(1)>, "
"L<virt-rescue(1)>, L<virt-resize(1)>, L<http://libguestfs.org/>."

#. type: textblock
#: ../format/virt-format.pod:203 ../lua/examples/guestfs-lua.pod:158
msgid "Copyright (C) 2012 Red Hat Inc."
msgstr "Copyright (C) 2012 Red Hat Inc."

#. type: textblock
#: ../fuse/guestmount.pod:3
msgid ""
"guestmount - Mount a guest filesystem on the host using FUSE and libguestfs"
msgstr ""
"guestmount - Mount a guest filesystem on the host using FUSE and libguestfs"

#. type: verbatim
#: ../fuse/guestmount.pod:7
#, no-wrap
msgid ""
" guestmount [--options] -a disk.img -m device [--ro] mountpoint\n"
"\n"
msgstr ""
" guestmount [--options] -a disk.img -m device [--ro] mountpoint\n"
"\n"

#. type: verbatim
#: ../fuse/guestmount.pod:9
#, no-wrap
msgid ""
" guestmount [--options] -a disk.img -i [--ro] mountpoint\n"
"\n"
msgstr ""
" guestmount [--options] -a disk.img -i [--ro] mountpoint\n"
"\n"

#. type: verbatim
#: ../fuse/guestmount.pod:11
#, no-wrap
msgid ""
" guestmount [--options] -d Guest -i [--ro] mountpoint\n"
"\n"
msgstr ""
" guestmount [--options] -d Guest -i [--ro] mountpoint\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:15
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 ""
"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."

#. type: textblock
#: ../fuse/guestmount.pod:20
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 or the I<--live> option.  How "
"this works is better explained in the L<guestfish(1)> manual page, or by "
"looking at the examples below."
msgstr ""
"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 or the I<--live> option.  How "
"this works is better explained in the L<guestfish(1)> manual page, or by "
"looking at the examples below."

#. type: textblock
#: ../fuse/guestmount.pod:26
msgid ""
"FUSE lets you mount filesystems as non-root.  The mountpoint must be owned "
"by you.  The filesystem will not be visible to any other users unless you "
"make configuration changes, see L</NOTES> below."
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:30
msgid "To unmount the filesystem, use the L<guestunmount(1)> command."
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:34
msgid ""
"For a typical Windows guest which has its main filesystem on the first "
"partition:"
msgstr ""
"For a typical Windows guest which has its main filesystem on the first "
"partition:"

#. type: verbatim
#: ../fuse/guestmount.pod:37
#, no-wrap
msgid ""
" guestmount -a windows.img -m /dev/sda1 --ro /mnt\n"
"\n"
msgstr ""
" guestmount -a windows.img -m /dev/sda1 --ro /mnt\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:39
msgid ""
"For a typical Linux guest which has a /boot filesystem on the first "
"partition, and the root filesystem on a logical volume:"
msgstr ""
"For a typical Linux guest which has a /boot filesystem on the first "
"partition, and the root filesystem on a logical volume:"

#. type: verbatim
#: ../fuse/guestmount.pod:42
#, no-wrap
msgid ""
" guestmount -a linux.img -m /dev/VG/LV -m /dev/sda1:/boot --ro /mnt\n"
"\n"
msgstr ""
" guestmount -a linux.img -m /dev/VG/LV -m /dev/sda1:/boot --ro /mnt\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:44
msgid "To get libguestfs to detect guest mountpoints for you:"
msgstr "To get libguestfs to detect guest mountpoints for you:"

#. type: verbatim
#: ../fuse/guestmount.pod:46
#, no-wrap
msgid ""
" guestmount -a guest.img -i --ro /mnt\n"
"\n"
msgstr ""
" guestmount -a guest.img -i --ro /mnt\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:48
msgid "For a libvirt guest called \"Guest\" you could do:"
msgstr "For a libvirt guest called \"Guest\" you could do:"

#. type: verbatim
#: ../fuse/guestmount.pod:50
#, no-wrap
msgid ""
" guestmount -d Guest -i --ro /mnt\n"
"\n"
msgstr ""
" guestmount -d Guest -i --ro /mnt\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:52
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:55
#, no-wrap
msgid ""
" virt-filesystems -d MyGuest\n"
"\n"
msgstr ""
" virt-filesystems -d MyGuest\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:57
msgid ""
"If you want to trace the libguestfs calls but without excessive debugging "
"information, we recommend:"
msgstr ""
"If you want to trace the libguestfs calls but without excessive debugging "
"information, we recommend:"

#. type: verbatim
#: ../fuse/guestmount.pod:60
#, no-wrap
msgid ""
" guestmount [...] --trace /mnt\n"
"\n"
msgstr ""
" guestmount [...] --trace /mnt\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:62
msgid "If you want to debug the program, we recommend:"
msgstr "If you want to debug the program, we recommend:"

#. type: verbatim
#: ../fuse/guestmount.pod:64
#, no-wrap
msgid ""
" guestmount [...] --trace --verbose /mnt\n"
"\n"
msgstr ""
" guestmount [...] --trace --verbose /mnt\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:66
msgid "To unmount the filesystem after using it:"
msgstr "To unmount the filesystem after using it:"

#. type: verbatim
#: ../fuse/guestmount.pod:68
#, no-wrap
msgid ""
" guestunmount /mnt\n"
"\n"
msgstr ""
" guestunmount /mnt\n"
"\n"

#. type: =head1
#: ../fuse/guestmount.pod:70 ../rescue/virt-rescue.pod:66
#: ../resize/virt-resize.pod:695
msgid "NOTES"
msgstr "NOTES"

#. type: =head2
#: ../fuse/guestmount.pod:72
msgid "Other users cannot see the filesystem by default"
msgstr "Other users cannot see the filesystem by default"

#. type: textblock
#: ../fuse/guestmount.pod:74
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 ""
"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:"

#. type: verbatim
#: ../fuse/guestmount.pod:78
#, no-wrap
msgid ""
" sudo guestmount [...] -o allow_other /mnt\n"
"\n"
msgstr ""
" sudo guestmount [...] -o allow_other /mnt\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:80
msgid "B<and> to enable this option in F</etc/fuse.conf>."
msgstr ""

#. type: =head2
#: ../fuse/guestmount.pod:82
msgid "Enabling FUSE"
msgstr "Enabling FUSE"

#. type: textblock
#: ../fuse/guestmount.pod:84
msgid ""
"On some distros, you may need to add yourself to a special group (eg. "
"C<fuse>) before you can use any FUSE filesystem.  This is necessary on "
"Debian and derivatives."
msgstr ""
"On some distros, you may need to add yourself to a special group (eg. "
"C<fuse>) before you can use any FUSE filesystem.  This is necessary on "
"Debian and derivatives."

#. type: textblock
#: ../fuse/guestmount.pod:88
msgid ""
"On other distros, no special group is required.  It is not necessary on "
"Fedora or Red Hat Enterprise Linux."
msgstr ""
"On other distros, no special group is required.  It is not necessary on "
"Fedora or Red Hat Enterprise Linux."

#. type: =head2
#: ../fuse/guestmount.pod:91
msgid "fusermount error: \"Device or resource busy\""
msgstr "fusermount error: \"Device or resource busy\""

#. type: textblock
#: ../fuse/guestmount.pod:93
msgid ""
"You can see this error when another process on the system jumps into the "
"mountpoint you have just created, holding it open and preventing you from "
"unmounting it.  The usual culprits are various GUI \"indexing\" programs."
msgstr ""
"You can see this error when another process on the system jumps into the "
"mountpoint you have just created, holding it open and preventing you from "
"unmounting it.  The usual culprits are various GUI \"indexing\" programs."

#. type: textblock
#: ../fuse/guestmount.pod:98
msgid ""
"The popular workaround for this problem is to retry the C<fusermount -u> "
"command a few times until it works (L<guestunmount(1)> does this for you).  "
"Unfortunately this isn't a reliable fix if (for example)  the mounted "
"filesystem is particularly large and the intruding program particularly "
"persistent."
msgstr ""
"The popular workaround for this problem is to retry the C<fusermount -u> "
"command a few times until it works (L<guestunmount(1)> does this for you).  "
"Unfortunately this isn't a reliable fix if (for example)  the mounted "
"filesystem is particularly large and the intruding program particularly "
"persistent."

#. type: textblock
#: ../fuse/guestmount.pod:104
msgid ""
"A proper fix is to use a private mountpoint by creating a new mount "
"namespace using the Linux-specific L<clone(2)>/L<unshare(2)> flag "
"C<CLONE_NEWNS>.  Unfortunately at the moment this requires root and we would "
"also probably need to add it as a feature to guestmount."
msgstr ""
"A proper fix is to use a private mountpoint by creating a new mount "
"namespace using the Linux-specific L<clone(2)>/L<unshare(2)> flag "
"C<CLONE_NEWNS>.  Unfortunately at the moment this requires root and we would "
"also probably need to add it as a feature to guestmount."

#. type: =head2
#: ../fuse/guestmount.pod:109
msgid "Race conditions possible when shutting down the connection"
msgstr "Race conditions possible when shutting down the connection"

#. type: textblock
#: ../fuse/guestmount.pod:111
msgid ""
"When L<guestunmount(1)>/L<fusermount(1)> exits, guestmount may still be "
"running and cleaning up the mountpoint.  The disk image will not be fully "
"finalized."
msgstr ""
"When L<guestunmount(1)>/L<fusermount(1)> exits, guestmount may still be "
"running and cleaning up the mountpoint.  The disk image will not be fully "
"finalised."

#. type: textblock
#: ../fuse/guestmount.pod:115
msgid "This means that scripts like the following have a nasty race condition:"
msgstr ""
"This means that scripts like the following have a nasty race condition:"

#. type: verbatim
#: ../fuse/guestmount.pod:118
#, no-wrap
msgid ""
" guestmount -a disk.img -i /mnt\n"
" # copy things into /mnt\n"
" guestunmount /mnt\n"
" # immediately try to use 'disk.img' ** UNSAFE **\n"
"\n"
msgstr ""
" guestmount -a disk.img -i /mnt\n"
" # copy things into /mnt\n"
" guestunmount /mnt\n"
" # immediately try to use 'disk.img' ** UNSAFE **\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:123
msgid ""
"The solution is to use the I<--pid-file> option to write the guestmount PID "
"to a file, then after guestunmount spin waiting for this PID to exit."
msgstr ""
"The solution is to use the I<--pid-file> option to write the guestmount PID "
"to a file, then after guestunmount spin waiting for this PID to exit."

#. type: verbatim
#: ../fuse/guestmount.pod:127
#, no-wrap
msgid ""
" guestmount -a disk.img -i --pid-file guestmount.pid /mnt\n"
" \n"
msgstr ""
" guestmount -a disk.img -i --pid-file guestmount.pid /mnt\n"
" \n"

#. type: verbatim
#: ../fuse/guestmount.pod:129
#, no-wrap
msgid ""
" # ...\n"
" # ...\n"
" \n"
msgstr ""
" # ...\n"
" # ...\n"
" \n"

#. type: verbatim
#: ../fuse/guestmount.pod:132
#, no-wrap
msgid ""
" # Save the PID of guestmount *before* calling guestunmount.\n"
" pid=\"$(cat guestmount.pid)\"\n"
" \n"
msgstr ""
" # Save the PID of guestmount *before* calling guestunmount.\n"
" pid=\"$(cat guestmount.pid)\"\n"
" \n"

#. type: verbatim
#: ../fuse/guestmount.pod:135
#, no-wrap
msgid ""
" # Unmount the filesystem.\n"
" guestunmount /mnt\n"
" \n"
msgstr ""
" # Unmount the filesystem.\n"
" guestunmount /mnt\n"
" \n"

#. type: verbatim
#: ../fuse/guestmount.pod:138
#, no-wrap
msgid ""
" timeout=10\n"
" \n"
msgstr ""
" timeout=10\n"
" \n"

#. type: verbatim
#: ../fuse/guestmount.pod:140
#, no-wrap
msgid ""
" count=$timeout\n"
" while kill -0 \"$pid\" 2>/dev/null && [ $count -gt 0 ]; do\n"
"     sleep 1\n"
"     ((count--))\n"
" done\n"
" if [ $count -eq 0 ]; then\n"
"     echo \"$0: wait for guestmount to exit failed after $timeout seconds\"\n"
"     exit 1\n"
" fi\n"
" \n"
msgstr ""
" count=$timeout\n"
" while kill -0 \"$pid\" 2>/dev/null && [ $count -gt 0 ]; do\n"
"     sleep 1\n"
"     ((count--))\n"
" done\n"
" if [ $count -eq 0 ]; then\n"
"     echo \"$0: wait for guestmount to exit failed after $timeout seconds\"\n"
"     exit 1\n"
" fi\n"
" \n"

#. type: verbatim
#: ../fuse/guestmount.pod:150
#, no-wrap
msgid ""
" # Now it is safe to use the disk image.\n"
"\n"
msgstr ""
" # Now it is safe to use the disk image.\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:152
msgid ""
"Note that if you use the C<guestfs_mount_local> API directly (see "
"L<guestfs(3)/MOUNT LOCAL>) then it is much easier to write a safe, race-free "
"program."
msgstr ""
"Note that if you use the C<guestfs_mount_local> API directly (see "
"L<guestfs(3)/MOUNT LOCAL>) then it is much easier to write a safe, race-free "
"program."

#. type: textblock
#: ../fuse/guestmount.pod:164
msgid "Add a block device or virtual machine image."
msgstr "Add a block device or virtual machine image."

#. type: =item
#: ../fuse/guestmount.pod:195
msgid "B<--dir-cache-timeout> N"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:197
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 ""
"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."

#. type: textblock
#: ../fuse/guestmount.pod:203
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 ""
"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."

#. type: =item
#: ../fuse/guestmount.pod:214
msgid "B<--fd=>FD"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:216
msgid ""
"Specify a pipe or eventfd file descriptor.  When the mountpoint is ready to "
"be used, guestmount writes a single byte to this file descriptor.  This can "
"be used in conjunction with I<--no-fork> in order to run guestmount captive "
"under another process."
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:230
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 ""
"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>."

#. type: =item
#: ../fuse/guestmount.pod:235
msgid "B<--fuse-help>"
msgstr "B<--fuse-help>"

#. type: textblock
#: ../fuse/guestmount.pod:237
msgid "Display help on special FUSE options (see I<-o> below)."
msgstr "Display help on special FUSE options (see I<-o> below)."

#. type: textblock
#: ../fuse/guestmount.pod:241 ../fuse/guestunmount.pod:81
msgid "Display brief help and exit."
msgstr "Display brief help and exit."

#. type: =item
#: ../fuse/guestmount.pod:263
msgid "B<-m> dev[:mountpoint[:options[:fstype]]"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:267 ../rescue/virt-rescue.pod:202
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 ""
"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)."

#. type: textblock
#: ../fuse/guestmount.pod:270 ../rescue/virt-rescue.pod:205
msgid ""
"If the mountpoint is omitted, it defaults to F</>.  You have to mount "
"something on F</>."
msgstr ""

#. type: =item
#: ../fuse/guestmount.pod:288
msgid "B<--no-fork>"
msgstr "B<--no-fork>"

#. type: textblock
#: ../fuse/guestmount.pod:290
msgid "Don’t daemonize (or fork into the background)."
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:296
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 ""
"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."

#. type: =item
#: ../fuse/guestmount.pod:301
msgid "B<-o> OPTION"
msgstr ""

#. type: =item
#: ../fuse/guestmount.pod:303
msgid "B<--option> OPTION"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:305
msgid "Pass extra options to FUSE."
msgstr "Pass extra options to FUSE."

#. type: textblock
#: ../fuse/guestmount.pod:307
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 ""
"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."

#. type: verbatim
#: ../fuse/guestmount.pod:311
#, no-wrap
msgid ""
" guestmount --fuse-help\n"
"\n"
msgstr ""
" guestmount --fuse-help\n"
"\n"

#. type: textblock
#: ../fuse/guestmount.pod:313
msgid "Some potentially useful FUSE options:"
msgstr "Some potentially useful FUSE options:"

#. type: =item
#: ../fuse/guestmount.pod:317
msgid "B<-o> B<allow_other>"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:319
msgid ""
"Allow other users to see the filesystem.  This option has no effect unless "
"you enable it globally in F</etc/fuse.conf>."
msgstr ""

#. type: =item
#: ../fuse/guestmount.pod:322
msgid "B<-o> B<attr_timeout=N>"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:324
msgid "Enable attribute caching by FUSE, and set the timeout to I<N> seconds."
msgstr "Enable attribute caching by FUSE, and set the timeout to I<N> seconds."

#. type: =item
#: ../fuse/guestmount.pod:326
msgid "B<-o> B<kernel_cache>"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:328
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 ""
"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."

#. type: =item
#: ../fuse/guestmount.pod:332
msgid "B<-o> B<uid=N> B<-o> B<gid=N>"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:334
msgid ""
"Use these options to map all UIDs and GIDs inside the guest filesystem to "
"the chosen values."
msgstr ""
"Use these options to map all UIDs and GIDs inside the guest filesystem to "
"the chosen values."

#. type: =item
#: ../fuse/guestmount.pod:337
msgid "B<-o> B<use_ino>"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:339
msgid "Preserve inode numbers from the underlying filesystem."
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:341
msgid ""
"Without this option, FUSE makes up its own inode numbers.  The inode numbers "
"you see in L<stat(2)>, C<ls -i> etc aren't the inode numbers of the "
"underlying filesystem."
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:345
msgid ""
"B<Note> this option is potentially dangerous if the underlying filesystem "
"consists of multiple mountpoints, as you may see duplicate inode numbers "
"appearing through FUSE.  Use of this option can confuse some software."
msgstr ""

#. type: =item
#: ../fuse/guestmount.pod:352
msgid "B<--pid-file> FILENAME"
msgstr ""

#. type: textblock
#: ../fuse/guestmount.pod:354
msgid "Write the PID of the guestmount worker process to C<filename>."
msgstr "Write the PID of the guestmount worker process to C<filename>."

#. type: textblock
#: ../fuse/guestmount.pod:360
msgid ""
"Add devices and mount everything read-only.  Also disallow writes and make "
"the disk appear read-only to FUSE."
msgstr ""
"Add devices and mount everything read-only.  Also disallow writes and make "
"the disk appear read-only to FUSE."

#. type: textblock
#: ../fuse/guestmount.pod:363
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 ""
"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."

#. type: textblock
#: ../fuse/guestmount.pod:368 ../rescue/virt-rescue.pod:239
msgid "See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."
msgstr "See also L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."

#. type: textblock
#: ../fuse/guestmount.pod:378
msgid "Enable verbose messages from underlying libguestfs."
msgstr "Enable verbose messages from underlying libguestfs."

#. type: textblock
#: ../fuse/guestmount.pod:384 ../fuse/guestunmount.pod:109
msgid "Display the program version and exit."
msgstr "Display the program version and exit."

#. type: textblock
#: ../fuse/guestmount.pod:393 ../rescue/virt-rescue.pod:290
msgid "See L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."
msgstr "See L<guestfish(1)/OPENING DISKS FOR READ AND WRITE>."

#. type: =item
#: ../fuse/guestmount.pod:397
msgid "B<--trace>"
msgstr "B<--trace>"

#. type: textblock
#: ../fuse/guestmount.pod:399
msgid "Trace libguestfs calls and entry into each FUSE function."
msgstr "Trace libguestfs calls and entry into each FUSE function."

#. type: textblock
#: ../fuse/guestmount.pod:401
msgid ""
"This also stops the daemon from forking into the background (see I<--no-"
"fork>)."
msgstr ""
"This also stops the daemon from forking into the background (see I<--no-"
"fork>)."

#. type: textblock
#: ../fuse/guestmount.pod:432
msgid ""
"L<guestunmount(1)>, L<fusermount(1)>, L<guestfish(1)>, L<virt-inspector(1)>, "
"L<virt-cat(1)>, L<virt-edit(1)>, L<virt-tar(1)>, L<libguestfs-tools."
"conf(5)>, L<guestfs(3)/MOUNT LOCAL>, L<http://libguestfs.org/>, L<http://"
"fuse.sf.net/>."
msgstr ""

#. type: textblock
#: ../fuse/guestunmount.pod:3
msgid "guestunmount - Unmount a guestmounted filesystem"
msgstr "guestunmount - Unmount a guestmounted filesystem"

#. type: verbatim
#: ../fuse/guestunmount.pod:7 ../fuse/guestunmount.pod:23
#, no-wrap
msgid ""
" guestunmount mountpoint\n"
"\n"
msgstr ""
" guestunmount mountpoint\n"
"\n"

#. type: verbatim
#: ../fuse/guestunmount.pod:9
#, no-wrap
msgid ""
" guestunmount --fd=<FD> mountpoint\n"
"\n"
msgstr ""
" guestunmount --fd=<FD> mountpoint\n"
"\n"

#. type: textblock
#: ../fuse/guestunmount.pod:13
msgid ""
"guestunmount is a utility to clean up mounted filesystems automatically.  "
"L<guestmount(1)> mounts filesystems using libguestfs.  This program unmounts "
"the filesystem when a program or script has finished with it."
msgstr ""
"guestunmount is a utility to clean up mounted filesystems automatically.  "
"L<guestmount(1)> mounts filesystems using libguestfs.  This program unmounts "
"the filesystem when a program or script has finished with it."

#. type: textblock
#: ../fuse/guestunmount.pod:18
msgid ""
"guestunmount is a wrapper around the FUSE L<fusermount(1)> program, which "
"must exist on the current C<PATH>."
msgstr ""
"guestunmount is a wrapper around the FUSE L<fusermount(1)> program, which "
"must exist on the current C<PATH>."

#. type: textblock
#: ../fuse/guestunmount.pod:21
msgid "There are two ways to use guestunmount.  When called as:"
msgstr "There are two ways to use guestunmount.  When called as:"

#. type: textblock
#: ../fuse/guestunmount.pod:25
msgid "it unmounts C<mountpoint> immediately."
msgstr "it unmounts C<mountpoint> immediately."

#. type: textblock
#: ../fuse/guestunmount.pod:27
msgid "When called as:"
msgstr "When called as:"

#. type: verbatim
#: ../fuse/guestunmount.pod:29 ../fuse/guestunmount.pod:49
#, no-wrap
msgid ""
" guestunmount --fd=FD mountpoint\n"
"\n"
msgstr ""
" guestunmount --fd=FD mountpoint\n"
"\n"

#. type: textblock
#: ../fuse/guestunmount.pod:31
msgid ""
"it waits until the pipe C<FD> is closed.  This can be used to monitor "
"another process and clean up its mountpoint when that process exits, as "
"described below."
msgstr ""
"it waits until the pipe C<FD> is closed.  This can be used to monitor "
"another process and clean up its mountpoint when that process exits, as "
"described below."

#. type: =head2
#: ../fuse/guestunmount.pod:35
msgid "FROM PROGRAMS"
msgstr "FROM PROGRAMS"

#. type: textblock
#: ../fuse/guestunmount.pod:37
msgid ""
"You can just call C<guestunmount mountpoint> from the program, but a more "
"sophisticated way to use guestunmount is to have it monitor your program so "
"it can clean up the mount point if your program exits unexpectedly."
msgstr ""
"You can just call C<guestunmount mountpoint> from the program, but a more "
"sophisticated way to use guestunmount is to have it monitor your program so "
"it can clean up the mount point if your program exits unexpectedly."

#. type: textblock
#: ../fuse/guestunmount.pod:42
msgid ""
"In the program, create a pipe (eg. by calling L<pipe(2)>).  Let C<FD> be the "
"file descriptor number of the read side of the pipe (ie. C<pipefd[0]>)."
msgstr ""
"In the program, create a pipe (eg. by calling L<pipe(2)>).  Let C<FD> be the "
"file descriptor number of the read side of the pipe (ie. C<pipefd[0]>)."

#. type: textblock
#: ../fuse/guestunmount.pod:46
msgid ""
"After mounting the filesystem with L<guestmount(1)> (on C<mountpoint>), fork "
"and run guestunmount like this:"
msgstr ""
"After mounting the filesystem with L<guestmount(1)> (on C<mountpoint>), fork "
"and run guestunmount like this:"

#. type: textblock
#: ../fuse/guestunmount.pod:51
msgid "Close the read side of the pipe in the parent process."
msgstr "Close the read side of the pipe in the parent process."

#. type: textblock
#: ../fuse/guestunmount.pod:53
msgid ""
"Now, when the write side of the pipe (ie. C<pipefd[1]>) is closed for any "
"reason, either explicitly or because the parent process exits, guestunmount "
"notices and unmounts the mountpoint."
msgstr ""
"Now, when the write side of the pipe (ie. C<pipefd[1]>) is closed for any "
"reason, either explicitly or because the parent process exits, guestunmount "
"notices and unmounts the mountpoint."

#. type: textblock
#: ../fuse/guestunmount.pod:57
msgid ""
"If your operating system supports it, you should set the C<FD_CLOEXEC> flag "
"on the write side of the pipe.  This is so that other child processes don't "
"inherit the file descriptor and keep it open."
msgstr ""
"If your operating system supports it, you should set the C<FD_CLOEXEC> flag "
"on the write side of the pipe.  This is so that other child processes don't "
"inherit the file descriptor and keep it open."

#. type: textblock
#: ../fuse/guestunmount.pod:61
msgid "Guestunmount never daemonizes itself."
msgstr "Guestunmount never daemonises itself."

#. type: =head2
#: ../fuse/guestunmount.pod:63
msgid "FROM SHELL SCRIPTS"
msgstr "FROM SHELL SCRIPTS"

#. type: textblock
#: ../fuse/guestunmount.pod:65
msgid ""
"Since bash doesn't provide a way to create an unnamed pipe, use a trap to "
"call guestunmount on exit like this:"
msgstr ""
"Since bash doesn't provide a way to create an unnamed pipe, use a trap to "
"call guestunmount on exit like this:"

#. type: verbatim
#: ../fuse/guestunmount.pod:68
#, no-wrap
msgid ""
" trap \"guestunmount mountpoint\" EXIT INT QUIT TERM\n"
"\n"
msgstr ""
" trap \"guestunmount mountpoint\" EXIT INT QUIT TERM\n"
"\n"

#. type: =item
#: ../fuse/guestunmount.pod:74
msgid "B<--fd=FD>"
msgstr "B<--fd=FD>"

#. type: textblock
#: ../fuse/guestunmount.pod:76
msgid ""
"Specify the pipe file descriptor to monitor, and delay cleanup until that "
"pipe is closed."
msgstr ""
"Specify the pipe file descriptor to monitor, and delay cleanup until that "
"pipe is closed."

#. type: textblock
#: ../fuse/guestunmount.pod:87
msgid ""
"Don’t display error messages from fusermount.  The return status is still "
"set (see L</EXIT STATUS> below)."
msgstr ""

#. type: =item
#: ../fuse/guestunmount.pod:90
msgid "B<--no-retry>"
msgstr "B<--no-retry>"

#. type: =item
#: ../fuse/guestunmount.pod:92
msgid "B<--retry=N>"
msgstr "B<--retry=N>"

#. type: textblock
#: ../fuse/guestunmount.pod:94
msgid ""
"By default, guestunmount will retry the fusermount operation up to S<5 "
"times> (that is, it will run it up to S<6 times> = S<1 try> + S<5 retries>)."
msgstr ""
"By default, guestunmount will retry the fusermount operation up to S<5 "
"times> (that is, it will run it up to S<6 times> = S<1 try> + S<5 retries>)."

#. type: textblock
#: ../fuse/guestunmount.pod:98
msgid "Use I<--no-retry> to make guestunmount run fusermount only once."
msgstr "Use I<--no-retry> to make guestunmount run fusermount only once."

#. type: textblock
#: ../fuse/guestunmount.pod:100
msgid "Use I<--retry=N> to make guestunmount retry C<N> times instead of 5."
msgstr "Use I<--retry=N> to make guestunmount retry C<N> times instead of 5."

#. type: textblock
#: ../fuse/guestunmount.pod:102
msgid ""
"guestunmount performs an exponential back-off between retries, waiting S<1 "
"second>, S<2 seconds>, S<4 seconds>, etc before each retry."
msgstr ""
"guestunmount performs an exponential back-off between retries, waiting S<1 "
"second>, S<2 seconds>, S<4 seconds>, etc before each retry."

#. type: =item
#: ../fuse/guestunmount.pod:117
msgid "C<PATH>"
msgstr "C<PATH>"

#. type: textblock
#: ../fuse/guestunmount.pod:119
msgid ""
"The L<fusermount(1)> program (supplied by FUSE) must be available on the "
"current C<PATH>."
msgstr ""
"The L<fusermount(1)> program (supplied by FUSE) must be available on the "
"current C<PATH>."

#. type: textblock
#: ../fuse/guestunmount.pod:126
msgid ""
"This program returns 0 if successful, or one of the following error codes:"
msgstr ""
"This program returns 0 if successful, or one of the following error codes:"

#. type: textblock
#: ../fuse/guestunmount.pod:133
msgid ""
"Program error, eg. could not allocate memory, could not run fusermount.  See "
"the error message printed for more information."
msgstr ""
"Program error, eg. could not allocate memory, could not run fusermount.  See "
"the error message printed for more information."

#. type: =item
#: ../fuse/guestunmount.pod:136
msgid "C<2>"
msgstr "C<2>"

#. type: textblock
#: ../fuse/guestunmount.pod:138
msgid ""
"The mount point could not be unmounted even after retrying.  See the error "
"message printed for the underlying fusermount error."
msgstr ""
"The mount point could not be unmounted even after retrying.  See the error "
"message printed for the underlying fusermount error."

#. type: =item
#: ../fuse/guestunmount.pod:141
msgid "C<3>"
msgstr "C<3>"

#. type: textblock
#: ../fuse/guestunmount.pod:143
msgid "The mount point is not mounted."
msgstr "The mount point is not mounted."

#. type: textblock
#: ../fuse/guestunmount.pod:149
msgid ""
"L<guestmount(1)>, L<fusermount(1)>, L<pipe(2)>, L<guestfs(3)/MOUNT LOCAL>, "
"L<http://libguestfs.org/>, L<http://fuse.sf.net/>."
msgstr ""
"L<guestmount(1)>, L<fusermount(1)>, L<pipe(2)>, L<guestfs(3)/MOUNT LOCAL>, "
"L<http://libguestfs.org/>, L<http://fuse.sf.net/>."

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:3
msgid "virt-get-kernel - Extract kernel and ramdisk from guests"
msgstr ""

#. type: verbatim
#: ../get-kernel/virt-get-kernel.pod:7
#, no-wrap
msgid ""
" virt-get-kernel [--options] -d domname\n"
"\n"
msgstr ""

#. type: verbatim
#: ../get-kernel/virt-get-kernel.pod:9
#, no-wrap
msgid ""
" virt-get-kernel [--options] -a disk.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:13
msgid "This option extracts the kernel and initramfs from a guest."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:18
msgid ""
"In the case where the guest contains multiple kernels, the one with the "
"highest version number is chosen.  To extract arbitrary kernels from the "
"disk image, see L<guestfish(1)>.  To extract the entire C</boot> directory "
"of a guest, see L<virt-copy-out(1)>."
msgstr ""

#. type: =item
#: ../get-kernel/virt-get-kernel.pod:47
#, fuzzy
#| msgid "C<blocksize>"
msgid "B<--blocksize> B<512>"
msgstr "C<blocksize>"

#. type: =item
#: ../get-kernel/virt-get-kernel.pod:49
#, fuzzy
#| msgid "C<blocksize>"
msgid "B<--blocksize> B<4096>"
msgstr "C<blocksize>"

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:51
msgid ""
"This parameter sets the sector size of the disk image added with I<-a> "
"option and is ignored for libvirt guest added with I<-d> option.  See also "
"L<guestfs(3)/guestfs_add_drive_opts>."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:83
msgid ""
"When prompting for keys and passphrases, virt-get-kernel 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
#: ../get-kernel/virt-get-kernel.pod:92
msgid ""
"The default for the I<-a> option is to auto-detect the format of the disk "
"image.  Using this forces the disk format for the I<-a> option on the "
"command line."
msgstr ""

#. type: =item
#: ../get-kernel/virt-get-kernel.pod:115
msgid "B<-o> directory"
msgstr ""

#. type: =item
#: ../get-kernel/virt-get-kernel.pod:117
msgid "B<--output> directory"
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:119
msgid ""
"This option specifies the output directory where kernel and initramfs from "
"the guest are written."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:122
msgid "If not specified, the default output is the current directory."
msgstr ""

#. type: =item
#: ../get-kernel/virt-get-kernel.pod:124
msgid "B<--prefix> prefix"
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:126
msgid "This option specifies a prefix for the extracted files."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:128
msgid ""
"If a prefix is specified, then there will be a dash (C<->) after the prefix "
"and before the rest of the file name; for example, a kernel in the guest "
"like C<vmlinuz-3.19.0-20-generic> is saved as C<mydistro-vmlinuz-3.19.0-20-"
"generic> when the prefix is C<mydistro>."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:133
msgid "See also I<--unversioned-names>."
msgstr ""

#. type: =item
#: ../get-kernel/virt-get-kernel.pod:141
msgid "B<--unversioned-names>"
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:143
msgid "This option affects the destination file name of extracted files."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:145
msgid ""
"If enabled, files will be saved locally just with the base name; for "
"example, kernel and ramdisk in the guest like C<vmlinuz-3.19.0-20-generic> "
"and C<initrd.img-3.19.0-20-generic> are saved respectively as C<vmlinuz> and "
"C<initrd.img>."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:150
msgid "See also I<--prefix>."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:172
msgid ""
"The I<--machine-readable> option can be used to make the output more machine "
"friendly, which is useful when calling virt-get-kernel from other programs, "
"GUIs etc."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:176
msgid ""
"Use the option on its own to query the capabilities of the virt-get-kernel "
"binary.  Typical output looks like this:"
msgstr ""

#. type: verbatim
#: ../get-kernel/virt-get-kernel.pod:179
#, no-wrap
msgid ""
" $ virt-get-kernel --machine-readable\n"
" virt-get-kernel\n"
"\n"
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:200
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<guestmount(1)>, L<virt-copy-out(1)>, "
"L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../get-kernel/virt-get-kernel.pod:212
#, fuzzy
#| msgid "Copyright (C) 2010-2012 Red Hat Inc."
msgid "Copyright (C) 2013-2020 Red Hat Inc."
msgstr "Copyright (C) 2010-2012 Red Hat Inc."

#. type: textblock
#: ../gobject/guestfs-gobject.pod:3
msgid "guestfs-gobject - How to use libguestfs with the GObject bindings"
msgstr ""

#. type: textblock
#: ../gobject/guestfs-gobject.pod:7
msgid "From Javascript using gjs:"
msgstr ""

#. type: verbatim
#: ../gobject/guestfs-gobject.pod:9 ../gobject/guestfs-gobject.pod:34
#, no-wrap
msgid ""
" const Guestfs = imports.gi.Guestfs;\n"
" var g = new Guestfs.Session();\n"
" g.add_drive('disk.img', null);\n"
" g.launch();\n"
" g.close();\n"
"\n"
msgstr ""

#. type: textblock
#: ../gobject/guestfs-gobject.pod:17
msgid ""
"This manual page documents how to call libguestfs using GObject bindings, "
"especially from Javascript."
msgstr ""

#. type: textblock
#: ../gobject/guestfs-gobject.pod:20
msgid ""
"Note that the GObject bindings have problems handling 64 bit values.  You "
"should not use the GObject bindings if there are native bindings for your "
"language.  For example, to use libguestfs from Python you are strongly "
"advised to use the Python native bindings instead (see L<guestfs-python(3)>)."
msgstr ""

#. type: textblock
#: ../gobject/guestfs-gobject.pod:26
msgid ""
"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: =head1
#: ../gobject/guestfs-gobject.pod:30
msgid "JAVASCRIPT"
msgstr ""

#. type: textblock
#: ../gobject/guestfs-gobject.pod:32
msgid "Using gjs, you can write a C<.js> file containing:"
msgstr ""

#. type: textblock
#: ../gobject/guestfs-gobject.pod:40
msgid "and then run it using:"
msgstr ""

#. type: verbatim
#: ../gobject/guestfs-gobject.pod:42
#, no-wrap
msgid ""
" gjs program.js\n"
"\n"
msgstr ""

#. type: textblock
#: ../gobject/guestfs-gobject.pod:46
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-"
"golang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-perl(3)>, "
"L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-ruby(3)>, L<http://"
"libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:3
msgid "guestfs-golang - How to use libguestfs from Go"
msgstr "guestfs-golang - How to use libguestfs from Go"

#. type: verbatim
#: ../golang/examples/guestfs-golang.pod:7
#, no-wrap
msgid ""
" import \"libguestfs.org/guestfs\"\n"
" \n"
msgstr ""
" import \"libguestfs.org/guestfs\"\n"
" \n"

#. type: verbatim
#: ../golang/examples/guestfs-golang.pod:9
#, no-wrap
msgid ""
" g, errno := guestfs.Create ()\n"
" if errno != nil {\n"
"     panic (fmt.Sprintf (\"could not create handle: %s\", errno))\n"
" }\n"
" defer g.Close ()\n"
" if err := g.Add_drive (\"test.img\"); err != nil {\n"
"     panic (err)\n"
" }\n"
" if err := g.Launch (); err != nil {\n"
"     panic (err)\n"
" }\n"
" if err := g.Shutdown (); err != nil {\n"
"     panic (err)\n"
" }\n"
"\n"
msgstr ""
" g, errno := guestfs.Create ()\n"
" if errno != nil {\n"
"     panic (fmt.Sprintf (\"could not create handle: %s\", errno))\n"
" }\n"
" defer g.Close ()\n"
" if err := g.Add_drive (\"test.img\"); err != nil {\n"
"     panic (err)\n"
" }\n"
" if err := g.Launch (); err != nil {\n"
"     panic (err)\n"
" }\n"
" if err := g.Shutdown (); err != nil {\n"
"     panic (err)\n"
" }\n"
"\n"

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:26
msgid ""
"This manual page documents how to call libguestfs from the Go 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 ""
"This manual page documents how to call libguestfs from the Go 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)>."

#. type: =head2
#: ../golang/examples/guestfs-golang.pod:31
msgid "IMPORTING THE MODULE"
msgstr "IMPORTING THE MODULE"

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:33
msgid ""
"The module is called C<guestfs>.  The full package name to import is "
"C<libguestfs.org/guestfs>."
msgstr ""
"The module is called C<guestfs>.  The full package name to import is "
"C<libguestfs.org/guestfs>."

#. type: =head2
#: ../golang/examples/guestfs-golang.pod:36
msgid "CREATING AND CLOSING THE HANDLE"
msgstr "CREATING AND CLOSING THE HANDLE"

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:38
msgid ""
"Use either C<guestfs.Create> or C<guestfs.Create_flags> to create the "
"handle.  The handle is closed implicitly if it is garbage collected.  "
"However it is probably a good idea to close it explicitly, either by calling "
"S<C<g.Close ()>> or by deferring the same."
msgstr ""
"Use either C<guestfs.Create> or C<guestfs.Create_flags> to create the "
"handle.  The handle is closed implicitly if it is garbage collected.  "
"However it is probably a good idea to close it explicitly, either by calling "
"S<C<g.Close ()>> or by deferring the same."

#. type: =head2
#: ../golang/examples/guestfs-golang.pod:43 ../lua/examples/guestfs-lua.pod:74
#: ../perl/examples/guestfs-perl.pod:25
msgid "ERRORS"
msgstr "ERRORS"

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:45
msgid ""
"C<guestfs.Create> and C<guestfs.Create_flags> return a simple C<*error>, "
"which is really just a C C<errno> wrapped up in the appropriate golang "
"struct."
msgstr ""
"C<guestfs.Create> and C<guestfs.Create_flags> return a simple C<*error>, "
"which is really just a C C<errno> wrapped up in the appropriate golang "
"struct."

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:49
msgid ""
"All other calls return a C<*GuestfsError> which (if non-nil) is a richer "
"struct that contains the error string from libguestfs, the errno (if "
"available) and the operation which failed.  This can also be converted to a "
"string for display."
msgstr ""
"All other calls return a C<*GuestfsError> which (if non-nil) is a richer "
"struct that contains the error string from libguestfs, the errno (if "
"available) and the operation which failed.  This can also be converted to a "
"string for display."

#. type: =head2
#: ../golang/examples/guestfs-golang.pod:54
msgid "LIMITATIONS"
msgstr "LIMITATIONS"

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:60
msgid "No support for events (see L<guestfs(3)/EVENTS>)."
msgstr "No support for events (see L<guestfs(3)/EVENTS>)."

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:64
msgid "UUIDs are not returned in structures."
msgstr "UUIDs are not returned in structures."

#. type: textblock
#: ../golang/examples/guestfs-golang.pod:78
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-"
"gobject(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, "
"L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-"
"ruby(3)>, L<http://www.golang.org/>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../inspector/virt-inspector.pod:3
msgid ""
"virt-inspector - Display operating system version and other information "
"about a virtual machine"
msgstr ""
"virt-inspector - Display operating system version and other information "
"about a virtual machine"

#. type: verbatim
#: ../inspector/virt-inspector.pod:7
#, no-wrap
msgid ""
" virt-inspector [--options] -d domname\n"
"\n"
msgstr ""
" virt-inspector [--options] -d domname\n"
"\n"

#. type: verbatim
#: ../inspector/virt-inspector.pod:9
#, no-wrap
msgid ""
" virt-inspector [--options] -a disk.img [-a disk.img ...]\n"
"\n"
msgstr ""
" virt-inspector [--options] -a disk.img [-a disk.img ...]\n"
"\n"

#. type: verbatim
#: ../inspector/virt-inspector.pod:13
#, no-wrap
msgid ""
" virt-inspector domname\n"
"\n"
msgstr ""
" virt-inspector domname\n"
"\n"

#. type: verbatim
#: ../inspector/virt-inspector.pod:15 ../inspector/virt-inspector.pod:169
#, no-wrap
msgid ""
" virt-inspector disk.img [disk.img ...]\n"
"\n"
msgstr ""
" virt-inspector disk.img [disk.img ...]\n"
"\n"

#. type: textblock
#: ../inspector/virt-inspector.pod:19
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 ""
"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."

#. type: textblock
#: ../inspector/virt-inspector.pod:23
msgid "Virt-inspector produces XML output for feeding into other programs."
msgstr "Virt-inspector produces XML output for feeding into other programs."

#. type: textblock
#: ../inspector/virt-inspector.pod:25
msgid ""
"In the normal usage, use C<virt-inspector -d domname> where C<domname> is "
"the libvirt domain (see: C<virsh list --all>)."
msgstr ""
"In the normal usage, use C<virt-inspector -d domname> where C<domname> is "
"the libvirt domain (see: C<virsh list --all>)."

#. type: textblock
#: ../inspector/virt-inspector.pod:28
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 F</"
"dev/sda>, the second to the guest’s F</dev/sdb> and so on."
msgstr ""

#. type: textblock
#: ../inspector/virt-inspector.pod:35
msgid ""
"You can also run virt-inspector on install disks, live CDs, bootable USB "
"keys and similar."
msgstr ""
"You can also run virt-inspector on install disks, live CDs, bootable USB "
"keys and similar."

#. type: textblock
#: ../inspector/virt-inspector.pod:38
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 ""
"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)."

#. type: textblock
#: ../inspector/virt-inspector.pod:43
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:46
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</GETTING INSPECTION DATA FROM "
"THE LIBGUESTFS API>)."
msgstr ""
"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</GETTING INSPECTION DATA FROM "
"THE LIBGUESTFS API>)."

#. type: textblock
#: ../inspector/virt-inspector.pod:86
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 ""
"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."

#. type: textblock
#: ../inspector/virt-inspector.pod:99
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 ""
"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."

#. type: textblock
#: ../inspector/virt-inspector.pod:108 ../tools/virt-list-filesystems:92
#: ../tools/virt-list-partitions:93 ../tools/virt-tar:140
#: ../tools/virt-win-reg:141
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 ""
"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."

#. type: textblock
#: ../inspector/virt-inspector.pod:112 ../tools/virt-list-filesystems:96
#: ../tools/virt-list-partitions:97 ../tools/virt-tar:144
#: ../tools/virt-win-reg:145
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 ""
"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."

#. type: =item
#: ../inspector/virt-inspector.pod:126
msgid "B<--no-applications>"
msgstr ""

#. type: textblock
#: ../inspector/virt-inspector.pod:128
msgid ""
"By default the output of virt-inspector includes the list of all the "
"applications installed in the guest, if available."
msgstr ""

#. type: textblock
#: ../inspector/virt-inspector.pod:131 ../inspector/virt-inspector.pod:138
msgid "Specify this option to disable this part of the resulting XML."
msgstr ""

#. type: =item
#: ../inspector/virt-inspector.pod:133
msgid "B<--no-icon>"
msgstr ""

#. type: textblock
#: ../inspector/virt-inspector.pod:135
msgid ""
"By default the output of virt-inspector includes the icon of the guest, if "
"available (see L</icon>)."
msgstr ""

#. type: =item
#: ../inspector/virt-inspector.pod:156
msgid "B<--xpath> query"
msgstr "B<--xpath> query"

#. type: textblock
#: ../inspector/virt-inspector.pod:158
msgid ""
"Perform an XPath query on the XML on stdin, and print the result on stdout.  "
"In this mode virt-inspector simply runs an XPath query; all other inspection "
"functions are disabled.  See L</XPATH QUERIES> below for some examples."
msgstr ""
"Perform an XPath query on the XML on stdin, and print the result on stdout.  "
"In this mode virt-inspector simply runs an XPath query; all other inspection "
"functions are disabled.  See L</XPATH QUERIES> below for some examples."

#. type: textblock
#: ../inspector/virt-inspector.pod:167
msgid "Previous versions of virt-inspector allowed you to write either:"
msgstr "Previous versions of virt-inspector allowed you to write either:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:173
#, no-wrap
msgid ""
" virt-inspector guestname\n"
"\n"
msgstr ""
" virt-inspector guestname\n"
"\n"

#. type: =head1
#: ../inspector/virt-inspector.pod:181
msgid "XML FORMAT"
msgstr "XML FORMAT"

#. type: textblock
#: ../inspector/virt-inspector.pod:183
msgid ""
"The virt-inspector XML is described precisely in a RELAX NG schema file "
"F<virt-inspector.rng> which is supplied with libguestfs.  This section is "
"just an overview."
msgstr ""

#. type: textblock
#: ../inspector/virt-inspector.pod:187
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 ""
"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."

#. type: =head2
#: ../inspector/virt-inspector.pod:192
msgid "E<lt>operatingsystemE<gt>"
msgstr "E<lt>operatingsystemE<gt>"

#. type: textblock
#: ../inspector/virt-inspector.pod:194
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 ""
"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:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:198
#, 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"
"\n"
msgstr ""

#. type: textblock
#: ../inspector/virt-inspector.pod:210
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 ""
"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 recognised) 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>."

#. type: textblock
#: ../inspector/virt-inspector.pod:218
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 ""
"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)."

#. type: =head2
#: ../inspector/virt-inspector.pod:222
msgid "E<lt>mountpointsE<gt>"
msgstr "E<lt>mountpointsE<gt>"

#. type: textblock
#: ../inspector/virt-inspector.pod:224
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 ""
"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:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:228
#, 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 ""
" <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"

#. type: textblock
#: ../inspector/virt-inspector.pod:236
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 ""
"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."

#. type: =head2
#: ../inspector/virt-inspector.pod:241
msgid "E<lt>filesystemsE<gt>"
msgstr "E<lt>filesystemsE<gt>"

#. type: textblock
#: ../inspector/virt-inspector.pod:243
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 ""
"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)."

#. type: textblock
#: ../inspector/virt-inspector.pod:249
msgid "You might see something like this:"
msgstr "You might see something like this:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:251
#, 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 ""
" <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"

#. type: textblock
#: ../inspector/virt-inspector.pod:261
msgid ""
"The optional elements within E<lt>filesystemE<gt> are the filesystem type, "
"the label, and the UUID."
msgstr ""
"The optional elements within E<lt>filesystemE<gt> are the filesystem type, "
"the label, and the UUID."

#. type: =head2
#: ../inspector/virt-inspector.pod:264
msgid "E<lt>applicationsE<gt>"
msgstr "E<lt>applicationsE<gt>"

#. type: textblock
#: ../inspector/virt-inspector.pod:266
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 ""
"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."

#. type: textblock
#: ../inspector/virt-inspector.pod:270
msgid ""
"E<lt>package_formatE<gt>, if present, describes the packaging system used.  "
"Typical values would be C<rpm> and C<deb>."
msgstr ""
"E<lt>package_formatE<gt>, if present, describes the packaging system used.  "
"Typical values would be C<rpm> and C<deb>."

#. type: textblock
#: ../inspector/virt-inspector.pod:273
msgid ""
"E<lt>package_managementE<gt>, if present, describes the package manager.  "
"Typical values include C<yum>, C<up2date> and C<apt>"
msgstr ""
"E<lt>package_managementE<gt>, if present, describes the package manager.  "
"Typical values include C<yum>, C<up2date> and C<apt>"

#. type: textblock
#: ../inspector/virt-inspector.pod:276
msgid "E<lt>applicationsE<gt> lists the packages or applications installed."
msgstr "E<lt>applicationsE<gt> lists the packages or applications installed."

#. type: verbatim
#: ../inspector/virt-inspector.pod:279
#, 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 ""
" <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"

#. type: textblock
#: ../inspector/virt-inspector.pod:289
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 ""
"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>."

#. type: =head2
#: ../inspector/virt-inspector.pod:293
msgid "E<lt>drive_mappingsE<gt>"
msgstr "E<lt>drive_mappingsE<gt>"

#. type: textblock
#: ../inspector/virt-inspector.pod:295
msgid ""
"For operating systems like Windows which use drive letters, virt-inspector "
"is able to find out how drive letters map to filesystems."
msgstr ""
"For operating systems like Windows which use drive letters, virt-inspector "
"is able to find out how drive letters map to filesystems."

#. type: verbatim
#: ../inspector/virt-inspector.pod:299
#, 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 ""
" <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"

#. type: textblock
#: ../inspector/virt-inspector.pod:307
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 ""
"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."

#. type: textblock
#: ../inspector/virt-inspector.pod:311
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 ""
"Note that this only covers permanent local filesystem mappings, not things "
"like network shares.  Furthermore NTFS volume mount points may not be listed "
"here."

#. type: =head2
#: ../inspector/virt-inspector.pod:315
msgid "E<lt>iconE<gt>"
msgstr "E<lt>iconE<gt>"

#. type: textblock
#: ../inspector/virt-inspector.pod:317
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 ""
"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."

#. type: verbatim
#: ../inspector/virt-inspector.pod:321
#, no-wrap
msgid ""
" <operatingsystems>\n"
"   <operatingsystem>\n"
"     ...\n"
"     <icon>\n"
"       iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[.......]\n"
"       [... many lines of base64 data ...]\n"
"     </icon>\n"
"\n"
msgstr ""
" <operatingsystems>\n"
"   <operatingsystem>\n"
"     ...\n"
"     <icon>\n"
"       iVBORw0KGgoAAAANSUhEUgAAAGAAAABg[.......]\n"
"       [... many lines of base64 data ...]\n"
"     </icon>\n"
"\n"

#. type: textblock
#: ../inspector/virt-inspector.pod:329
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 ""
"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:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:334
#, no-wrap
msgid ""
" base64 -i -d < icon.data > icon.png\n"
"\n"
msgstr ""
" base64 -i -d < icon.data > icon.png\n"
"\n"

#. type: =head1
#: ../inspector/virt-inspector.pod:336
msgid "XPATH QUERIES"
msgstr "XPATH QUERIES"

#. type: textblock
#: ../inspector/virt-inspector.pod:338
msgid ""
"Virt-inspector includes built in support for running XPath queries.  The "
"reason for including XPath support directly in virt-inspector is simply that "
"there are no good and widely available command line programs that can do "
"XPath queries.  The only good one is L<xmlstarlet(1)> and that is not "
"available on Red Hat Enterprise Linux."
msgstr ""
"Virt-inspector includes built in support for running XPath queries.  The "
"reason for including XPath support directly in virt-inspector is simply that "
"there are no good and widely available command line programs that can do "
"XPath queries.  The only good one is L<xmlstarlet(1)> and that is not "
"available on Red Hat Enterprise Linux."

#. type: textblock
#: ../inspector/virt-inspector.pod:345
msgid ""
"To perform an XPath query, use the I<--xpath> option.  Note that in this "
"mode, virt-inspector simply reads XML from stdin and outputs the query "
"result on stdout.  All other inspection features are disabled in this mode."
msgstr ""
"To perform an XPath query, use the I<--xpath> option.  Note that in this "
"mode, virt-inspector simply reads XML from stdin and outputs the query "
"result on stdout.  All other inspection features are disabled in this mode."

#. type: verbatim
#: ../inspector/virt-inspector.pod:352
#, no-wrap
msgid ""
" $ virt-inspector -d Guest | virt-inspector --xpath '//filesystems'\n"
" <filesystems>\n"
"      <filesystem dev=\"/dev/vg_f13x64/lv_root\">\n"
"        <type>ext4</type>\n"
" [...]\n"
"\n"
msgstr ""
" $ virt-inspector -d Guest | virt-inspector --xpath '//filesystems'\n"
" <filesystems>\n"
"      <filesystem dev=\"/dev/vg_f13x64/lv_root\">\n"
"        <type>ext4</type>\n"
" [...]\n"
"\n"

#. type: verbatim
#: ../inspector/virt-inspector.pod:358
#, no-wrap
msgid ""
" $ virt-inspector -d Guest | \\\n"
"     virt-inspector --xpath \"string(//filesystem[@dev='/dev/sda1']/type)\"\n"
" ext4\n"
"\n"
msgstr ""
" $ virt-inspector -d Guest | \\\n"
"     virt-inspector --xpath \"string(//filesystem[@dev='/dev/sda1']/type)\"\n"
" ext4\n"
"\n"

#. type: verbatim
#: ../inspector/virt-inspector.pod:362
#, no-wrap
msgid ""
" $ virt-inspector -d Guest | \\\n"
"     virt-inspector --xpath 'string(//icon)' | base64 -i -d | display -\n"
" [displays the guest icon, if there is one]\n"
"\n"
msgstr ""
" $ virt-inspector -d Guest | \\\n"
"     virt-inspector --xpath 'string(//icon)' | base64 -i -d | display -\n"
" [displays the guest icon, if there is one]\n"
"\n"

#. type: =head1
#: ../inspector/virt-inspector.pod:366
msgid "GETTING INSPECTION DATA FROM THE LIBGUESTFS API"
msgstr "GETTING INSPECTION DATA FROM THE LIBGUESTFS API"

#. type: textblock
#: ../inspector/virt-inspector.pod:368
msgid ""
"In early versions of libguestfs, virt-inspector was a large Perl script that "
"contained many heuristics for inspecting guests.  This had several problems: "
"in order to do inspection from other tools (like guestfish) we had to call "
"out to this Perl script; and it privileged Perl over other languages that "
"libguestfs supports."
msgstr ""
"In early versions of libguestfs, virt-inspector was a large Perl script that "
"contained many heuristics for inspecting guests.  This had several problems: "
"in order to do inspection from other tools (like guestfish) we had to call "
"out to this Perl script; and it privileged Perl over other languages that "
"libguestfs supports."

#. type: textblock
#: ../inspector/virt-inspector.pod:374
msgid ""
"By libguestfs 1.8 we had rewritten the Perl code in C, and incorporated it "
"all into the core libguestfs API (L<guestfs(3)>).  Now virt-inspector is "
"simply a thin C program over the core C API.  All of the inspection "
"information is available from all programming languages that libguestfs "
"supports, and from guestfish."
msgstr ""
"By libguestfs 1.8 we had rewritten the Perl code in C, and incorporated it "
"all into the core libguestfs API (L<guestfs(3)>).  Now virt-inspector is "
"simply a thin C program over the core C API.  All of the inspection "
"information is available from all programming languages that libguestfs "
"supports, and from guestfish."

#. type: textblock
#: ../inspector/virt-inspector.pod:380
msgid ""
"For a description of the C inspection API, read L<guestfs(3)/INSPECTION>."
msgstr ""
"For a description of the C inspection API, read L<guestfs(3)/INSPECTION>."

#. type: textblock
#: ../inspector/virt-inspector.pod:383
msgid ""
"For example code using the C inspection API, look for F<inspect-vm.c> which "
"ships with libguestfs."
msgstr ""

#. type: textblock
#: ../inspector/virt-inspector.pod:386
msgid ""
"F<inspect-vm.c> has also been translated into other languages.  For example, "
"F<inspect_vm.pl> is the Perl translation, and there are other translations "
"for OCaml, Python, etc.  See L<guestfs(3)/USING LIBGUESTFS WITH OTHER "
"PROGRAMMING LANGUAGES> for a list of man pages which contain this example "
"code."
msgstr ""

#. type: =head2
#: ../inspector/virt-inspector.pod:392
msgid "GETTING INSPECTION DATA FROM GUESTFISH"
msgstr "GETTING INSPECTION DATA FROM GUESTFISH"

#. type: textblock
#: ../inspector/virt-inspector.pod:394
msgid ""
"If you use the guestfish I<-i> option, then the main C inspection API "
"L<guestfs(3)/guestfs_inspect_os> is called.  This is equivalent to the "
"guestfish command C<inspect-os>.  You can also call this guestfish command "
"by hand."
msgstr ""
"If you use the guestfish I<-i> option, then the main C inspection API "
"L<guestfs(3)/guestfs_inspect_os> is called.  This is equivalent to the "
"guestfish command C<inspect-os>.  You can also call this guestfish command "
"by hand."

#. type: textblock
#: ../inspector/virt-inspector.pod:399
msgid ""
"C<inspect-os> performs inspection on the current disk image, returning the "
"list of operating systems found.  Each OS is represented by its root "
"filesystem device.  In the majority of cases, this command prints nothing "
"(no OSes found), or a single root device, but beware that it can print "
"multiple lines if there are multiple OSes or if there is an install CD "
"attached to the guest."
msgstr ""
"C<inspect-os> performs inspection on the current disk image, returning the "
"list of operating systems found.  Each OS is represented by its root "
"filesystem device.  In the majority of cases, this command prints nothing "
"(no OSes found), or a single root device, but beware that it can print "
"multiple lines if there are multiple OSes or if there is an install CD "
"attached to the guest."

#. type: verbatim
#: ../inspector/virt-inspector.pod:406
#, no-wrap
msgid ""
" $ guestfish --ro -a F15x32.img\n"
" ><fs> run\n"
" ><fs> inspect-os\n"
" /dev/vg_f15x32/lv_root\n"
"\n"
msgstr ""
" $ guestfish --ro -a F15x32.img\n"
" ><fs> run\n"
" ><fs> inspect-os\n"
" /dev/vg_f15x32/lv_root\n"
"\n"

#. type: textblock
#: ../inspector/virt-inspector.pod:411
msgid ""
"Using the root device, you can fetch further information about the guest:"
msgstr ""
"Using the root device, you can fetch further information about the guest:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:414
#, no-wrap
msgid ""
" ><fs> inspect-get-type /dev/vg_f15x32/lv_root\n"
" linux\n"
" ><fs> inspect-get-distro /dev/vg_f15x32/lv_root\n"
" fedora\n"
" ><fs> inspect-get-major-version /dev/vg_f15x32/lv_root\n"
" 15\n"
" ><fs> inspect-get-product-name /dev/vg_f15x32/lv_root\n"
" Fedora release 15 (Lovelock)\n"
"\n"
msgstr ""
" ><fs> inspect-get-type /dev/vg_f15x32/lv_root\n"
" linux\n"
" ><fs> inspect-get-distro /dev/vg_f15x32/lv_root\n"
" fedora\n"
" ><fs> inspect-get-major-version /dev/vg_f15x32/lv_root\n"
" 15\n"
" ><fs> inspect-get-product-name /dev/vg_f15x32/lv_root\n"
" Fedora release 15 (Lovelock)\n"
"\n"

#. type: textblock
#: ../inspector/virt-inspector.pod:423
msgid ""
"Limitations of guestfish make it hard to assign the root device to a "
"variable (since guestfish doesn't have variables), so if you want to do this "
"reproducibly you are better off writing a script using one of the other "
"languages that the libguestfs API supports."
msgstr ""
"Limitations of guestfish make it hard to assign the root device to a "
"variable (since guestfish doesn't have variables), so if you want to do this "
"reproducibly you are better off writing a script using one of the other "
"languages that the libguestfs API supports."

#. type: textblock
#: ../inspector/virt-inspector.pod:428
msgid "To list applications, you have to first mount up the disks:"
msgstr "To list applications, you have to first mount up the disks:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:430
#, no-wrap
msgid ""
" ><fs> inspect-get-mountpoints /dev/vg_f15x32/lv_root\n"
" /: /dev/vg_f15x32/lv_root\n"
" /boot: /dev/vda1\n"
" ><fs> mount-ro /dev/vg_f15x32/lv_root /\n"
" ><fs> mount-ro /dev/vda1 /boot\n"
"\n"
msgstr ""
" ><fs> inspect-get-mountpoints /dev/vg_f15x32/lv_root\n"
" /: /dev/vg_f15x32/lv_root\n"
" /boot: /dev/vda1\n"
" ><fs> mount-ro /dev/vg_f15x32/lv_root /\n"
" ><fs> mount-ro /dev/vda1 /boot\n"
"\n"

#. type: textblock
#: ../inspector/virt-inspector.pod:436
msgid "and then call the inspect-list-applications API:"
msgstr "and then call the inspect-list-applications API:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:438
#, no-wrap
msgid ""
" ><fs> inspect-list-applications /dev/vg_f15x32/lv_root | head -28\n"
" [0] = {\n"
"   app_name: ConsoleKit\n"
"   app_display_name:\n"
"   app_epoch: 0\n"
"   app_version: 0.4.5\n"
"   app_release: 1.fc15\n"
"   app_install_path:\n"
"   app_trans_path:\n"
"   app_publisher:\n"
"   app_url:\n"
"   app_source_package:\n"
"   app_summary:\n"
"   app_description:\n"
" }\n"
" [1] = {\n"
"   app_name: ConsoleKit-libs\n"
"   app_display_name:\n"
"   app_epoch: 0\n"
"   app_version: 0.4.5\n"
"   app_release: 1.fc15\n"
"   app_install_path:\n"
"   app_trans_path:\n"
"   app_publisher:\n"
"   app_url:\n"
"   app_source_package:\n"
"   app_summary:\n"
"   app_description:\n"
" }\n"
"\n"
msgstr ""
" ><fs> inspect-list-applications /dev/vg_f15x32/lv_root | head -28\n"
" [0] = {\n"
"   app_name: ConsoleKit\n"
"   app_display_name:\n"
"   app_epoch: 0\n"
"   app_version: 0.4.5\n"
"   app_release: 1.fc15\n"
"   app_install_path:\n"
"   app_trans_path:\n"
"   app_publisher:\n"
"   app_url:\n"
"   app_source_package:\n"
"   app_summary:\n"
"   app_description:\n"
" }\n"
" [1] = {\n"
"   app_name: ConsoleKit-libs\n"
"   app_display_name:\n"
"   app_epoch: 0\n"
"   app_version: 0.4.5\n"
"   app_release: 1.fc15\n"
"   app_install_path:\n"
"   app_trans_path:\n"
"   app_publisher:\n"
"   app_url:\n"
"   app_source_package:\n"
"   app_summary:\n"
"   app_description:\n"
" }\n"
"\n"

#. type: textblock
#: ../inspector/virt-inspector.pod:468
msgid ""
"To display an icon for the guest, note that filesystems must also be mounted "
"as above.  You can then do:"
msgstr ""
"To display an icon for the guest, note that filesystems must also be mounted "
"as above.  You can then do:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:471
#, no-wrap
msgid ""
" ><fs> inspect-get-icon /dev/vg_f15x32/lv_root | display -\n"
"\n"
msgstr ""
" ><fs> inspect-get-icon /dev/vg_f15x32/lv_root | display -\n"
"\n"

#. type: =head1
#: ../inspector/virt-inspector.pod:473
msgid "OLD VERSIONS OF VIRT-INSPECTOR"
msgstr "OLD VERSIONS OF VIRT-INSPECTOR"

#. type: textblock
#: ../inspector/virt-inspector.pod:475
msgid ""
"As described above, early versions of libguestfs shipped with a different "
"virt-inspector program written in Perl (the current version is written in "
"C).  The XML output of the Perl virt-inspector was different and it could "
"also output in other formats like text."
msgstr ""
"As described above, early versions of libguestfs shipped with a different "
"virt-inspector program written in Perl (the current version is written in "
"C).  The XML output of the Perl virt-inspector was different and it could "
"also output in other formats like text."

#. type: textblock
#: ../inspector/virt-inspector.pod:480
msgid ""
"The old virt-inspector is no longer supported or shipped with libguestfs."
msgstr ""
"The old virt-inspector is no longer supported or shipped with libguestfs."

#. type: textblock
#: ../inspector/virt-inspector.pod:483
msgid ""
"To confuse matters further, in Red Hat Enterprise Linux 6 we ship two "
"versions of virt-inspector with different names:"
msgstr ""
"To confuse matters further, in Red Hat Enterprise Linux 6 we ship two "
"versions of virt-inspector with different names:"

#. type: verbatim
#: ../inspector/virt-inspector.pod:486
#, no-wrap
msgid ""
" virt-inspector     Old Perl version.\n"
" virt-inspector2    New C version.\n"
"\n"
msgstr ""
" virt-inspector     Old Perl version.\n"
" virt-inspector2    New C version.\n"
"\n"

#. type: textblock
#: ../inspector/virt-inspector.pod:496
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<http://www.w3.org/TR/xpath/>, "
"L<base64(1)>, L<xmlstarlet(1)>, L<http://libguestfs.org/>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<http://www.w3.org/TR/xpath/>, "
"L<base64(1)>, L<xmlstarlet(1)>, L<http://libguestfs.org/>."

#. type: textblock
#: ../inspector/virt-inspector.pod:513
msgid "Matthew Booth L<mbooth@redhat.com>"
msgstr "Matthew Booth L<mbooth@redhat.com>"

#. type: textblock
#: ../java/examples/guestfs-java.pod:3
msgid "guestfs-java - How to use libguestfs from Java"
msgstr "guestfs-java - How to use libguestfs from Java"

#. type: verbatim
#: ../java/examples/guestfs-java.pod:7
#, no-wrap
msgid ""
" import com.redhat.et.libguestfs.*;\n"
" \n"
msgstr ""
" import com.redhat.et.libguestfs.*;\n"
" \n"

#. type: verbatim
#: ../java/examples/guestfs-java.pod:9
#, no-wrap
msgid ""
" GuestFS g = new GuestFS ();\n"
" g.add_drive (\"disk.img\",\n"
"              new HashMap<String,Object>() {\n"
"                {\n"
"                    put (\"readonly\", Boolean.TRUE);\n"
"                    put (\"format\", \"raw\");\n"
"                }\n"
"              });\n"
" g.launch ();\n"
"\n"
msgstr ""
" GuestFS g = new GuestFS ();\n"
" g.add_drive (\"disk.img\",\n"
"              new HashMap<String,Object>() {\n"
"                {\n"
"                    put (\"readonly\", Boolean.TRUE);\n"
"                    put (\"format\", \"raw\");\n"
"                }\n"
"              });\n"
" g.launch ();\n"
"\n"

#. type: textblock
#: ../java/examples/guestfs-java.pod:21
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 ""
"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)>."

#. type: =head2
#: ../java/examples/guestfs-java.pod:26 ../ocaml/examples/guestfs-ocaml.pod:51
msgid "CLOSING THE HANDLE"
msgstr "CLOSING THE HANDLE"

#. type: textblock
#: ../java/examples/guestfs-java.pod:28
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 ""
"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."

#. type: =head2
#: ../java/examples/guestfs-java.pod:33 ../ocaml/examples/guestfs-ocaml.pod:58
#: ../python/examples/guestfs-python.pod:30
#: ../ruby/examples/guestfs-ruby.pod:20
msgid "EXCEPTIONS"
msgstr "EXCEPTIONS"

#. type: textblock
#: ../java/examples/guestfs-java.pod:35
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 ""
"Errors from libguestfs functions are mapped into the C<LibGuestFSException> "
"exception.  This has a single parameter which is the error message (a "
"C<String>)."

#. type: textblock
#: ../java/examples/guestfs-java.pod:39
msgid "Calling any method on a closed handle raises the same exception."
msgstr "Calling any method on a closed handle raises the same exception."

#. type: textblock
#: ../java/examples/guestfs-java.pod:41
msgid ""
"If L<malloc(3)> or some other allocation fails inside the bindings, the "
"C<LibGuestFSOutOfMemory> exception is thrown."
msgstr ""

#. type: =head2
#: ../java/examples/guestfs-java.pod:44 ../lib/guestfs.pod:2406
#: ../lua/examples/guestfs-lua.pod:98
msgid "EVENTS"
msgstr "EVENTS"

#. type: textblock
#: ../java/examples/guestfs-java.pod:46
msgid ""
"The L<libguestfs event API|guestfs(3)/EVENTS> is fully supported from Java.  "
"Create a class which implements the C<EventCallback> interface, create an "
"instance of this class, and then call the C<GuestFS#set_event_callback> "
"method to register this instance.  The C<event> method of the class is "
"called when libguestfs generates an event."
msgstr ""
"The L<libguestfs event API|guestfs(3)/EVENTS> is fully supported from Java.  "
"Create a class which implements the C<EventCallback> interface, create an "
"instance of this class, and then call the C<GuestFS#set_event_callback> "
"method to register this instance.  The C<event> method of the class is "
"called when libguestfs generates an event."

#. type: textblock
#: ../java/examples/guestfs-java.pod:52
msgid "For example, this will print all trace events:"
msgstr "For example, this will print all trace events:"

#. type: verbatim
#: ../java/examples/guestfs-java.pod:54
#, no-wrap
msgid ""
" GuestFS g = new GuestFS ();\n"
" g.set_trace (true);\n"
" g.set_event_callback (\n"
"   new EventCallback () {\n"
"     public void event (long event, int eh,\n"
"                        String buffer, long[] array) {\n"
"       System.out.println (GuestFS.eventToString (event) +\n"
"                           \": \" + buffer);\n"
"     }\n"
"   },\n"
"   GuestFS.EVENT_TRACE);\n"
" g.add_drive_ro (\"disk.img\");\n"
" // etc.\n"
"\n"
msgstr ""
" GuestFS g = new GuestFS ();\n"
" g.set_trace (true);\n"
" g.set_event_callback (\n"
"   new EventCallback () {\n"
"     public void event (long event, int eh,\n"
"                        String buffer, long[] array) {\n"
"       System.out.println (GuestFS.eventToString (event) +\n"
"                           \": \" + buffer);\n"
"     }\n"
"   },\n"
"   GuestFS.EVENT_TRACE);\n"
" g.add_drive_ro (\"disk.img\");\n"
" // etc.\n"
"\n"

#. type: textblock
#: ../java/examples/guestfs-java.pod:68
msgid "The output looks similar to this:"
msgstr "The output looks similar to this:"

#. type: verbatim
#: ../java/examples/guestfs-java.pod:70
#, no-wrap
msgid ""
" EVENT_TRACE: add_drive_ro \"disk.img\"\n"
" EVENT_TRACE: add_drive_ro = 0\n"
" // etc.\n"
"\n"
msgstr ""
" EVENT_TRACE: add_drive_ro \"disk.img\"\n"
" EVENT_TRACE: add_drive_ro = 0\n"
" // etc.\n"
"\n"

#. type: textblock
#: ../java/examples/guestfs-java.pod:76
msgid ""
"Some methods take an optional map of optional parameters.  An example of "
"this is C<g.add_drive> which can be called in one of two ways:"
msgstr ""

#. type: verbatim
#: ../java/examples/guestfs-java.pod:79
#, no-wrap
msgid ""
" g.add_drive (\"disk.img\");\n"
"\n"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:81
msgid "or with optional arguments:"
msgstr ""

#. type: verbatim
#: ../java/examples/guestfs-java.pod:83
#, no-wrap
msgid ""
" Map<String, Object> optargs =\n"
"   new HashMap<String, Object>() {\n"
"   {\n"
"     put (\"readonly\", Boolean.TRUE);\n"
"     put (\"format\", \"raw\");\n"
"   }\n"
" };\n"
" g.add_drive (\"disk.img\", optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:92
msgid ""
"For more information on this topic, see L<guestfs(3)/CALLS WITH OPTIONAL "
"ARGUMENTS>."
msgstr ""

#. type: =head3
#: ../java/examples/guestfs-java.pod:95
msgid "Optional handle parameters"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:97
msgid ""
"When creating the handle you can also pass a map of optional parameters:"
msgstr ""

#. type: verbatim
#: ../java/examples/guestfs-java.pod:100
#, no-wrap
msgid ""
" Map<String, Object> optargs =\n"
"   new HashMap<String, Object>() {\n"
"   {\n"
"     put (\"close_on_exit\", Boolean.FALSE);\n"
"     put (\"environment\", Boolean.TRUE);\n"
"   }\n"
" };\n"
" GuestFS g = new GuestFS (optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:109
msgid "For more information, see L<guestfs(3)/guestfs_create_flags>."
msgstr ""

#. type: =head1
#: ../java/examples/guestfs-java.pod:111
msgid "COMPILING AND RUNNING"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:113
msgid ""
"Libguestfs for Java is a Java Native Interface (JNI) extension, supplied in "
"three parts:"
msgstr ""

#. type: =item
#: ../java/examples/guestfs-java.pod:118
msgid "F<libguestfs.jar>"
msgstr ""

#. type: =item
#: ../java/examples/guestfs-java.pod:120
msgid "F<libguestfs-I<VERSION>.jar>"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:122
msgid ""
"The pure Java JAR file which contains several classes, the primary one being "
"C<com.redhat.et.libguestfs.GuestFS>.  Upstream, the JAR file contains a "
"version number in the filename, but some Linux distros may rename it without "
"the version number."
msgstr ""

#. type: =item
#: ../java/examples/guestfs-java.pod:127
msgid "F<libguestfs_jni.so>"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:129
msgid ""
"The JNI code (written in C).  This contains private native functions that "
"interface between Java code and the regular libguestfs C library.  You "
"should B<not> call these directly."
msgstr ""

#. type: =item
#: ../java/examples/guestfs-java.pod:133
msgid "F<libguestfs.so>"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:135
msgid "The regular libguestfs C library."
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:139
msgid ""
"To compile your Java program, you need to locate the JAR file and add it to "
"the class path.  For example:"
msgstr ""

#. type: verbatim
#: ../java/examples/guestfs-java.pod:142
#, no-wrap
msgid ""
" export CLASSPATH=/usr/share/java/libguestfs.jar\n"
" javac MyProgram.java\n"
"\n"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:145
msgid ""
"To run your Java program, you also need to ensure that the JAR file is on "
"the class path, as well as the path of your program.  For example:"
msgstr ""

#. type: verbatim
#: ../java/examples/guestfs-java.pod:148
#, no-wrap
msgid ""
" export CLASSPATH=.:/usr/share/java/libguestfs.jar\n"
" java MyProgram\n"
"\n"
msgstr ""

#. type: textblock
#: ../java/examples/guestfs-java.pod:161
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-"
"gobject(3)>, L<guestfs-golang(3)>, L<guestfs-lua(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: verbatim
#: ../lib/guestfs-actions.pod:3 ../lib/guestfs-availability.pod:3
#: ../lib/guestfs-structs.pod:3
#, no-wrap
msgid ""
"libguestfs generated file\n"
" WARNING: THIS FILE IS GENERATED FROM THE FOLLOWING FILES:\n"
"          generator/c.ml\n"
"          and from the code in the generator/ subdirectory.\n"
" ANY CHANGES YOU MAKE TO THIS FILE WILL BE LOST.\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:27
msgid "guestfs_acl_delete_def_file"
msgstr "guestfs_acl_delete_def_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:29
#, no-wrap
msgid ""
" int\n"
" guestfs_acl_delete_def_file (guestfs_h *g,\n"
"                              const char *dir);\n"
"\n"
msgstr ""
" int\n"
" guestfs_acl_delete_def_file (guestfs_h *g,\n"
"                              const char *dir);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:36 ../lib/guestfs-actions.pod:121
#: ../lib/guestfs-actions.pod:146 ../lib/guestfs-actions.pod:590
#: ../lib/guestfs-actions.pod:627 ../lib/guestfs-actions.pod:648
#: ../lib/guestfs-actions.pod:676 ../lib/guestfs-actions.pod:719
#: ../lib/guestfs-actions.pod:815 ../lib/guestfs-actions.pod:829
#: ../lib/guestfs-actions.pod:949 ../lib/guestfs-actions.pod:969
#: ../lib/guestfs-actions.pod:998 ../lib/guestfs-actions.pod:1043
#: ../lib/guestfs-actions.pod:1071 ../lib/guestfs-actions.pod:1089
#: ../lib/guestfs-actions.pod:1134 ../lib/guestfs-actions.pod:1233
#: ../lib/guestfs-actions.pod:1267 ../lib/guestfs-actions.pod:1281
#: ../lib/guestfs-actions.pod:1300 ../lib/guestfs-actions.pod:1379
#: ../lib/guestfs-actions.pod:1481 ../lib/guestfs-actions.pod:1506
#: ../lib/guestfs-actions.pod:1521 ../lib/guestfs-actions.pod:1535
#: ../lib/guestfs-actions.pod:1549 ../lib/guestfs-actions.pod:1561
#: ../lib/guestfs-actions.pod:1576 ../lib/guestfs-actions.pod:1591
#: ../lib/guestfs-actions.pod:1625 ../lib/guestfs-actions.pod:1642
#: ../lib/guestfs-actions.pod:1658 ../lib/guestfs-actions.pod:1682
#: ../lib/guestfs-actions.pod:1744 ../lib/guestfs-actions.pod:1801
#: ../lib/guestfs-actions.pod:1826 ../lib/guestfs-actions.pod:1873
#: ../lib/guestfs-actions.pod:1915 ../lib/guestfs-actions.pod:1931
#: ../lib/guestfs-actions.pod:1947 ../lib/guestfs-actions.pod:1963
#: ../lib/guestfs-actions.pod:1980 ../lib/guestfs-actions.pod:2014
#: ../lib/guestfs-actions.pod:2029 ../lib/guestfs-actions.pod:2052
#: ../lib/guestfs-actions.pod:2067 ../lib/guestfs-actions.pod:2082
#: ../lib/guestfs-actions.pod:2097 ../lib/guestfs-actions.pod:2112
#: ../lib/guestfs-actions.pod:2129 ../lib/guestfs-actions.pod:2163
#: ../lib/guestfs-actions.pod:2202 ../lib/guestfs-actions.pod:2239
#: ../lib/guestfs-actions.pod:2290 ../lib/guestfs-actions.pod:2354
#: ../lib/guestfs-actions.pod:2393 ../lib/guestfs-actions.pod:2408
#: ../lib/guestfs-actions.pod:2425 ../lib/guestfs-actions.pod:2510
#: ../lib/guestfs-actions.pod:2690 ../lib/guestfs-actions.pod:2710
#: ../lib/guestfs-actions.pod:2728 ../lib/guestfs-actions.pod:2837
#: ../lib/guestfs-actions.pod:2896 ../lib/guestfs-actions.pod:2942
#: ../lib/guestfs-actions.pod:2996 ../lib/guestfs-actions.pod:3073
#: ../lib/guestfs-actions.pod:3128 ../lib/guestfs-actions.pod:3183
#: ../lib/guestfs-actions.pod:3243 ../lib/guestfs-actions.pod:3289
#: ../lib/guestfs-actions.pod:3310 ../lib/guestfs-actions.pod:3335
#: ../lib/guestfs-actions.pod:3354 ../lib/guestfs-actions.pod:3368
#: ../lib/guestfs-actions.pod:3387 ../lib/guestfs-actions.pod:3427
#: ../lib/guestfs-actions.pod:3479 ../lib/guestfs-actions.pod:3601
#: ../lib/guestfs-actions.pod:3716 ../lib/guestfs-actions.pod:3758
#: ../lib/guestfs-actions.pod:3813 ../lib/guestfs-actions.pod:3847
#: ../lib/guestfs-actions.pod:3872 ../lib/guestfs-actions.pod:3938
#: ../lib/guestfs-actions.pod:3981 ../lib/guestfs-actions.pod:4113
#: ../lib/guestfs-actions.pod:4129 ../lib/guestfs-actions.pod:4158
#: ../lib/guestfs-actions.pod:4185 ../lib/guestfs-actions.pod:4644
#: ../lib/guestfs-actions.pod:4665 ../lib/guestfs-actions.pod:4682
#: ../lib/guestfs-actions.pod:4759 ../lib/guestfs-actions.pod:4900
#: ../lib/guestfs-actions.pod:5887 ../lib/guestfs-actions.pod:5962
#: ../lib/guestfs-actions.pod:5984 ../lib/guestfs-actions.pod:6038
#: ../lib/guestfs-actions.pod:6134 ../lib/guestfs-actions.pod:6183
#: ../lib/guestfs-actions.pod:6424 ../lib/guestfs-actions.pod:6489
#: ../lib/guestfs-actions.pod:6530 ../lib/guestfs-actions.pod:8228
#: ../lib/guestfs-actions.pod:8334 ../lib/guestfs-actions.pod:8354
#: ../lib/guestfs-actions.pod:8398 ../lib/guestfs-actions.pod:8415
#: ../lib/guestfs-actions.pod:8440 ../lib/guestfs-actions.pod:8461
#: ../lib/guestfs-actions.pod:8533 ../lib/guestfs-actions.pod:8935
#: ../lib/guestfs-actions.pod:8949 ../lib/guestfs-actions.pod:8962
#: ../lib/guestfs-actions.pod:8976 ../lib/guestfs-actions.pod:8991
#: ../lib/guestfs-actions.pod:9029 ../lib/guestfs-actions.pod:9046
#: ../lib/guestfs-actions.pod:9179 ../lib/guestfs-actions.pod:9202
#: ../lib/guestfs-actions.pod:9222 ../lib/guestfs-actions.pod:9245
#: ../lib/guestfs-actions.pod:9268 ../lib/guestfs-actions.pod:9306
#: ../lib/guestfs-actions.pod:9328 ../lib/guestfs-actions.pod:9366
#: ../lib/guestfs-actions.pod:9386 ../lib/guestfs-actions.pod:9424
#: ../lib/guestfs-actions.pod:9436 ../lib/guestfs-actions.pod:9462
#: ../lib/guestfs-actions.pod:9495 ../lib/guestfs-actions.pod:9514
#: ../lib/guestfs-actions.pod:9530 ../lib/guestfs-actions.pod:9545
#: ../lib/guestfs-actions.pod:9565 ../lib/guestfs-actions.pod:9750
#: ../lib/guestfs-actions.pod:9895 ../lib/guestfs-actions.pod:9910
#: ../lib/guestfs-actions.pod:9930 ../lib/guestfs-actions.pod:9943
#: ../lib/guestfs-actions.pod:10036 ../lib/guestfs-actions.pod:10086
#: ../lib/guestfs-actions.pod:10111 ../lib/guestfs-actions.pod:10136
#: ../lib/guestfs-actions.pod:10162 ../lib/guestfs-actions.pod:10183
#: ../lib/guestfs-actions.pod:10204 ../lib/guestfs-actions.pod:10227
#: ../lib/guestfs-actions.pod:10308 ../lib/guestfs-actions.pod:10359
#: ../lib/guestfs-actions.pod:10392 ../lib/guestfs-actions.pod:10431
#: ../lib/guestfs-actions.pod:10480 ../lib/guestfs-actions.pod:10511
#: ../lib/guestfs-actions.pod:10536 ../lib/guestfs-actions.pod:10561
#: ../lib/guestfs-actions.pod:10605 ../lib/guestfs-actions.pod:10669
#: ../lib/guestfs-actions.pod:10715 ../lib/guestfs-actions.pod:10735
#: ../lib/guestfs-actions.pod:10753 ../lib/guestfs-actions.pod:10828
#: ../lib/guestfs-actions.pod:10864 ../lib/guestfs-actions.pod:10890
#: ../lib/guestfs-actions.pod:10959 ../lib/guestfs-actions.pod:11007
#: ../lib/guestfs-actions.pod:11022 ../lib/guestfs-actions.pod:11042
#: ../lib/guestfs-actions.pod:11056 ../lib/guestfs-actions.pod:11073
#: ../lib/guestfs-actions.pod:11162 ../lib/guestfs-actions.pod:11225
#: ../lib/guestfs-actions.pod:11245 ../lib/guestfs-actions.pod:11286
#: ../lib/guestfs-actions.pod:11341 ../lib/guestfs-actions.pod:11426
#: ../lib/guestfs-actions.pod:11472 ../lib/guestfs-actions.pod:11496
#: ../lib/guestfs-actions.pod:11515 ../lib/guestfs-actions.pod:11543
#: ../lib/guestfs-actions.pod:11560 ../lib/guestfs-actions.pod:11578
#: ../lib/guestfs-actions.pod:11595 ../lib/guestfs-actions.pod:11840
#: ../lib/guestfs-actions.pod:11901 ../lib/guestfs-actions.pod:11920
#: ../lib/guestfs-actions.pod:11935 ../lib/guestfs-actions.pod:11952
#: ../lib/guestfs-actions.pod:11973 ../lib/guestfs-actions.pod:11992
#: ../lib/guestfs-actions.pod:12014 ../lib/guestfs-actions.pod:12039
#: ../lib/guestfs-actions.pod:12057 ../lib/guestfs-actions.pod:12109
#: ../lib/guestfs-actions.pod:12173 ../lib/guestfs-actions.pod:12187
#: ../lib/guestfs-actions.pod:12204 ../lib/guestfs-actions.pod:12224
#: ../lib/guestfs-actions.pod:12240 ../lib/guestfs-actions.pod:12257
#: ../lib/guestfs-actions.pod:12558 ../lib/guestfs-actions.pod:12603
#: ../lib/guestfs-actions.pod:12619 ../lib/guestfs-actions.pod:12637
#: ../lib/guestfs-actions.pod:12652 ../lib/guestfs-actions.pod:12673
#: ../lib/guestfs-actions.pod:12689 ../lib/guestfs-actions.pod:12701
#: ../lib/guestfs-actions.pod:12720 ../lib/guestfs-actions.pod:12734
#: ../lib/guestfs-actions.pod:12746 ../lib/guestfs-actions.pod:12760
#: ../lib/guestfs-actions.pod:12803 ../lib/guestfs-actions.pod:12868
#: ../lib/guestfs-actions.pod:12940 ../lib/guestfs-actions.pod:12983
#: ../lib/guestfs-actions.pod:13004 ../lib/guestfs-actions.pod:13026
#: ../lib/guestfs-actions.pod:13063 ../lib/guestfs-actions.pod:13109
#: ../lib/guestfs-actions.pod:13131 ../lib/guestfs-actions.pod:13149
#: ../lib/guestfs-actions.pod:13166 ../lib/guestfs-actions.pod:13183
#: ../lib/guestfs-actions.pod:13210 ../lib/guestfs-actions.pod:13230
#: ../lib/guestfs-actions.pod:13260 ../lib/guestfs-actions.pod:13299
#: ../lib/guestfs-actions.pod:13338 ../lib/guestfs-actions.pod:13363
#: ../lib/guestfs-actions.pod:13389 ../lib/guestfs-actions.pod:13418
#: ../lib/guestfs-actions.pod:13452 ../lib/guestfs-actions.pod:13506
#: ../lib/guestfs-actions.pod:13523 ../lib/guestfs-actions.pod:13566
#: ../lib/guestfs-actions.pod:13587 ../lib/guestfs-actions.pod:13606
#: ../lib/guestfs-actions.pod:13623 ../lib/guestfs-actions.pod:13644
#: ../lib/guestfs-actions.pod:13661 ../lib/guestfs-actions.pod:13696
#: ../lib/guestfs-actions.pod:13720 ../lib/guestfs-actions.pod:13746
#: ../lib/guestfs-actions.pod:13762 ../lib/guestfs-actions.pod:13779
#: ../lib/guestfs-actions.pod:13803 ../lib/guestfs-actions.pod:13823
#: ../lib/guestfs-actions.pod:13842 ../lib/guestfs-actions.pod:13861
#: ../lib/guestfs-actions.pod:13883 ../lib/guestfs-actions.pod:13905
#: ../lib/guestfs-actions.pod:13952 ../lib/guestfs-actions.pod:13979
#: ../lib/guestfs-actions.pod:14009 ../lib/guestfs-actions.pod:14134
#: ../lib/guestfs-actions.pod:14146 ../lib/guestfs-actions.pod:14298
#: ../lib/guestfs-actions.pod:14310 ../lib/guestfs-actions.pod:14323
#: ../lib/guestfs-actions.pod:14336 ../lib/guestfs-actions.pod:14361
#: ../lib/guestfs-actions.pod:14374 ../lib/guestfs-actions.pod:14387
#: ../lib/guestfs-actions.pod:14400 ../lib/guestfs-actions.pod:14418
#: ../lib/guestfs-actions.pod:14466 ../lib/guestfs-actions.pod:14596
#: ../lib/guestfs-actions.pod:14696 ../lib/guestfs-actions.pod:14741
#: ../lib/guestfs-actions.pod:14762 ../lib/guestfs-actions.pod:14779
#: ../lib/guestfs-actions.pod:14792 ../lib/guestfs-actions.pod:14812
#: ../lib/guestfs-actions.pod:14912 ../lib/guestfs-actions.pod:14977
#: ../lib/guestfs-actions.pod:15001 ../lib/guestfs-actions.pod:15067
#: ../lib/guestfs-actions.pod:15102 ../lib/guestfs-actions.pod:15124
#: ../lib/guestfs-actions.pod:15162 ../lib/guestfs-actions.pod:15196
#: ../lib/guestfs-actions.pod:15237 ../lib/guestfs-actions.pod:15268
#: ../lib/guestfs-actions.pod:15415 ../lib/guestfs-actions.pod:15433
#: ../lib/guestfs-actions.pod:15448 ../lib/guestfs-actions.pod:15462
#: ../lib/guestfs-actions.pod:15479 ../lib/guestfs-actions.pod:15559
#: ../lib/guestfs-actions.pod:15575 ../lib/guestfs-actions.pod:15633
#: ../lib/guestfs-actions.pod:15674 ../lib/guestfs-actions.pod:15732
#: ../lib/guestfs-actions.pod:15752 ../lib/guestfs-actions.pod:15769
#: ../lib/guestfs-actions.pod:15799 ../lib/guestfs-actions.pod:15836
#: ../lib/guestfs-actions.pod:15892 ../lib/guestfs-actions.pod:16016
#: ../lib/guestfs-actions.pod:16044 ../lib/guestfs-actions.pod:16165
#: ../lib/guestfs-actions.pod:16188 ../lib/guestfs-actions.pod:16213
#: ../lib/guestfs-actions.pod:16239
msgid "This function returns 0 on success or -1 on error."
msgstr "This function returns 0 on success or -1 on error."

#. type: textblock
#: ../lib/guestfs-actions.pod:38 ../lib/guestfs-actions.pod:72
#: ../lib/guestfs-actions.pod:123
msgid ""
"This function depends on the feature C<acl>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:41 ../lib/guestfs-actions.pod:75
#: ../lib/guestfs-actions.pod:126 ../lib/guestfs-actions.pod:2497
#: ../lib/guestfs-actions.pod:2515
msgid "(Added in 1.19.63)"
msgstr "(Added in 1.19.63)"

#. type: =head2
#: ../lib/guestfs-actions.pod:43
msgid "guestfs_acl_get_file"
msgstr "guestfs_acl_get_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:45
#, no-wrap
msgid ""
" char *\n"
" guestfs_acl_get_file (guestfs_h *g,\n"
"                       const char *path,\n"
"                       const char *acltype);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_acl_get_file (guestfs_h *g,\n"
"                       const char *path,\n"
"                       const char *acltype);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:69 ../lib/guestfs-actions.pod:885
#: ../lib/guestfs-actions.pod:983 ../lib/guestfs-actions.pod:2475
#: ../lib/guestfs-actions.pod:2491 ../lib/guestfs-actions.pod:2574
#: ../lib/guestfs-actions.pod:2592 ../lib/guestfs-actions.pod:2649
#: ../lib/guestfs-actions.pod:2665 ../lib/guestfs-actions.pod:2787
#: ../lib/guestfs-actions.pod:3512 ../lib/guestfs-actions.pod:3529
#: ../lib/guestfs-actions.pod:3646 ../lib/guestfs-actions.pod:3697
#: ../lib/guestfs-actions.pod:3998 ../lib/guestfs-actions.pod:4279
#: ../lib/guestfs-actions.pod:4419 ../lib/guestfs-actions.pod:4801
#: ../lib/guestfs-actions.pod:4818 ../lib/guestfs-actions.pod:4961
#: ../lib/guestfs-actions.pod:4988 ../lib/guestfs-actions.pod:5010
#: ../lib/guestfs-actions.pod:5040 ../lib/guestfs-actions.pod:5177
#: ../lib/guestfs-actions.pod:5218 ../lib/guestfs-actions.pod:5239
#: ../lib/guestfs-actions.pod:5254 ../lib/guestfs-actions.pod:5283
#: ../lib/guestfs-actions.pod:5300 ../lib/guestfs-actions.pod:5317
#: ../lib/guestfs-actions.pod:5505 ../lib/guestfs-actions.pod:5531
#: ../lib/guestfs-actions.pod:5587 ../lib/guestfs-actions.pod:5945
#: ../lib/guestfs-actions.pod:6094 ../lib/guestfs-actions.pod:6238
#: ../lib/guestfs-actions.pod:6262 ../lib/guestfs-actions.pod:6310
#: ../lib/guestfs-actions.pod:6552 ../lib/guestfs-actions.pod:6730
#: ../lib/guestfs-actions.pod:6840 ../lib/guestfs-actions.pod:6859
#: ../lib/guestfs-actions.pod:7067 ../lib/guestfs-actions.pod:7095
#: ../lib/guestfs-actions.pod:7123 ../lib/guestfs-actions.pod:7144
#: ../lib/guestfs-actions.pod:7178 ../lib/guestfs-actions.pod:7257
#: ../lib/guestfs-actions.pod:7277 ../lib/guestfs-actions.pod:7300
#: ../lib/guestfs-actions.pod:7323 ../lib/guestfs-actions.pod:7343
#: ../lib/guestfs-actions.pod:8497 ../lib/guestfs-actions.pod:8595
#: ../lib/guestfs-actions.pod:8636 ../lib/guestfs-actions.pod:8898
#: ../lib/guestfs-actions.pod:8921 ../lib/guestfs-actions.pod:9347
#: ../lib/guestfs-actions.pod:9408 ../lib/guestfs-actions.pod:9619
#: ../lib/guestfs-actions.pod:9972 ../lib/guestfs-actions.pod:10793
#: ../lib/guestfs-actions.pod:11091 ../lib/guestfs-actions.pod:11110
#: ../lib/guestfs-actions.pod:11627 ../lib/guestfs-actions.pod:11661
#: ../lib/guestfs-actions.pod:11680 ../lib/guestfs-actions.pod:11718
#: ../lib/guestfs-actions.pod:11736 ../lib/guestfs-actions.pod:11755
#: ../lib/guestfs-actions.pod:12076 ../lib/guestfs-actions.pod:12311
#: ../lib/guestfs-actions.pod:12487 ../lib/guestfs-actions.pod:12532
#: ../lib/guestfs-actions.pod:14027 ../lib/guestfs-actions.pod:14043
#: ../lib/guestfs-actions.pod:14067 ../lib/guestfs-actions.pod:14091
#: ../lib/guestfs-actions.pod:15341 ../lib/guestfs-actions.pod:15378
#: ../lib/guestfs-actions.pod:15395 ../lib/guestfs-actions.pod:15645
#: ../lib/guestfs-actions.pod:16320
msgid ""
"This function returns a string, or NULL on error.  I<The caller must free "
"the returned string after use>."
msgstr ""
"This function returns a string, or NULL on error.  I<The caller must free "
"the returned string after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:77
msgid "guestfs_acl_set_file"
msgstr "guestfs_acl_set_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:79
#, no-wrap
msgid ""
" int\n"
" guestfs_acl_set_file (guestfs_h *g,\n"
"                       const char *path,\n"
"                       const char *acltype,\n"
"                       const char *acl);\n"
"\n"
msgstr ""
" int\n"
" guestfs_acl_set_file (guestfs_h *g,\n"
"                       const char *path,\n"
"                       const char *acltype,\n"
"                       const char *acl);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:117
msgid ""
"You should use numeric UIDs and GIDs.  To map usernames and groupnames to "
"the correct numeric ID in the context of the guest, use the Augeas functions "
"(see C<guestfs_aug_init>)."
msgstr ""
"You should use numeric UIDs and GIDs.  To map usernames and groupnames to "
"the correct numeric ID in the context of the guest, use the Augeas functions "
"(see C<guestfs_aug_init>)."

#. type: =head2
#: ../lib/guestfs-actions.pod:128
msgid "guestfs_add_cdrom"
msgstr "guestfs_add_cdrom"

#. type: verbatim
#: ../lib/guestfs-actions.pod:130
#, no-wrap
msgid ""
" int\n"
" guestfs_add_cdrom (guestfs_h *g,\n"
"                    const char *filename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_cdrom (guestfs_h *g,\n"
"                    const char *filename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:134
msgid ""
"I<This function is deprecated.> In new code, use the L</"
"guestfs_add_drive_ro> call instead."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:143
msgid ""
"The image is added as read-only drive, so this function is equivalent of "
"C<guestfs_add_drive_ro>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:148 ../lib/guestfs-actions.pod:296
#: ../lib/guestfs-actions.pod:592 ../lib/guestfs-actions.pod:2944
#: ../lib/guestfs-actions.pod:4975 ../lib/guestfs-actions.pod:5385
#: ../lib/guestfs-actions.pod:5568 ../lib/guestfs-actions.pod:8400
#: ../lib/guestfs-actions.pod:8422 ../lib/guestfs-actions.pod:10866
#: ../lib/guestfs-actions.pod:13151 ../lib/guestfs-actions.pod:13625
#: ../lib/guestfs-actions.pod:13863 ../lib/guestfs-actions.pod:14420
#: ../lib/guestfs-actions.pod:14781 ../lib/guestfs-actions.pod:15676
msgid "(Added in 0.3)"
msgstr "(Added in 0.3)"

#. type: =head2
#: ../lib/guestfs-actions.pod:150
msgid "guestfs_add_domain"
msgstr "guestfs_add_domain"

#. type: verbatim
#: ../lib/guestfs-actions.pod:152
#, no-wrap
msgid ""
" int\n"
" guestfs_add_domain (guestfs_h *g,\n"
"                     const char *dom,\n"
"                     ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_domain (guestfs_h *g,\n"
"                     const char *dom,\n"
"                     ...);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:157 ../lib/guestfs-actions.pod:306
#: ../lib/guestfs-actions.pod:659 ../lib/guestfs-actions.pod:730
#: ../lib/guestfs-actions.pod:1121 ../lib/guestfs-actions.pod:1672
#: ../lib/guestfs-actions.pod:1718 ../lib/guestfs-actions.pod:1815
#: ../lib/guestfs-actions.pod:1863 ../lib/guestfs-actions.pod:2190
#: ../lib/guestfs-actions.pod:2338 ../lib/guestfs-actions.pod:2824
#: ../lib/guestfs-actions.pod:2876 ../lib/guestfs-actions.pod:2954
#: ../lib/guestfs-actions.pod:3032 ../lib/guestfs-actions.pod:3114
#: ../lib/guestfs-actions.pod:3169 ../lib/guestfs-actions.pod:3224
#: ../lib/guestfs-actions.pod:3399 ../lib/guestfs-actions.pod:3543
#: ../lib/guestfs-actions.pod:3735 ../lib/guestfs-actions.pod:3908
#: ../lib/guestfs-actions.pod:4869 ../lib/guestfs-actions.pod:5671
#: ../lib/guestfs-actions.pod:5747 ../lib/guestfs-actions.pod:6167
#: ../lib/guestfs-actions.pod:6872 ../lib/guestfs-actions.pod:7698
#: ../lib/guestfs-actions.pod:7778 ../lib/guestfs-actions.pod:7854
#: ../lib/guestfs-actions.pod:7917 ../lib/guestfs-actions.pod:7979
#: ../lib/guestfs-actions.pod:8083 ../lib/guestfs-actions.pod:9685
#: ../lib/guestfs-actions.pod:9984 ../lib/guestfs-actions.pod:10256
#: ../lib/guestfs-actions.pod:10370 ../lib/guestfs-actions.pod:10576
#: ../lib/guestfs-actions.pod:10656 ../lib/guestfs-actions.pod:10764
#: ../lib/guestfs-actions.pod:10876 ../lib/guestfs-actions.pod:10925
#: ../lib/guestfs-actions.pod:11260 ../lib/guestfs-actions.pod:11324
#: ../lib/guestfs-actions.pod:11390 ../lib/guestfs-actions.pod:12544
#: ../lib/guestfs-actions.pod:12772 ../lib/guestfs-actions.pod:12842
#: ../lib/guestfs-actions.pod:12907 ../lib/guestfs-actions.pod:13041
#: ../lib/guestfs-actions.pod:13272 ../lib/guestfs-actions.pod:14429
#: ../lib/guestfs-actions.pod:14559 ../lib/guestfs-actions.pod:14646
#: ../lib/guestfs-actions.pod:14823 ../lib/guestfs-actions.pod:15055
#: ../lib/guestfs-actions.pod:15112 ../lib/guestfs-actions.pod:15813
#: ../lib/guestfs-actions.pod:15872 ../lib/guestfs-actions.pod:15950
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 ""
"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>."

#. type: verbatim
#: ../lib/guestfs-actions.pod:162
#, 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"
" GUESTFS_ADD_DOMAIN_READONLYDISK, const char *readonlydisk,\n"
" GUESTFS_ADD_DOMAIN_CACHEMODE, const char *cachemode,\n"
" GUESTFS_ADD_DOMAIN_DISCARD, const char *discard,\n"
" GUESTFS_ADD_DOMAIN_COPYONREAD, int copyonread,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:172
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 ""
"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."

#. type: textblock
#: ../lib/guestfs-actions.pod:253 ../lib/guestfs-actions.pod:773
msgid ""
"If present, the value of C<logical_block_size> attribute of E<lt>blockio/"
"E<gt> tag in libvirt XML will be passed as C<blocksize> parameter to "
"C<guestfs_add_drive_opts>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:257 ../lib/guestfs-actions.pod:777
msgid ""
"The other optional parameters are passed directly through to "
"C<guestfs_add_drive_opts>."
msgstr ""
"The other optional parameters are passed directly through to "
"C<guestfs_add_drive_opts>."

#. type: textblock
#: ../lib/guestfs-actions.pod:260 ../lib/guestfs-actions.pod:780
#: ../lib/guestfs-actions.pod:872 ../lib/guestfs-actions.pod:1057
#: ../lib/guestfs-actions.pod:1109 ../lib/guestfs-actions.pod:1399
#: ../lib/guestfs-actions.pod:1430 ../lib/guestfs-actions.pod:1448
#: ../lib/guestfs-actions.pod:1467 ../lib/guestfs-actions.pod:2254
#: ../lib/guestfs-actions.pod:2441 ../lib/guestfs-actions.pod:2747
#: ../lib/guestfs-actions.pod:3497 ../lib/guestfs-actions.pod:3679
#: ../lib/guestfs-actions.pod:3892 ../lib/guestfs-actions.pod:4436
#: ../lib/guestfs-actions.pod:4858 ../lib/guestfs-actions.pod:5198
#: ../lib/guestfs-actions.pod:5357 ../lib/guestfs-actions.pod:5408
#: ../lib/guestfs-actions.pod:5486 ../lib/guestfs-actions.pod:5520
#: ../lib/guestfs-actions.pod:5555 ../lib/guestfs-actions.pod:6002
#: ../lib/guestfs-actions.pod:6057 ../lib/guestfs-actions.pod:6077
#: ../lib/guestfs-actions.pod:6112 ../lib/guestfs-actions.pod:6221
#: ../lib/guestfs-actions.pod:6280 ../lib/guestfs-actions.pod:6408
#: ../lib/guestfs-actions.pod:6990 ../lib/guestfs-actions.pod:7008
#: ../lib/guestfs-actions.pod:8277 ../lib/guestfs-actions.pod:8291
#: ../lib/guestfs-actions.pod:8375 ../lib/guestfs-actions.pod:9673
#: ../lib/guestfs-actions.pod:11178 ../lib/guestfs-actions.pod:11201
#: ../lib/guestfs-actions.pod:11645 ../lib/guestfs-actions.pod:11702
#: ../lib/guestfs-actions.pod:12095 ../lib/guestfs-actions.pod:12336
#: ../lib/guestfs-actions.pod:12362 ../lib/guestfs-actions.pod:15031
#: ../lib/guestfs-actions.pod:15360 ../lib/guestfs-actions.pod:15687
#: ../lib/guestfs-actions.pod:15700 ../lib/guestfs-actions.pod:15713
#: ../lib/guestfs-actions.pod:15980
msgid "On error this function returns -1."
msgstr "On error this function returns -1."

#. type: textblock
#: ../lib/guestfs-actions.pod:262
msgid "(Added in 1.7.4)"
msgstr "(Added in 1.7.4)"

#. type: =head2
#: ../lib/guestfs-actions.pod:264
msgid "guestfs_add_domain_va"
msgstr "guestfs_add_domain_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:266
#, no-wrap
msgid ""
" int\n"
" guestfs_add_domain_va (guestfs_h *g,\n"
"                        const char *dom,\n"
"                        va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_domain_va (guestfs_h *g,\n"
"                        const char *dom,\n"
"                        va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:271
msgid "This is the \"va_list variant\" of L</guestfs_add_domain>."
msgstr "This is the \"va_list variant\" of L</guestfs_add_domain>."

#. type: textblock
#: ../lib/guestfs-actions.pod:273 ../lib/guestfs-actions.pod:284
#: ../lib/guestfs-actions.pod:603 ../lib/guestfs-actions.pod:614
#: ../lib/guestfs-actions.pod:689 ../lib/guestfs-actions.pod:700
#: ../lib/guestfs-actions.pod:793 ../lib/guestfs-actions.pod:804
#: ../lib/guestfs-actions.pod:1148 ../lib/guestfs-actions.pod:1160
#: ../lib/guestfs-actions.pod:1698 ../lib/guestfs-actions.pod:1709
#: ../lib/guestfs-actions.pod:1760 ../lib/guestfs-actions.pod:1771
#: ../lib/guestfs-actions.pod:1842 ../lib/guestfs-actions.pod:1853
#: ../lib/guestfs-actions.pod:1890 ../lib/guestfs-actions.pod:1902
#: ../lib/guestfs-actions.pod:2218 ../lib/guestfs-actions.pod:2229
#: ../lib/guestfs-actions.pod:2371 ../lib/guestfs-actions.pod:2383
#: ../lib/guestfs-actions.pod:2852 ../lib/guestfs-actions.pod:2865
#: ../lib/guestfs-actions.pod:2911 ../lib/guestfs-actions.pod:2924
#: ../lib/guestfs-actions.pod:3010 ../lib/guestfs-actions.pod:3022
#: ../lib/guestfs-actions.pod:3092 ../lib/guestfs-actions.pod:3104
#: ../lib/guestfs-actions.pod:3147 ../lib/guestfs-actions.pod:3159
#: ../lib/guestfs-actions.pod:3202 ../lib/guestfs-actions.pod:3214
#: ../lib/guestfs-actions.pod:3262 ../lib/guestfs-actions.pod:3274
#: ../lib/guestfs-actions.pod:3441 ../lib/guestfs-actions.pod:3453
#: ../lib/guestfs-actions.pod:3616 ../lib/guestfs-actions.pod:3629
#: ../lib/guestfs-actions.pod:3782 ../lib/guestfs-actions.pod:3796
#: ../lib/guestfs-actions.pod:3951 ../lib/guestfs-actions.pod:3962
#: ../lib/guestfs-actions.pod:4916 ../lib/guestfs-actions.pod:4927
#: ../lib/guestfs-actions.pod:5712 ../lib/guestfs-actions.pod:5723
#: ../lib/guestfs-actions.pod:5804 ../lib/guestfs-actions.pod:5816
#: ../lib/guestfs-actions.pod:6199 ../lib/guestfs-actions.pod:6210
#: ../lib/guestfs-actions.pod:6956 ../lib/guestfs-actions.pod:6968
#: ../lib/guestfs-actions.pod:7731 ../lib/guestfs-actions.pod:7742
#: ../lib/guestfs-actions.pod:7807 ../lib/guestfs-actions.pod:7818
#: ../lib/guestfs-actions.pod:7884 ../lib/guestfs-actions.pod:7895
#: ../lib/guestfs-actions.pod:7946 ../lib/guestfs-actions.pod:7957
#: ../lib/guestfs-actions.pod:8009 ../lib/guestfs-actions.pod:8020
#: ../lib/guestfs-actions.pod:8112 ../lib/guestfs-actions.pod:8123
#: ../lib/guestfs-actions.pod:9767 ../lib/guestfs-actions.pod:9779
#: ../lib/guestfs-actions.pod:10049 ../lib/guestfs-actions.pod:10060
#: ../lib/guestfs-actions.pod:10322 ../lib/guestfs-actions.pod:10334
#: ../lib/guestfs-actions.pod:10408 ../lib/guestfs-actions.pod:10419
#: ../lib/guestfs-actions.pod:10622 ../lib/guestfs-actions.pod:10634
#: ../lib/guestfs-actions.pod:10682 ../lib/guestfs-actions.pod:10693
#: ../lib/guestfs-actions.pod:10807 ../lib/guestfs-actions.pod:10818
#: ../lib/guestfs-actions.pod:10904 ../lib/guestfs-actions.pod:10916
#: ../lib/guestfs-actions.pod:10972 ../lib/guestfs-actions.pod:10983
#: ../lib/guestfs-actions.pod:11303 ../lib/guestfs-actions.pod:11315
#: ../lib/guestfs-actions.pod:11357 ../lib/guestfs-actions.pod:11368
#: ../lib/guestfs-actions.pod:11442 ../lib/guestfs-actions.pod:11453
#: ../lib/guestfs-actions.pod:12571 ../lib/guestfs-actions.pod:12582
#: ../lib/guestfs-actions.pod:12820 ../lib/guestfs-actions.pod:12832
#: ../lib/guestfs-actions.pod:12885 ../lib/guestfs-actions.pod:12897
#: ../lib/guestfs-actions.pod:12957 ../lib/guestfs-actions.pod:12969
#: ../lib/guestfs-actions.pod:13080 ../lib/guestfs-actions.pod:13092
#: ../lib/guestfs-actions.pod:13313 ../lib/guestfs-actions.pod:13325
#: ../lib/guestfs-actions.pod:14482 ../lib/guestfs-actions.pod:14493
#: ../lib/guestfs-actions.pod:14610 ../lib/guestfs-actions.pod:14622
#: ../lib/guestfs-actions.pod:14710 ../lib/guestfs-actions.pod:14722
#: ../lib/guestfs-actions.pod:14925 ../lib/guestfs-actions.pod:14936
#: ../lib/guestfs-actions.pod:15080 ../lib/guestfs-actions.pod:15091
#: ../lib/guestfs-actions.pod:15136 ../lib/guestfs-actions.pod:15146
#: ../lib/guestfs-actions.pod:15852 ../lib/guestfs-actions.pod:15863
#: ../lib/guestfs-actions.pod:15908 ../lib/guestfs-actions.pod:15919
#: ../lib/guestfs-actions.pod:15996 ../lib/guestfs-actions.pod:16007
msgid "See L</CALLS WITH OPTIONAL ARGUMENTS>."
msgstr "See L</CALLS WITH OPTIONAL ARGUMENTS>."

#. type: =head2
#: ../lib/guestfs-actions.pod:275
msgid "guestfs_add_domain_argv"
msgstr "guestfs_add_domain_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:277
#, 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 ""
" int\n"
" guestfs_add_domain_argv (guestfs_h *g,\n"
"                          const char *dom,\n"
"                          const struct guestfs_add_domain_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:282
msgid "This is the \"argv variant\" of L</guestfs_add_domain>."
msgstr "This is the \"argv variant\" of L</guestfs_add_domain>."

#. type: =head2
#: ../lib/guestfs-actions.pod:286
msgid "guestfs_add_drive"
msgstr "guestfs_add_drive"

#. type: verbatim
#: ../lib/guestfs-actions.pod:288
#, no-wrap
msgid ""
" int\n"
" guestfs_add_drive (guestfs_h *g,\n"
"                    const char *filename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_drive (guestfs_h *g,\n"
"                    const char *filename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:292
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_add_drive_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_add_drive_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:299
msgid "guestfs_add_drive_opts"
msgstr "guestfs_add_drive_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:301
#, no-wrap
msgid ""
" int\n"
" guestfs_add_drive_opts (guestfs_h *g,\n"
"                         const char *filename,\n"
"                         ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_drive_opts (guestfs_h *g,\n"
"                         const char *filename,\n"
"                         ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:311
#, 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"
" GUESTFS_ADD_DRIVE_OPTS_NAME, const char *name,\n"
" GUESTFS_ADD_DRIVE_OPTS_LABEL, const char *label,\n"
" GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, const char *protocol,\n"
" GUESTFS_ADD_DRIVE_OPTS_SERVER, char *const *server,\n"
" GUESTFS_ADD_DRIVE_OPTS_USERNAME, const char *username,\n"
" GUESTFS_ADD_DRIVE_OPTS_SECRET, const char *secret,\n"
" GUESTFS_ADD_DRIVE_OPTS_CACHEMODE, const char *cachemode,\n"
" GUESTFS_ADD_DRIVE_OPTS_DISCARD, const char *discard,\n"
" GUESTFS_ADD_DRIVE_OPTS_COPYONREAD, int copyonread,\n"
" GUESTFS_ADD_DRIVE_OPTS_BLOCKSIZE, int blocksize,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:328
msgid ""
"When this function is called before C<guestfs_launch> (the usual case) then "
"the first time you call this function, the disk appears in the API as F</dev/"
"sda>, the second time as F</dev/sdb>, and so on."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:362
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 ""
"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>."

#. type: textblock
#: ../lib/guestfs-actions.pod:373
msgid ""
"This rarely-used option lets you emulate the behaviour of the deprecated "
"C<guestfs_add_drive_with_if> call (q.v.)"
msgstr ""
"This rarely-used option lets you emulate the behaviour of the deprecated "
"C<guestfs_add_drive_with_if> call (q.v.)"

#. type: textblock
#: ../lib/guestfs-actions.pod:541
msgid ""
"Enable or disable discard (a.k.a. trim or unmap) support on this drive.  If "
"enabled, operations such as C<guestfs_fstrim> will be able to discard / make "
"thin / punch holes in the underlying host file or device."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:594
msgid "guestfs_add_drive_opts_va"
msgstr "guestfs_add_drive_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:596
#, no-wrap
msgid ""
" int\n"
" guestfs_add_drive_opts_va (guestfs_h *g,\n"
"                            const char *filename,\n"
"                            va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_drive_opts_va (guestfs_h *g,\n"
"                            const char *filename,\n"
"                            va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:601
msgid "This is the \"va_list variant\" of L</guestfs_add_drive_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_add_drive_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:605
msgid "guestfs_add_drive_opts_argv"
msgstr "guestfs_add_drive_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:607
#, 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 ""
" 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"

#. type: textblock
#: ../lib/guestfs-actions.pod:612
msgid "This is the \"argv variant\" of L</guestfs_add_drive_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_add_drive_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:616
msgid "guestfs_add_drive_ro"
msgstr "guestfs_add_drive_ro"

#. type: verbatim
#: ../lib/guestfs-actions.pod:618
#, no-wrap
msgid ""
" int\n"
" guestfs_add_drive_ro (guestfs_h *g,\n"
"                       const char *filename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_drive_ro (guestfs_h *g,\n"
"                       const char *filename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:622
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 ""
"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."

#. type: textblock
#: ../lib/guestfs-actions.pod:629
msgid "(Added in 1.0.38)"
msgstr "(Added in 1.0.38)"

#. type: =head2
#: ../lib/guestfs-actions.pod:631
msgid "guestfs_add_drive_ro_with_if"
msgstr "guestfs_add_drive_ro_with_if"

#. type: verbatim
#: ../lib/guestfs-actions.pod:633
#, 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 ""
" int\n"
" guestfs_add_drive_ro_with_if (guestfs_h *g,\n"
"                               const char *filename,\n"
"                               const char *iface);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:638 ../lib/guestfs-actions.pod:709
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_add_drive> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_add_drive> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:645
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 ""
"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."

#. type: textblock
#: ../lib/guestfs-actions.pod:650 ../lib/guestfs-actions.pod:721
#: ../lib/guestfs-actions.pod:6367
msgid "(Added in 1.0.84)"
msgstr "(Added in 1.0.84)"

#. type: =head2
#: ../lib/guestfs-actions.pod:652
msgid "guestfs_add_drive_scratch"
msgstr "guestfs_add_drive_scratch"

#. type: verbatim
#: ../lib/guestfs-actions.pod:654
#, no-wrap
msgid ""
" int\n"
" guestfs_add_drive_scratch (guestfs_h *g,\n"
"                            int64_t size,\n"
"                            ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_drive_scratch (guestfs_h *g,\n"
"                            int64_t size,\n"
"                            ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:664
#, fuzzy, no-wrap
#| msgid ""
#| " GUESTFS_ADD_DRIVE_SCRATCH_NAME, const char *name,\n"
#| " GUESTFS_ADD_DRIVE_SCRATCH_LABEL, const char *label,\n"
#| "\n"
msgid ""
" GUESTFS_ADD_DRIVE_SCRATCH_NAME, const char *name,\n"
" GUESTFS_ADD_DRIVE_SCRATCH_LABEL, const char *label,\n"
" GUESTFS_ADD_DRIVE_SCRATCH_BLOCKSIZE, int blocksize,\n"
"\n"
msgstr ""
" GUESTFS_ADD_DRIVE_SCRATCH_NAME, const char *name,\n"
" GUESTFS_ADD_DRIVE_SCRATCH_LABEL, const char *label,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:673
#, fuzzy
#| msgid ""
#| "The optional arguments C<name> and C<label> are passed through to "
#| "C<guestfs_add_drive>."
msgid ""
"The optional arguments C<name>, C<label> and C<blocksize> are passed through "
"to C<guestfs_add_drive_opts>."
msgstr ""
"The optional arguments C<name> and C<label> are passed through to "
"C<guestfs_add_drive>."

#. type: textblock
#: ../lib/guestfs-actions.pod:678 ../lib/guestfs-actions.pod:13825
msgid "(Added in 1.23.10)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:680
msgid "guestfs_add_drive_scratch_va"
msgstr "guestfs_add_drive_scratch_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:682
#, no-wrap
msgid ""
" int\n"
" guestfs_add_drive_scratch_va (guestfs_h *g,\n"
"                               int64_t size,\n"
"                               va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_drive_scratch_va (guestfs_h *g,\n"
"                               int64_t size,\n"
"                               va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:687
msgid "This is the \"va_list variant\" of L</guestfs_add_drive_scratch>."
msgstr "This is the \"va_list variant\" of L</guestfs_add_drive_scratch>."

#. type: =head2
#: ../lib/guestfs-actions.pod:691
msgid "guestfs_add_drive_scratch_argv"
msgstr "guestfs_add_drive_scratch_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:693
#, no-wrap
msgid ""
" int\n"
" guestfs_add_drive_scratch_argv (guestfs_h *g,\n"
"                                 int64_t size,\n"
"                                 const struct guestfs_add_drive_scratch_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_drive_scratch_argv (guestfs_h *g,\n"
"                                 int64_t size,\n"
"                                 const struct guestfs_add_drive_scratch_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:698
msgid "This is the \"argv variant\" of L</guestfs_add_drive_scratch>."
msgstr "This is the \"argv variant\" of L</guestfs_add_drive_scratch>."

#. type: =head2
#: ../lib/guestfs-actions.pod:702
msgid "guestfs_add_drive_with_if"
msgstr "guestfs_add_drive_with_if"

#. type: verbatim
#: ../lib/guestfs-actions.pod:704
#, no-wrap
msgid ""
" int\n"
" guestfs_add_drive_with_if (guestfs_h *g,\n"
"                            const char *filename,\n"
"                            const char *iface);\n"
"\n"
msgstr ""
" int\n"
" guestfs_add_drive_with_if (guestfs_h *g,\n"
"                            const char *filename,\n"
"                            const char *iface);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:716
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 ""
"This is the same as C<guestfs_add_drive> but it allows you to specify the "
"QEMU interface emulation to use at run time."

#. type: =head2
#: ../lib/guestfs-actions.pod:723
msgid "guestfs_add_libvirt_dom"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:725
#, no-wrap
msgid ""
" int\n"
" guestfs_add_libvirt_dom (guestfs_h *g,\n"
"                          void * /* really virDomainPtr */ dom,\n"
"                          ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:735
#, no-wrap
msgid ""
" GUESTFS_ADD_LIBVIRT_DOM_READONLY, int readonly,\n"
" GUESTFS_ADD_LIBVIRT_DOM_IFACE, const char *iface,\n"
" GUESTFS_ADD_LIBVIRT_DOM_LIVE, int live,\n"
" GUESTFS_ADD_LIBVIRT_DOM_READONLYDISK, const char *readonlydisk,\n"
" GUESTFS_ADD_LIBVIRT_DOM_CACHEMODE, const char *cachemode,\n"
" GUESTFS_ADD_LIBVIRT_DOM_DISCARD, const char *discard,\n"
" GUESTFS_ADD_LIBVIRT_DOM_COPYONREAD, int copyonread,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:743
msgid ""
"This function adds the disk(s) attached to the libvirt domain C<dom>.  It "
"works by requesting the domain XML from libvirt, parsing it for disks, and "
"calling C<guestfs_add_drive_opts> on each one."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:747
msgid ""
"In the C API we declare C<void *dom>, but really it has type C<virDomainPtr "
"dom>.  This is so we don't need E<lt>libvirt.hE<gt>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:769
msgid ""
"The optional C<readonlydisk> parameter controls what we do for disks which "
"are marked E<lt>readonly/E<gt> in the libvirt XML.  See "
"C<guestfs_add_domain> for possible values."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:782
msgid "(Added in 1.29.14)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:784
msgid "guestfs_add_libvirt_dom_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:786
#, no-wrap
msgid ""
" int\n"
" guestfs_add_libvirt_dom_va (guestfs_h *g,\n"
"                             void * /* really virDomainPtr */ dom,\n"
"                             va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:791
msgid "This is the \"va_list variant\" of L</guestfs_add_libvirt_dom>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:795
msgid "guestfs_add_libvirt_dom_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:797
#, no-wrap
msgid ""
" int\n"
" guestfs_add_libvirt_dom_argv (guestfs_h *g,\n"
"                               void * /* really virDomainPtr */ dom,\n"
"                               const struct guestfs_add_libvirt_dom_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:802
msgid "This is the \"argv variant\" of L</guestfs_add_libvirt_dom>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:806
msgid "guestfs_aug_clear"
msgstr "guestfs_aug_clear"

#. type: verbatim
#: ../lib/guestfs-actions.pod:808
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_clear (guestfs_h *g,\n"
"                    const char *augpath);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_clear (guestfs_h *g,\n"
"                    const char *augpath);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:817 ../lib/guestfs-actions.pod:5557
msgid "(Added in 1.3.4)"
msgstr "(Added in 1.3.4)"

#. type: =head2
#: ../lib/guestfs-actions.pod:819
msgid "guestfs_aug_close"
msgstr "guestfs_aug_close"

#. type: verbatim
#: ../lib/guestfs-actions.pod:821
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_close (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_close (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:824
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 ""
"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."

#. type: textblock
#: ../lib/guestfs-actions.pod:831 ../lib/guestfs-actions.pod:856
#: ../lib/guestfs-actions.pod:874 ../lib/guestfs-actions.pod:888
#: ../lib/guestfs-actions.pod:951 ../lib/guestfs-actions.pod:971
#: ../lib/guestfs-actions.pod:1000 ../lib/guestfs-actions.pod:1031
#: ../lib/guestfs-actions.pod:1045 ../lib/guestfs-actions.pod:1059
#: ../lib/guestfs-actions.pod:1073 ../lib/guestfs-actions.pod:1091
#: ../lib/guestfs-actions.pod:12408
msgid "(Added in 0.7)"
msgstr "(Added in 0.7)"

#. type: =head2
#: ../lib/guestfs-actions.pod:833
msgid "guestfs_aug_defnode"
msgstr "guestfs_aug_defnode"

#. type: verbatim
#: ../lib/guestfs-actions.pod:835
#, 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 ""
" 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"

#. type: textblock
#: ../lib/guestfs-actions.pod:844
#, fuzzy
#| 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."
msgid ""
"If C<expr> evaluates to an empty nodeset, a node is created, equivalent to "
"calling C<guestfs_aug_set> C<expr>, C<val>.  C<name> will be the nodeset "
"containing that single node."
msgstr ""
"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."

#. type: textblock
#: ../lib/guestfs-actions.pod:852
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 ""
"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>."

#. type: =head2
#: ../lib/guestfs-actions.pod:858
msgid "guestfs_aug_defvar"
msgstr "guestfs_aug_defvar"

#. type: verbatim
#: ../lib/guestfs-actions.pod:860
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_defvar (guestfs_h *g,\n"
"                     const char *name,\n"
"                     const char *expr);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_defvar (guestfs_h *g,\n"
"                     const char *name,\n"
"                     const char *expr);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:876
msgid "guestfs_aug_get"
msgstr "guestfs_aug_get"

#. type: verbatim
#: ../lib/guestfs-actions.pod:878
#, no-wrap
msgid ""
" char *\n"
" guestfs_aug_get (guestfs_h *g,\n"
"                  const char *augpath);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_aug_get (guestfs_h *g,\n"
"                  const char *augpath);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:890
msgid "guestfs_aug_init"
msgstr "guestfs_aug_init"

#. type: verbatim
#: ../lib/guestfs-actions.pod:892
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_init (guestfs_h *g,\n"
"                   const char *root,\n"
"                   int flags);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_init (guestfs_h *g,\n"
"                   const char *root,\n"
"                   int flags);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:901
msgid "You must call this before using any other C<guestfs_aug_*> commands."
msgstr "You must call this before using any other C<guestfs_aug_*> commands."

#. type: textblock
#: ../lib/guestfs-actions.pod:926
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 ""
"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>."

#. type: textblock
#: ../lib/guestfs-actions.pod:941
msgid "Do not load the tree in C<guestfs_aug_init>."
msgstr "Do not load the tree in C<guestfs_aug_init>."

#. type: textblock
#: ../lib/guestfs-actions.pod:945
msgid "To close the handle, you can call C<guestfs_aug_close>."
msgstr "To close the handle, you can call C<guestfs_aug_close>."

#. type: =head2
#: ../lib/guestfs-actions.pod:953
msgid "guestfs_aug_insert"
msgstr "guestfs_aug_insert"

#. type: verbatim
#: ../lib/guestfs-actions.pod:955
#, 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 ""
" int\n"
" guestfs_aug_insert (guestfs_h *g,\n"
"                     const char *augpath,\n"
"                     const char *label,\n"
"                     int before);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:973
msgid "guestfs_aug_label"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:975
#, no-wrap
msgid ""
" char *\n"
" guestfs_aug_label (guestfs_h *g,\n"
"                    const char *augpath);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:986 ../lib/guestfs-actions.pod:1111
msgid "(Added in 1.23.14)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:988
msgid "guestfs_aug_load"
msgstr "guestfs_aug_load"

#. type: verbatim
#: ../lib/guestfs-actions.pod:990
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_load (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_load (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1002
msgid "guestfs_aug_ls"
msgstr "guestfs_aug_ls"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1004
#, no-wrap
msgid ""
" char **\n"
" guestfs_aug_ls (guestfs_h *g,\n"
"                 const char *augpath);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_aug_ls (guestfs_h *g,\n"
"                 const char *augpath);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1008
msgid ""
"This is just a shortcut for listing C<guestfs_aug_match> C<path/*> and "
"sorting the resulting nodes into alphabetical order."
msgstr ""
"This is just a shortcut for listing C<guestfs_aug_match> C<path/*> and "
"sorting the resulting nodes into alphabetical order."

#. type: textblock
#: ../lib/guestfs-actions.pod:1011 ../lib/guestfs-actions.pod:1027
#: ../lib/guestfs-actions.pod:1251 ../lib/guestfs-actions.pod:1784
#: ../lib/guestfs-actions.pod:2806 ../lib/guestfs-actions.pod:4020
#: ../lib/guestfs-actions.pod:4046 ../lib/guestfs-actions.pod:4221
#: ../lib/guestfs-actions.pod:4247 ../lib/guestfs-actions.pod:4722
#: ../lib/guestfs-actions.pod:5027 ../lib/guestfs-actions.pod:5336
#: ../lib/guestfs-actions.pod:5697 ../lib/guestfs-actions.pod:5785
#: ../lib/guestfs-actions.pod:5835 ../lib/guestfs-actions.pod:5903
#: ../lib/guestfs-actions.pod:5927 ../lib/guestfs-actions.pod:6385
#: ../lib/guestfs-actions.pod:6440 ../lib/guestfs-actions.pod:6795
#: ../lib/guestfs-actions.pod:7197 ../lib/guestfs-actions.pod:7672
#: ../lib/guestfs-actions.pod:8478 ../lib/guestfs-actions.pod:8515
#: ../lib/guestfs-actions.pod:8552 ../lib/guestfs-actions.pod:8574
#: ../lib/guestfs-actions.pod:8613 ../lib/guestfs-actions.pod:8704
#: ../lib/guestfs-actions.pod:8721 ../lib/guestfs-actions.pod:8764
#: ../lib/guestfs-actions.pod:8826 ../lib/guestfs-actions.pod:8844
#: ../lib/guestfs-actions.pod:8860 ../lib/guestfs-actions.pod:8880
#: ../lib/guestfs-actions.pod:9008 ../lib/guestfs-actions.pod:9585
#: ../lib/guestfs-actions.pod:11144 ../lib/guestfs-actions.pod:12277
#: ../lib/guestfs-actions.pod:12404 ../lib/guestfs-actions.pod:12517
#: ../lib/guestfs-actions.pod:14107 ../lib/guestfs-actions.pod:14220
#: ../lib/guestfs-actions.pod:14279 ../lib/guestfs-actions.pod:14504
#: ../lib/guestfs-actions.pod:14528 ../lib/guestfs-actions.pod:15500
#: ../lib/guestfs-actions.pod:15542 ../lib/guestfs-actions.pod:15592
#: ../lib/guestfs-actions.pod:16111 ../lib/guestfs-actions.pod:16137
#: ../lib/guestfs-actions.pod:16263 ../lib/guestfs-actions.pod:16289
#: ../lib/guestfs-actions.pod:16342 ../lib/guestfs-actions.pod:16368
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 ""
"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>."

#. type: textblock
#: ../lib/guestfs-actions.pod:1015 ../lib/guestfs-actions.pod:2712
#: ../lib/guestfs-actions.pod:2730 ../lib/guestfs-actions.pod:4084
#: ../lib/guestfs-actions.pod:7844 ../lib/guestfs-actions.pod:7873
#: ../lib/guestfs-actions.pod:7969 ../lib/guestfs-actions.pod:7998
#: ../lib/guestfs-actions.pod:9371 ../lib/guestfs-actions.pod:9441
#: ../lib/guestfs-actions.pod:9912 ../lib/guestfs-actions.pod:9945
#: ../lib/guestfs-actions.pod:10245 ../lib/guestfs-actions.pod:10310
#: ../lib/guestfs-actions.pod:11148 ../lib/guestfs-actions.pod:12209
#: ../lib/guestfs-actions.pod:12703 ../lib/guestfs-actions.pod:12736
#: ../lib/guestfs-actions.pod:12748 ../lib/guestfs-actions.pod:13954
#: ../lib/guestfs-actions.pod:15045 ../lib/guestfs-actions.pod:15069
#: ../lib/guestfs-actions.pod:15104 ../lib/guestfs-actions.pod:15484
#: ../lib/guestfs-actions.pod:15804
msgid "(Added in 0.8)"
msgstr "(Added in 0.8)"

#. type: =head2
#: ../lib/guestfs-actions.pod:1017
msgid "guestfs_aug_match"
msgstr "guestfs_aug_match"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1019
#, no-wrap
msgid ""
" char **\n"
" guestfs_aug_match (guestfs_h *g,\n"
"                    const char *augpath);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_aug_match (guestfs_h *g,\n"
"                    const char *augpath);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1033
msgid "guestfs_aug_mv"
msgstr "guestfs_aug_mv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1035
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_mv (guestfs_h *g,\n"
"                 const char *src,\n"
"                 const char *dest);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_mv (guestfs_h *g,\n"
"                 const char *src,\n"
"                 const char *dest);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1047
msgid "guestfs_aug_rm"
msgstr "guestfs_aug_rm"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1049
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_rm (guestfs_h *g,\n"
"                 const char *augpath);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_rm (guestfs_h *g,\n"
"                 const char *augpath);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1061
msgid "guestfs_aug_save"
msgstr "guestfs_aug_save"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1063
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_save (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_save (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1068
msgid ""
"The flags which were passed to C<guestfs_aug_init> affect exactly how files "
"are saved."
msgstr ""
"The flags which were passed to C<guestfs_aug_init> affect exactly how files "
"are saved."

#. type: =head2
#: ../lib/guestfs-actions.pod:1075
msgid "guestfs_aug_set"
msgstr "guestfs_aug_set"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1077
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_set (guestfs_h *g,\n"
"                  const char *augpath,\n"
"                  const char *val);\n"
"\n"
msgstr ""
" int\n"
" guestfs_aug_set (guestfs_h *g,\n"
"                  const char *augpath,\n"
"                  const char *val);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1084
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 ""
"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."

#. type: =head2
#: ../lib/guestfs-actions.pod:1093
msgid "guestfs_aug_setm"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1095
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_setm (guestfs_h *g,\n"
"                   const char *base,\n"
"                   const char *sub,\n"
"                   const char *val);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1113
msgid "guestfs_aug_transform"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1115
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_transform (guestfs_h *g,\n"
"                        const char *lens,\n"
"                        const char *file,\n"
"                        ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1126
#, no-wrap
msgid ""
" GUESTFS_AUG_TRANSFORM_REMOVE, int remove,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1136
msgid "(Added in 1.35.2)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1138
msgid "guestfs_aug_transform_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1140
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_transform_va (guestfs_h *g,\n"
"                           const char *lens,\n"
"                           const char *file,\n"
"                           va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1146
msgid "This is the \"va_list variant\" of L</guestfs_aug_transform>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1150
msgid "guestfs_aug_transform_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1152
#, no-wrap
msgid ""
" int\n"
" guestfs_aug_transform_argv (guestfs_h *g,\n"
"                             const char *lens,\n"
"                             const char *file,\n"
"                             const struct guestfs_aug_transform_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1158
msgid "This is the \"argv variant\" of L</guestfs_aug_transform>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1162
msgid "guestfs_available"
msgstr "guestfs_available"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1164
#, no-wrap
msgid ""
" int\n"
" guestfs_available (guestfs_h *g,\n"
"                    char *const *groups);\n"
"\n"
msgstr ""
" int\n"
" guestfs_available (guestfs_h *g,\n"
"                    char *const *groups);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1172
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 ""
"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>."

#. type: textblock
#: ../lib/guestfs-actions.pod:1196
msgid ""
"C<guestfs_feature_available> is the same as this call, but with a slightly "
"simpler to use API: that call returns a boolean true/false instead of "
"throwing an error."
msgstr ""
"C<guestfs_feature_available> is the same as this call, but with a slightly "
"simpler to use API: that call returns a boolean true/false instead of "
"throwing an error."

#. type: textblock
#: ../lib/guestfs-actions.pod:1202
msgid "You must call C<guestfs_launch> before calling this function."
msgstr "You must call C<guestfs_launch> before calling this function."

#. type: textblock
#: ../lib/guestfs-actions.pod:1224
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 ""
"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>."

#. type: textblock
#: ../lib/guestfs-actions.pod:1231
msgid "See also C<guestfs_filesystem_available>."
msgstr "See also C<guestfs_filesystem_available>."

#. type: textblock
#: ../lib/guestfs-actions.pod:1235 ../lib/guestfs-actions.pod:3481
msgid "(Added in 1.0.80)"
msgstr "(Added in 1.0.80)"

#. type: =head2
#: ../lib/guestfs-actions.pod:1237
msgid "guestfs_available_all_groups"
msgstr "guestfs_available_all_groups"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1239
#, no-wrap
msgid ""
" char **\n"
" guestfs_available_all_groups (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_available_all_groups (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1242
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> / C<guestfs_feature_available> on each member of the "
"returned list."
msgstr ""
"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> / C<guestfs_feature_available> on each member of the "
"returned list."

#. type: textblock
#: ../lib/guestfs-actions.pod:1248
msgid ""
"See also C<guestfs_available>, C<guestfs_feature_available> and L<guestfs(3)/"
"AVAILABILITY>."
msgstr ""
"See also C<guestfs_available>, C<guestfs_feature_available> and L<guestfs(3)/"
"AVAILABILITY>."

#. type: textblock
#: ../lib/guestfs-actions.pod:1255
msgid "(Added in 1.3.15)"
msgstr "(Added in 1.3.15)"

#. type: =head2
#: ../lib/guestfs-actions.pod:1257
msgid "guestfs_base64_in"
msgstr "guestfs_base64_in"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1259
#, no-wrap
msgid ""
" int\n"
" guestfs_base64_in (guestfs_h *g,\n"
"                    const char *base64file,\n"
"                    const char *filename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_base64_in (guestfs_h *g,\n"
"                    const char *base64file,\n"
"                    const char *filename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1269 ../lib/guestfs-actions.pod:1283
msgid "(Added in 1.3.5)"
msgstr "(Added in 1.3.5)"

#. type: =head2
#: ../lib/guestfs-actions.pod:1271
msgid "guestfs_base64_out"
msgstr "guestfs_base64_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1273
#, no-wrap
msgid ""
" int\n"
" guestfs_base64_out (guestfs_h *g,\n"
"                     const char *filename,\n"
"                     const char *base64file);\n"
"\n"
msgstr ""
" int\n"
" guestfs_base64_out (guestfs_h *g,\n"
"                     const char *filename,\n"
"                     const char *base64file);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1285
msgid "guestfs_blkdiscard"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1287
#, no-wrap
msgid ""
" int\n"
" guestfs_blkdiscard (guestfs_h *g,\n"
"                     const char *device);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1294
msgid ""
"This operation requires support in libguestfs, the host filesystem, qemu and "
"the host kernel.  If this support isn't present it may give an error or even "
"appear to run but do nothing.  You must also set the C<discard> attribute on "
"the underlying drive (see C<guestfs_add_drive_opts>)."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1302
msgid ""
"This function depends on the feature C<blkdiscard>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1305 ../lib/guestfs-actions.pod:1325
msgid "(Added in 1.25.44)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1307
msgid "guestfs_blkdiscardzeroes"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1309
#, no-wrap
msgid ""
" int\n"
" guestfs_blkdiscardzeroes (guestfs_h *g,\n"
"                           const char *device);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1313
msgid ""
"This call returns true if blocks on C<device> that have been discarded by a "
"call to C<guestfs_blkdiscard> are returned as blocks of zero bytes when read "
"the next time."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1320 ../lib/guestfs-actions.pod:1414
#: ../lib/guestfs-actions.pod:3663 ../lib/guestfs-actions.pod:4067
#: ../lib/guestfs-actions.pod:4082 ../lib/guestfs-actions.pod:4200
#: ../lib/guestfs-actions.pod:4462 ../lib/guestfs-actions.pod:4973
#: ../lib/guestfs-actions.pod:5059 ../lib/guestfs-actions.pod:5368
#: ../lib/guestfs-actions.pod:5394 ../lib/guestfs-actions.pod:5453
#: ../lib/guestfs-actions.pod:5475 ../lib/guestfs-actions.pod:5543
#: ../lib/guestfs-actions.pod:5566 ../lib/guestfs-actions.pod:7366
#: ../lib/guestfs-actions.pod:7388 ../lib/guestfs-actions.pod:7410
#: ../lib/guestfs-actions.pod:7718 ../lib/guestfs-actions.pod:7754
#: ../lib/guestfs-actions.pod:7794 ../lib/guestfs-actions.pod:7830
#: ../lib/guestfs-actions.pod:7871 ../lib/guestfs-actions.pod:7933
#: ../lib/guestfs-actions.pod:7996 ../lib/guestfs-actions.pod:8032
#: ../lib/guestfs-actions.pod:8045 ../lib/guestfs-actions.pod:8059
#: ../lib/guestfs-actions.pod:8099 ../lib/guestfs-actions.pod:8136
#: ../lib/guestfs-actions.pod:8149 ../lib/guestfs-actions.pod:8162
#: ../lib/guestfs-actions.pod:8176 ../lib/guestfs-actions.pod:8312
#: ../lib/guestfs-actions.pod:11614
msgid "This function returns a C truth value on success or -1 on error."
msgstr "This function returns a C truth value on success or -1 on error."

#. type: textblock
#: ../lib/guestfs-actions.pod:1322
msgid ""
"This function depends on the feature C<blkdiscardzeroes>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1327
msgid "guestfs_blkid"
msgstr "guestfs_blkid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1329
#, no-wrap
msgid ""
" char **\n"
" guestfs_blkid (guestfs_h *g,\n"
"                const char *device);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_blkid (guestfs_h *g,\n"
"                const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1360 ../lib/guestfs-actions.pod:2305
#: ../lib/guestfs-actions.pod:6770 ../lib/guestfs-actions.pod:7044
#: ../lib/guestfs-actions.pod:8742 ../lib/guestfs-actions.pod:8809
#: ../lib/guestfs-actions.pod:9815 ../lib/guestfs-actions.pod:11124
#: ../lib/guestfs-actions.pod:14952
msgid ""
"This function returns a NULL-terminated array of strings, or NULL if there "
"was an error.  The array of strings will always have length C<2n+1>, where "
"C<n> keys and values alternate, followed by the trailing NULL entry.  I<The "
"caller must free the strings and the array after use>."
msgstr ""
"This function returns a NULL-terminated array of strings, or NULL if there "
"was an error.  The array of strings will always have length C<2n+1>, where "
"C<n> keys and values alternate, followed by the trailing NULL entry.  I<The "
"caller must free the strings and the array after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:1366
msgid "(Added in 1.15.9)"
msgstr "(Added in 1.15.9)"

#. type: =head2
#: ../lib/guestfs-actions.pod:1368
msgid "guestfs_blockdev_flushbufs"
msgstr "guestfs_blockdev_flushbufs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1370
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_flushbufs (guestfs_h *g,\n"
"                             const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_flushbufs (guestfs_h *g,\n"
"                             const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1381 ../lib/guestfs-actions.pod:1401
#: ../lib/guestfs-actions.pod:1416 ../lib/guestfs-actions.pod:1432
#: ../lib/guestfs-actions.pod:1450 ../lib/guestfs-actions.pod:1469
#: ../lib/guestfs-actions.pod:1483 ../lib/guestfs-actions.pod:1508
#: ../lib/guestfs-actions.pod:1537 ../lib/guestfs-actions.pod:1551
msgid "(Added in 1.9.3)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1383
msgid "guestfs_blockdev_getbsz"
msgstr "guestfs_blockdev_getbsz"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1385
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_getbsz (guestfs_h *g,\n"
"                          const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_getbsz (guestfs_h *g,\n"
"                          const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1403
msgid "guestfs_blockdev_getro"
msgstr "guestfs_blockdev_getro"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1405
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_getro (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_getro (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1418
msgid "guestfs_blockdev_getsize64"
msgstr "guestfs_blockdev_getsize64"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1420
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_blockdev_getsize64 (guestfs_h *g,\n"
"                             const char *device);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_blockdev_getsize64 (guestfs_h *g,\n"
"                             const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1426
msgid "See also C<guestfs_blockdev_getsz>."
msgstr "See also C<guestfs_blockdev_getsz>."

#. type: =head2
#: ../lib/guestfs-actions.pod:1434
msgid "guestfs_blockdev_getss"
msgstr "guestfs_blockdev_getss"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1436
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_getss (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_getss (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1443
msgid ""
"(Note, this is not the size in sectors, use C<guestfs_blockdev_getsz> for "
"that)."
msgstr ""
"(Note, this is not the size in sectors, use C<guestfs_blockdev_getsz> for "
"that)."

#. type: =head2
#: ../lib/guestfs-actions.pod:1452
msgid "guestfs_blockdev_getsz"
msgstr "guestfs_blockdev_getsz"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1454
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_blockdev_getsz (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_blockdev_getsz (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1461
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 ""
"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>."

#. type: =head2
#: ../lib/guestfs-actions.pod:1471
msgid "guestfs_blockdev_rereadpt"
msgstr "guestfs_blockdev_rereadpt"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1473
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_rereadpt (guestfs_h *g,\n"
"                            const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_rereadpt (guestfs_h *g,\n"
"                            const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1485
msgid "guestfs_blockdev_setbsz"
msgstr "guestfs_blockdev_setbsz"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1487
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_setbsz (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int blocksize);\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_setbsz (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int blocksize);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1503
msgid ""
"If you need to set the filesystem block size, use the C<blocksize> option of "
"C<guestfs_mkfs>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1510
msgid "guestfs_blockdev_setra"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1512
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_setra (guestfs_h *g,\n"
"                         const char *device,\n"
"                         int sectors);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1523
msgid "(Added in 1.29.10)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1525
msgid "guestfs_blockdev_setro"
msgstr "guestfs_blockdev_setro"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1527
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_setro (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_setro (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1539
msgid "guestfs_blockdev_setrw"
msgstr "guestfs_blockdev_setrw"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1541
#, no-wrap
msgid ""
" int\n"
" guestfs_blockdev_setrw (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_blockdev_setrw (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1553
msgid "guestfs_btrfs_balance_cancel"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1555
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_balance_cancel (guestfs_h *g,\n"
"                               const char *path);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1563 ../lib/guestfs-actions.pod:1578
#: ../lib/guestfs-actions.pod:1593 ../lib/guestfs-actions.pod:1610
#: ../lib/guestfs-actions.pod:1627 ../lib/guestfs-actions.pod:1644
#: ../lib/guestfs-actions.pod:1660 ../lib/guestfs-actions.pod:1684
#: ../lib/guestfs-actions.pod:1746 ../lib/guestfs-actions.pod:1788
#: ../lib/guestfs-actions.pod:1803 ../lib/guestfs-actions.pod:1828
#: ../lib/guestfs-actions.pod:1875 ../lib/guestfs-actions.pod:1917
#: ../lib/guestfs-actions.pod:1933 ../lib/guestfs-actions.pod:1949
#: ../lib/guestfs-actions.pod:1965 ../lib/guestfs-actions.pod:1982
#: ../lib/guestfs-actions.pod:2000 ../lib/guestfs-actions.pod:2016
#: ../lib/guestfs-actions.pod:2031 ../lib/guestfs-actions.pod:2054
#: ../lib/guestfs-actions.pod:2069 ../lib/guestfs-actions.pod:2084
#: ../lib/guestfs-actions.pod:2099 ../lib/guestfs-actions.pod:2114
#: ../lib/guestfs-actions.pod:2131 ../lib/guestfs-actions.pod:2148
#: ../lib/guestfs-actions.pod:2165 ../lib/guestfs-actions.pod:2204
#: ../lib/guestfs-actions.pod:2241 ../lib/guestfs-actions.pod:2256
#: ../lib/guestfs-actions.pod:2274 ../lib/guestfs-actions.pod:2292
#: ../lib/guestfs-actions.pod:2311 ../lib/guestfs-actions.pod:2356
#: ../lib/guestfs-actions.pod:2395 ../lib/guestfs-actions.pod:2410
#: ../lib/guestfs-actions.pod:2427 ../lib/guestfs-actions.pod:10394
msgid ""
"This function depends on the feature C<btrfs>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1566 ../lib/guestfs-actions.pod:1581
#: ../lib/guestfs-actions.pod:1596 ../lib/guestfs-actions.pod:1687
#: ../lib/guestfs-actions.pod:2072 ../lib/guestfs-actions.pod:2087
#: ../lib/guestfs-actions.pod:2102 ../lib/guestfs-actions.pod:2117
#: ../lib/guestfs-actions.pod:2134
msgid "(Added in 1.29.22)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1568
msgid "guestfs_btrfs_balance_pause"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1570
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_balance_pause (guestfs_h *g,\n"
"                              const char *path);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1583
msgid "guestfs_btrfs_balance_resume"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1585
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_balance_resume (guestfs_h *g,\n"
"                               const char *path);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1598
msgid "guestfs_btrfs_balance_status"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1600
#, no-wrap
msgid ""
" struct guestfs_btrfsbalance *\n"
" guestfs_btrfs_balance_status (guestfs_h *g,\n"
"                               const char *path);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1606
msgid ""
"This function returns a C<struct guestfs_btrfsbalance *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_btrfsbalance> after "
"use>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1613 ../lib/guestfs-actions.pod:2151
msgid "(Added in 1.29.26)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1615
msgid "guestfs_btrfs_device_add"
msgstr "guestfs_btrfs_device_add"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1617
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_device_add (guestfs_h *g,\n"
"                           char *const *devices,\n"
"                           const char *fs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_device_add (guestfs_h *g,\n"
"                           char *const *devices,\n"
"                           const char *fs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1630 ../lib/guestfs-actions.pod:1647
#: ../lib/guestfs-actions.pod:1663 ../lib/guestfs-actions.pod:1806
#: ../lib/guestfs-actions.pod:2180 ../lib/guestfs-actions.pod:2207
#: ../lib/guestfs-actions.pod:2244 ../lib/guestfs-actions.pod:2277
#: ../lib/guestfs-actions.pod:2295 ../lib/guestfs-actions.pod:2327
#: ../lib/guestfs-actions.pod:2359
msgid "(Added in 1.17.35)"
msgstr "(Added in 1.17.35)"

#. type: =head2
#: ../lib/guestfs-actions.pod:1632
msgid "guestfs_btrfs_device_delete"
msgstr "guestfs_btrfs_device_delete"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1634
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_device_delete (guestfs_h *g,\n"
"                              char *const *devices,\n"
"                              const char *fs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_device_delete (guestfs_h *g,\n"
"                              char *const *devices,\n"
"                              const char *fs);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1649
msgid "guestfs_btrfs_filesystem_balance"
msgstr "guestfs_btrfs_filesystem_balance"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1651
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_filesystem_balance (guestfs_h *g,\n"
"                                   const char *fs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_filesystem_balance (guestfs_h *g,\n"
"                                   const char *fs);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1665
msgid "guestfs_btrfs_filesystem_defragment"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1667
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_filesystem_defragment (guestfs_h *g,\n"
"                                      const char *path,\n"
"                                      ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1677
#, no-wrap
msgid ""
" GUESTFS_BTRFS_FILESYSTEM_DEFRAGMENT_FLUSH, int flush,\n"
" GUESTFS_BTRFS_FILESYSTEM_DEFRAGMENT_COMPRESS, const char *compress,\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1689
msgid "guestfs_btrfs_filesystem_defragment_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1691
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_filesystem_defragment_va (guestfs_h *g,\n"
"                                         const char *path,\n"
"                                         va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1696
msgid ""
"This is the \"va_list variant\" of L</guestfs_btrfs_filesystem_defragment>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1700
msgid "guestfs_btrfs_filesystem_defragment_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1702
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_filesystem_defragment_argv (guestfs_h *g,\n"
"                                           const char *path,\n"
"                                           const struct guestfs_btrfs_filesystem_defragment_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1707
msgid ""
"This is the \"argv variant\" of L</guestfs_btrfs_filesystem_defragment>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1711
msgid "guestfs_btrfs_filesystem_resize"
msgstr "guestfs_btrfs_filesystem_resize"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1713
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_filesystem_resize (guestfs_h *g,\n"
"                                  const char *mountpoint,\n"
"                                  ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_filesystem_resize (guestfs_h *g,\n"
"                                  const char *mountpoint,\n"
"                                  ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1723
#, no-wrap
msgid ""
" GUESTFS_BTRFS_FILESYSTEM_RESIZE_SIZE, int64_t size,\n"
"\n"
msgstr ""
" GUESTFS_BTRFS_FILESYSTEM_RESIZE_SIZE, int64_t size,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1749
msgid "(Added in 1.11.17)"
msgstr "(Added in 1.11.17)"

#. type: =head2
#: ../lib/guestfs-actions.pod:1751
msgid "guestfs_btrfs_filesystem_resize_va"
msgstr "guestfs_btrfs_filesystem_resize_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1753
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_filesystem_resize_va (guestfs_h *g,\n"
"                                     const char *mountpoint,\n"
"                                     va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_filesystem_resize_va (guestfs_h *g,\n"
"                                     const char *mountpoint,\n"
"                                     va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1758
msgid "This is the \"va_list variant\" of L</guestfs_btrfs_filesystem_resize>."
msgstr ""
"This is the \"va_list variant\" of L</guestfs_btrfs_filesystem_resize>."

#. type: =head2
#: ../lib/guestfs-actions.pod:1762
msgid "guestfs_btrfs_filesystem_resize_argv"
msgstr "guestfs_btrfs_filesystem_resize_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1764
#, 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 ""
" 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"

#. type: textblock
#: ../lib/guestfs-actions.pod:1769
msgid "This is the \"argv variant\" of L</guestfs_btrfs_filesystem_resize>."
msgstr "This is the \"argv variant\" of L</guestfs_btrfs_filesystem_resize>."

#. type: =head2
#: ../lib/guestfs-actions.pod:1773
msgid "guestfs_btrfs_filesystem_show"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1775
#, no-wrap
msgid ""
" char **\n"
" guestfs_btrfs_filesystem_show (guestfs_h *g,\n"
"                                const char *device);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1791
msgid "(Added in 1.33.29)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1793
msgid "guestfs_btrfs_filesystem_sync"
msgstr "guestfs_btrfs_filesystem_sync"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1795
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_filesystem_sync (guestfs_h *g,\n"
"                                const char *fs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_filesystem_sync (guestfs_h *g,\n"
"                                const char *fs);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:1808
msgid "guestfs_btrfs_fsck"
msgstr "guestfs_btrfs_fsck"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1810
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_fsck (guestfs_h *g,\n"
"                     const char *device,\n"
"                     ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_fsck (guestfs_h *g,\n"
"                     const char *device,\n"
"                     ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1820
#, no-wrap
msgid ""
" GUESTFS_BTRFS_FSCK_SUPERBLOCK, int64_t superblock,\n"
" GUESTFS_BTRFS_FSCK_REPAIR, int repair,\n"
"\n"
msgstr ""
" GUESTFS_BTRFS_FSCK_SUPERBLOCK, int64_t superblock,\n"
" GUESTFS_BTRFS_FSCK_REPAIR, int repair,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1831 ../lib/guestfs-actions.pod:2168
msgid "(Added in 1.17.43)"
msgstr "(Added in 1.17.43)"

#. type: =head2
#: ../lib/guestfs-actions.pod:1833
msgid "guestfs_btrfs_fsck_va"
msgstr "guestfs_btrfs_fsck_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1835
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_fsck_va (guestfs_h *g,\n"
"                        const char *device,\n"
"                        va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_fsck_va (guestfs_h *g,\n"
"                        const char *device,\n"
"                        va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1840
msgid "This is the \"va_list variant\" of L</guestfs_btrfs_fsck>."
msgstr "This is the \"va_list variant\" of L</guestfs_btrfs_fsck>."

#. type: =head2
#: ../lib/guestfs-actions.pod:1844
msgid "guestfs_btrfs_fsck_argv"
msgstr "guestfs_btrfs_fsck_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:1846
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_fsck_argv (guestfs_h *g,\n"
"                          const char *device,\n"
"                          const struct guestfs_btrfs_fsck_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_fsck_argv (guestfs_h *g,\n"
"                          const char *device,\n"
"                          const struct guestfs_btrfs_fsck_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:1851
msgid "This is the \"argv variant\" of L</guestfs_btrfs_fsck>."
msgstr "This is the \"argv variant\" of L</guestfs_btrfs_fsck>."

#. type: =head2
#: ../lib/guestfs-actions.pod:1855
msgid "guestfs_btrfs_image"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1857
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_image (guestfs_h *g,\n"
"                      char *const *source,\n"
"                      const char *image,\n"
"                      ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1868
#, no-wrap
msgid ""
" GUESTFS_BTRFS_IMAGE_COMPRESSLEVEL, int compresslevel,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1878 ../lib/guestfs-actions.pod:11721
msgid "(Added in 1.29.32)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1880
msgid "guestfs_btrfs_image_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1882
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_image_va (guestfs_h *g,\n"
"                         char *const *source,\n"
"                         const char *image,\n"
"                         va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1888
msgid "This is the \"va_list variant\" of L</guestfs_btrfs_image>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1892
msgid "guestfs_btrfs_image_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1894
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_image_argv (guestfs_h *g,\n"
"                           char *const *source,\n"
"                           const char *image,\n"
"                           const struct guestfs_btrfs_image_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1900
msgid "This is the \"argv variant\" of L</guestfs_btrfs_image>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1904
msgid "guestfs_btrfs_qgroup_assign"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1906
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_qgroup_assign (guestfs_h *g,\n"
"                              const char *src,\n"
"                              const char *dst,\n"
"                              const char *path);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1920 ../lib/guestfs-actions.pod:1936
#: ../lib/guestfs-actions.pod:1952 ../lib/guestfs-actions.pod:1968
#: ../lib/guestfs-actions.pod:1985 ../lib/guestfs-actions.pod:2003
#: ../lib/guestfs-actions.pod:2019 ../lib/guestfs-actions.pod:2034
#: ../lib/guestfs-actions.pod:2259 ../lib/guestfs-actions.pod:2314
#: ../lib/guestfs-actions.pod:2443
msgid "(Added in 1.29.17)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1922
msgid "guestfs_btrfs_qgroup_create"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1924
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_qgroup_create (guestfs_h *g,\n"
"                              const char *qgroupid,\n"
"                              const char *subvolume);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1938
msgid "guestfs_btrfs_qgroup_destroy"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1940
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_qgroup_destroy (guestfs_h *g,\n"
"                               const char *qgroupid,\n"
"                               const char *subvolume);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1954
msgid "guestfs_btrfs_qgroup_limit"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1956
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_qgroup_limit (guestfs_h *g,\n"
"                             const char *subvolume,\n"
"                             int64_t size);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1970
msgid "guestfs_btrfs_qgroup_remove"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1972
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_qgroup_remove (guestfs_h *g,\n"
"                              const char *src,\n"
"                              const char *dst,\n"
"                              const char *path);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:1987
msgid "guestfs_btrfs_qgroup_show"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:1989
#, no-wrap
msgid ""
" struct guestfs_btrfsqgroup_list *\n"
" guestfs_btrfs_qgroup_show (guestfs_h *g,\n"
"                            const char *path);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:1996
msgid ""
"This function returns a C<struct guestfs_btrfsqgroup_list *>, or NULL if "
"there was an error.  I<The caller must call C<guestfs_free_btrfsqgroup_list> "
"after use>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2005
msgid "guestfs_btrfs_quota_enable"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2007
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_quota_enable (guestfs_h *g,\n"
"                             const char *fs,\n"
"                             int enable);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2021
msgid "guestfs_btrfs_quota_rescan"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2023
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_quota_rescan (guestfs_h *g,\n"
"                             const char *fs);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2036
msgid "guestfs_btrfs_replace"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2038
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_replace (guestfs_h *g,\n"
"                        const char *srcdev,\n"
"                        const char *targetdev,\n"
"                        const char *mntpoint);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2057
msgid "(Added in 1.29.48)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2059
msgid "guestfs_btrfs_rescue_chunk_recover"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2061
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_rescue_chunk_recover (guestfs_h *g,\n"
"                                     const char *device);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2074
msgid "guestfs_btrfs_rescue_super_recover"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2076
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_rescue_super_recover (guestfs_h *g,\n"
"                                     const char *device);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2089
msgid "guestfs_btrfs_scrub_cancel"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2091
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_scrub_cancel (guestfs_h *g,\n"
"                             const char *path);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2104
msgid "guestfs_btrfs_scrub_resume"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2106
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_scrub_resume (guestfs_h *g,\n"
"                             const char *path);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2119
msgid "guestfs_btrfs_scrub_start"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2121
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_scrub_start (guestfs_h *g,\n"
"                            const char *path);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2136
msgid "guestfs_btrfs_scrub_status"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2138
#, no-wrap
msgid ""
" struct guestfs_btrfsscrub *\n"
" guestfs_btrfs_scrub_status (guestfs_h *g,\n"
"                             const char *path);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2144
msgid ""
"This function returns a C<struct guestfs_btrfsscrub *>, or NULL if there was "
"an error.  I<The caller must call C<guestfs_free_btrfsscrub> after use>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2153
msgid "guestfs_btrfs_set_seeding"
msgstr "guestfs_btrfs_set_seeding"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2155
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_set_seeding (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int seeding);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_set_seeding (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int seeding);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:2170
msgid "guestfs_btrfs_subvolume_create"
msgstr "guestfs_btrfs_subvolume_create"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2172
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_create (guestfs_h *g,\n"
"                                 const char *dest);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_subvolume_create (guestfs_h *g,\n"
"                                 const char *dest);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2176
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_btrfs_subvolume_create_opts> with "
"no optional arguments."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2183
msgid "guestfs_btrfs_subvolume_create_opts"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2185
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_create_opts (guestfs_h *g,\n"
"                                      const char *dest,\n"
"                                      ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2195
#, no-wrap
msgid ""
" GUESTFS_BTRFS_SUBVOLUME_CREATE_OPTS_QGROUPID, const char *qgroupid,\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2209
msgid "guestfs_btrfs_subvolume_create_opts_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2211
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_create_opts_va (guestfs_h *g,\n"
"                                         const char *dest,\n"
"                                         va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2216
msgid ""
"This is the \"va_list variant\" of L</guestfs_btrfs_subvolume_create_opts>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2220
msgid "guestfs_btrfs_subvolume_create_opts_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2222
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_create_opts_argv (guestfs_h *g,\n"
"                                           const char *dest,\n"
"                                           const struct guestfs_btrfs_subvolume_create_opts_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2227
msgid ""
"This is the \"argv variant\" of L</guestfs_btrfs_subvolume_create_opts>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2231
msgid "guestfs_btrfs_subvolume_delete"
msgstr "guestfs_btrfs_subvolume_delete"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2233
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_delete (guestfs_h *g,\n"
"                                 const char *subvolume);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_subvolume_delete (guestfs_h *g,\n"
"                                 const char *subvolume);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:2246
msgid "guestfs_btrfs_subvolume_get_default"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2248
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_btrfs_subvolume_get_default (guestfs_h *g,\n"
"                                      const char *fs);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2261
msgid "guestfs_btrfs_subvolume_list"
msgstr "guestfs_btrfs_subvolume_list"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2263
#, no-wrap
msgid ""
" struct guestfs_btrfssubvolume_list *\n"
" guestfs_btrfs_subvolume_list (guestfs_h *g,\n"
"                               const char *fs);\n"
"\n"
msgstr ""
" struct guestfs_btrfssubvolume_list *\n"
" guestfs_btrfs_subvolume_list (guestfs_h *g,\n"
"                               const char *fs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2270
msgid ""
"This function returns a C<struct guestfs_btrfssubvolume_list *>, or NULL if "
"there was an error.  I<The caller must call "
"C<guestfs_free_btrfssubvolume_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_btrfssubvolume_list *>, or NULL if "
"there was an error.  I<The caller must call "
"C<guestfs_free_btrfssubvolume_list> after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:2279
msgid "guestfs_btrfs_subvolume_set_default"
msgstr "guestfs_btrfs_subvolume_set_default"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2281
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_set_default (guestfs_h *g,\n"
"                                      int64_t id,\n"
"                                      const char *fs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_subvolume_set_default (guestfs_h *g,\n"
"                                      int64_t id,\n"
"                                      const char *fs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2286
msgid ""
"Set the subvolume of the btrfs filesystem C<fs> which will be mounted by "
"default.  See C<guestfs_btrfs_subvolume_list> to get a list of subvolumes."
msgstr ""
"Set the subvolume of the btrfs filesystem C<fs> which will be mounted by "
"default.  See C<guestfs_btrfs_subvolume_list> to get a list of subvolumes."

#. type: =head2
#: ../lib/guestfs-actions.pod:2297
msgid "guestfs_btrfs_subvolume_show"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2299
#, no-wrap
msgid ""
" char **\n"
" guestfs_btrfs_subvolume_show (guestfs_h *g,\n"
"                               const char *subvolume);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2316
msgid "guestfs_btrfs_subvolume_snapshot"
msgstr "guestfs_btrfs_subvolume_snapshot"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2318
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_snapshot (guestfs_h *g,\n"
"                                   const char *source,\n"
"                                   const char *dest);\n"
"\n"
msgstr ""
" int\n"
" guestfs_btrfs_subvolume_snapshot (guestfs_h *g,\n"
"                                   const char *source,\n"
"                                   const char *dest);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2323
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_btrfs_subvolume_snapshot_opts> "
"with no optional arguments."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2330
msgid "guestfs_btrfs_subvolume_snapshot_opts"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2332
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_snapshot_opts (guestfs_h *g,\n"
"                                        const char *source,\n"
"                                        const char *dest,\n"
"                                        ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2343
#, no-wrap
msgid ""
" GUESTFS_BTRFS_SUBVOLUME_SNAPSHOT_OPTS_RO, int ro,\n"
" GUESTFS_BTRFS_SUBVOLUME_SNAPSHOT_OPTS_QGROUPID, const char *qgroupid,\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2361
msgid "guestfs_btrfs_subvolume_snapshot_opts_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2363
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_snapshot_opts_va (guestfs_h *g,\n"
"                                           const char *source,\n"
"                                           const char *dest,\n"
"                                           va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2369
msgid ""
"This is the \"va_list variant\" of L</guestfs_btrfs_subvolume_snapshot_opts>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2373
msgid "guestfs_btrfs_subvolume_snapshot_opts_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2375
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfs_subvolume_snapshot_opts_argv (guestfs_h *g,\n"
"                                             const char *source,\n"
"                                             const char *dest,\n"
"                                             const struct guestfs_btrfs_subvolume_snapshot_opts_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2381
msgid ""
"This is the \"argv variant\" of L</guestfs_btrfs_subvolume_snapshot_opts>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2385
msgid "guestfs_btrfstune_enable_extended_inode_refs"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2387
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfstune_enable_extended_inode_refs (guestfs_h *g,\n"
"                                               const char *device);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2398 ../lib/guestfs-actions.pod:2413
#: ../lib/guestfs-actions.pod:2430
msgid "(Added in 1.29.29)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2400
msgid "guestfs_btrfstune_enable_skinny_metadata_extent_refs"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2402
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfstune_enable_skinny_metadata_extent_refs (guestfs_h *g,\n"
"                                                       const char *device);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2415
msgid "guestfs_btrfstune_seeding"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2417
#, no-wrap
msgid ""
" int\n"
" guestfs_btrfstune_seeding (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int seeding);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2432
msgid "guestfs_c_pointer"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2434
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_c_pointer (guestfs_h *g);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2437
msgid ""
"In non-C language bindings, this allows you to retrieve the underlying C "
"pointer to the handle (ie. C<guestfs_h *>).  The purpose of this is to allow "
"other libraries to interwork with libguestfs."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2445
msgid "guestfs_canonical_device_name"
msgstr "guestfs_canonical_device_name"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2447
#, no-wrap
msgid ""
" char *\n"
" guestfs_canonical_device_name (guestfs_h *g,\n"
"                                const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_canonical_device_name (guestfs_h *g,\n"
"                                const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2469
msgid "Converted to F</dev/VG/LV> form using C<guestfs_lvm_canonical_lv_name>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2478 ../lib/guestfs-actions.pod:3499
#: ../lib/guestfs-actions.pod:9675
msgid "(Added in 1.19.7)"
msgstr "(Added in 1.19.7)"

#. type: =head2
#: ../lib/guestfs-actions.pod:2480
msgid "guestfs_cap_get_file"
msgstr "guestfs_cap_get_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2482
#, no-wrap
msgid ""
" char *\n"
" guestfs_cap_get_file (guestfs_h *g,\n"
"                       const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_cap_get_file (guestfs_h *g,\n"
"                       const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2494 ../lib/guestfs-actions.pod:2512
msgid ""
"This function depends on the feature C<linuxcaps>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2499
msgid "guestfs_cap_set_file"
msgstr "guestfs_cap_set_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2501
#, no-wrap
msgid ""
" int\n"
" guestfs_cap_set_file (guestfs_h *g,\n"
"                       const char *path,\n"
"                       const char *cap);\n"
"\n"
msgstr ""
" int\n"
" guestfs_cap_set_file (guestfs_h *g,\n"
"                       const char *path,\n"
"                       const char *cap);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:2517
msgid "guestfs_case_sensitive_path"
msgstr "guestfs_case_sensitive_path"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2519
#, no-wrap
msgid ""
" char *\n"
" guestfs_case_sensitive_path (guestfs_h *g,\n"
"                              const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_case_sensitive_path (guestfs_h *g,\n"
"                              const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2542
msgid ""
"C<guestfs_case_sensitive_path> attempts to resolve the true case of each "
"element in the path. It will return a resolved path if either the full path "
"or its parent directory exists. If the parent directory exists but the full "
"path does not, the case of the parent directory will be correctly resolved, "
"and the remainder appended unmodified. For example, if the file C<\"/Windows/"
"System32/netkvm.sys\"> exists:"
msgstr ""

#. type: =item
#: ../lib/guestfs-actions.pod:2551
msgid "C<guestfs_case_sensitive_path> (\"/windows/system32/netkvm.sys\")"
msgstr ""

#. type: =item
#: ../lib/guestfs-actions.pod:2555
msgid "C<guestfs_case_sensitive_path> (\"/windows/system32/NoSuchFile\")"
msgstr ""

#. type: =item
#: ../lib/guestfs-actions.pod:2559
msgid "C<guestfs_case_sensitive_path> (\"/windows/system33/netkvm.sys\")"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2565
msgid ""
"I<Note>: Because of the above behaviour, C<guestfs_case_sensitive_path> "
"cannot be used to check for the existence of a file."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2572
msgid "See also C<guestfs_realpath>."
msgstr "See also C<guestfs_realpath>."

#. type: textblock
#: ../lib/guestfs-actions.pod:2577 ../lib/guestfs-actions.pod:15381
msgid "(Added in 1.0.75)"
msgstr "(Added in 1.0.75)"

#. type: =head2
#: ../lib/guestfs-actions.pod:2579
msgid "guestfs_cat"
msgstr "guestfs_cat"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2581
#, no-wrap
msgid ""
" char *\n"
" guestfs_cat (guestfs_h *g,\n"
"              const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_cat (guestfs_h *g,\n"
"              const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2587
msgid ""
"Because, in C, this function returns a C<char *>, there is no way to "
"differentiate between a C<\\0> character in a file and end of string.  To "
"handle binary files, use the C<guestfs_read_file> or C<guestfs_download> "
"functions."
msgstr ""
"Because, in C, this function returns a C<char *>, there is no way to "
"differentiate between a C<\\0> character in a file and end of string.  To "
"handle binary files, use the C<guestfs_read_file> or C<guestfs_download> "
"functions."

#. type: textblock
#: ../lib/guestfs-actions.pod:2595 ../lib/guestfs-actions.pod:8725
#: ../lib/guestfs-actions.pod:8884 ../lib/guestfs-actions.pod:8901
#: ../lib/guestfs-actions.pod:9012 ../lib/guestfs-actions.pod:9592
#: ../lib/guestfs-actions.pod:9609 ../lib/guestfs-actions.pod:12284
#: ../lib/guestfs-actions.pod:12301 ../lib/guestfs-actions.pod:15599
#: ../lib/guestfs-actions.pod:15616
msgid "(Added in 0.4)"
msgstr "(Added in 0.4)"

#. type: =head2
#: ../lib/guestfs-actions.pod:2597
msgid "guestfs_checksum"
msgstr "guestfs_checksum"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2599
#, no-wrap
msgid ""
" char *\n"
" guestfs_checksum (guestfs_h *g,\n"
"                   const char *csumtype,\n"
"                   const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_checksum (guestfs_h *g,\n"
"                   const char *csumtype,\n"
"                   const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2645
msgid "To get the checksum for a device, use C<guestfs_checksum_device>."
msgstr "To get the checksum for a device, use C<guestfs_checksum_device>."

#. type: textblock
#: ../lib/guestfs-actions.pod:2647
msgid "To get the checksums for many files, use C<guestfs_checksums_out>."
msgstr "To get the checksums for many files, use C<guestfs_checksums_out>."

#. type: textblock
#: ../lib/guestfs-actions.pod:2652 ../lib/guestfs-actions.pod:3723
#: ../lib/guestfs-actions.pod:5522 ../lib/guestfs-actions.pod:7756
#: ../lib/guestfs-actions.pod:7832 ../lib/guestfs-actions.pod:8034
#: ../lib/guestfs-actions.pod:8061 ../lib/guestfs-actions.pod:15169
msgid "(Added in 1.0.2)"
msgstr "(Added in 1.0.2)"

#. type: =head2
#: ../lib/guestfs-actions.pod:2654
msgid "guestfs_checksum_device"
msgstr "guestfs_checksum_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2656
#, no-wrap
msgid ""
" char *\n"
" guestfs_checksum_device (guestfs_h *g,\n"
"                          const char *csumtype,\n"
"                          const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_checksum_device (guestfs_h *g,\n"
"                          const char *csumtype,\n"
"                          const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2661
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 ""
"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."

#. type: textblock
#: ../lib/guestfs-actions.pod:2668 ../lib/guestfs-actions.pod:11380
#: ../lib/guestfs-actions.pod:11431 ../lib/guestfs-actions.pod:11562
#: ../lib/guestfs-actions.pod:11616 ../lib/guestfs-actions.pod:11704
#: ../lib/guestfs-actions.pod:12041 ../lib/guestfs-actions.pod:14982
#: ../lib/guestfs-actions.pod:15006 ../lib/guestfs-actions.pod:15635
msgid "(Added in 1.3.2)"
msgstr "(Added in 1.3.2)"

#. type: =head2
#: ../lib/guestfs-actions.pod:2670
msgid "guestfs_checksums_out"
msgstr "guestfs_checksums_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2672
#, 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 ""
" int\n"
" guestfs_checksums_out (guestfs_h *g,\n"
"                        const char *csumtype,\n"
"                        const char *directory,\n"
"                        const char *sumsfile);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2692
msgid "(Added in 1.3.7)"
msgstr "(Added in 1.3.7)"

#. type: =head2
#: ../lib/guestfs-actions.pod:2694
msgid "guestfs_chmod"
msgstr "guestfs_chmod"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2696
#, no-wrap
msgid ""
" int\n"
" guestfs_chmod (guestfs_h *g,\n"
"                int mode,\n"
"                const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_chmod (guestfs_h *g,\n"
"                int mode,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:2714
msgid "guestfs_chown"
msgstr "guestfs_chown"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2716
#, no-wrap
msgid ""
" int\n"
" guestfs_chown (guestfs_h *g,\n"
"                int owner,\n"
"                int group,\n"
"                const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_chown (guestfs_h *g,\n"
"                int owner,\n"
"                int group,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:2732
msgid "guestfs_clear_backend_setting"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2734
#, no-wrap
msgid ""
" int\n"
" guestfs_clear_backend_setting (guestfs_h *g,\n"
"                                const char *name);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2749 ../lib/guestfs-actions.pod:5013
#: ../lib/guestfs-actions.pod:13185
msgid "(Added in 1.27.2)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2751
msgid "guestfs_command"
msgstr "guestfs_command"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2753
#, no-wrap
msgid ""
" char *\n"
" guestfs_command (guestfs_h *g,\n"
"                  char *const *arguments);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_command (guestfs_h *g,\n"
"                  char *const *arguments);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2762
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 ""
"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>)."

#. type: textblock
#: ../lib/guestfs-actions.pod:2793 ../lib/guestfs-actions.pod:2813
#: ../lib/guestfs-actions.pod:4282
msgid "(Added in 1.9.1)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2795
msgid "guestfs_command_lines"
msgstr "guestfs_command_lines"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2797
#, no-wrap
msgid ""
" char **\n"
" guestfs_command_lines (guestfs_h *g,\n"
"                        char *const *arguments);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_command_lines (guestfs_h *g,\n"
"                        char *const *arguments);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2801
msgid ""
"This is the same as C<guestfs_command>, but splits the result into a list of "
"lines."
msgstr ""
"This is the same as C<guestfs_command>, but splits the result into a list of "
"lines."

#. type: textblock
#: ../lib/guestfs-actions.pod:2804
msgid "See also: C<guestfs_sh_lines>"
msgstr "See also: C<guestfs_sh_lines>"

#. type: =head2
#: ../lib/guestfs-actions.pod:2815
msgid "guestfs_compress_device_out"
msgstr "guestfs_compress_device_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2817
#, no-wrap
msgid ""
" int\n"
" guestfs_compress_device_out (guestfs_h *g,\n"
"                              const char *ctype,\n"
"                              const char *device,\n"
"                              const char *zdevice,\n"
"                              ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_compress_device_out (guestfs_h *g,\n"
"                              const char *ctype,\n"
"                              const char *device,\n"
"                              const char *zdevice,\n"
"                              ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2829
#, no-wrap
msgid ""
" GUESTFS_COMPRESS_DEVICE_OUT_LEVEL, int level,\n"
"\n"
msgstr ""
" GUESTFS_COMPRESS_DEVICE_OUT_LEVEL, int level,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2834
msgid ""
"The C<ctype> and optional C<level> parameters have the same meaning as in "
"C<guestfs_compress_out>."
msgstr ""
"The C<ctype> and optional C<level> parameters have the same meaning as in "
"C<guestfs_compress_out>."

#. type: textblock
#: ../lib/guestfs-actions.pod:2839 ../lib/guestfs-actions.pod:2898
#: ../lib/guestfs-actions.pod:5488 ../lib/guestfs-actions.pod:13764
msgid "(Added in 1.13.15)"
msgstr "(Added in 1.13.15)"

#. type: =head2
#: ../lib/guestfs-actions.pod:2841
msgid "guestfs_compress_device_out_va"
msgstr "guestfs_compress_device_out_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2843
#, no-wrap
msgid ""
" int\n"
" guestfs_compress_device_out_va (guestfs_h *g,\n"
"                                 const char *ctype,\n"
"                                 const char *device,\n"
"                                 const char *zdevice,\n"
"                                 va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_compress_device_out_va (guestfs_h *g,\n"
"                                 const char *ctype,\n"
"                                 const char *device,\n"
"                                 const char *zdevice,\n"
"                                 va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2850
msgid "This is the \"va_list variant\" of L</guestfs_compress_device_out>."
msgstr "This is the \"va_list variant\" of L</guestfs_compress_device_out>."

#. type: =head2
#: ../lib/guestfs-actions.pod:2854
msgid "guestfs_compress_device_out_argv"
msgstr "guestfs_compress_device_out_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2856
#, no-wrap
msgid ""
" int\n"
" guestfs_compress_device_out_argv (guestfs_h *g,\n"
"                                   const char *ctype,\n"
"                                   const char *device,\n"
"                                   const char *zdevice,\n"
"                                   const struct guestfs_compress_device_out_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_compress_device_out_argv (guestfs_h *g,\n"
"                                   const char *ctype,\n"
"                                   const char *device,\n"
"                                   const char *zdevice,\n"
"                                   const struct guestfs_compress_device_out_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2863
msgid "This is the \"argv variant\" of L</guestfs_compress_device_out>."
msgstr "This is the \"argv variant\" of L</guestfs_compress_device_out>."

#. type: =head2
#: ../lib/guestfs-actions.pod:2867
msgid "guestfs_compress_out"
msgstr "guestfs_compress_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2869
#, no-wrap
msgid ""
" int\n"
" guestfs_compress_out (guestfs_h *g,\n"
"                       const char *ctype,\n"
"                       const char *file,\n"
"                       const char *zfile,\n"
"                       ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_compress_out (guestfs_h *g,\n"
"                       const char *ctype,\n"
"                       const char *file,\n"
"                       const char *zfile,\n"
"                       ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2881
#, no-wrap
msgid ""
" GUESTFS_COMPRESS_OUT_LEVEL, int level,\n"
"\n"
msgstr ""
" GUESTFS_COMPRESS_OUT_LEVEL, int level,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:2900
msgid "guestfs_compress_out_va"
msgstr "guestfs_compress_out_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2902
#, no-wrap
msgid ""
" int\n"
" guestfs_compress_out_va (guestfs_h *g,\n"
"                          const char *ctype,\n"
"                          const char *file,\n"
"                          const char *zfile,\n"
"                          va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_compress_out_va (guestfs_h *g,\n"
"                          const char *ctype,\n"
"                          const char *file,\n"
"                          const char *zfile,\n"
"                          va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2909
msgid "This is the \"va_list variant\" of L</guestfs_compress_out>."
msgstr "This is the \"va_list variant\" of L</guestfs_compress_out>."

#. type: =head2
#: ../lib/guestfs-actions.pod:2913
msgid "guestfs_compress_out_argv"
msgstr "guestfs_compress_out_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2915
#, no-wrap
msgid ""
" int\n"
" guestfs_compress_out_argv (guestfs_h *g,\n"
"                            const char *ctype,\n"
"                            const char *file,\n"
"                            const char *zfile,\n"
"                            const struct guestfs_compress_out_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_compress_out_argv (guestfs_h *g,\n"
"                            const char *ctype,\n"
"                            const char *file,\n"
"                            const char *zfile,\n"
"                            const struct guestfs_compress_out_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:2922
msgid "This is the \"argv variant\" of L</guestfs_compress_out>."
msgstr "This is the \"argv variant\" of L</guestfs_compress_out>."

#. type: =head2
#: ../lib/guestfs-actions.pod:2926
msgid "guestfs_config"
msgstr "guestfs_config"

#. type: verbatim
#: ../lib/guestfs-actions.pod:2928
#, no-wrap
msgid ""
" int\n"
" guestfs_config (guestfs_h *g,\n"
"                 const char *hvparam,\n"
"                 const char *hvvalue);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:2946
msgid "guestfs_copy_attributes"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2948
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_attributes (guestfs_h *g,\n"
"                          const char *src,\n"
"                          const char *dest,\n"
"                          ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:2959
#, no-wrap
msgid ""
" GUESTFS_COPY_ATTRIBUTES_ALL, int all,\n"
" GUESTFS_COPY_ATTRIBUTES_MODE, int mode,\n"
" GUESTFS_COPY_ATTRIBUTES_XATTRIBUTES, int xattributes,\n"
" GUESTFS_COPY_ATTRIBUTES_OWNERSHIP, int ownership,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2981
msgid ""
"Copy the Linux extended attributes (xattrs) from C<source> to "
"C<destination>.  This flag does nothing if the I<linuxxattrs> feature is not "
"available (see C<guestfs_feature_available>)."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:2998
msgid "(Added in 1.25.21)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3000
msgid "guestfs_copy_attributes_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3002
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_attributes_va (guestfs_h *g,\n"
"                             const char *src,\n"
"                             const char *dest,\n"
"                             va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3008
msgid "This is the \"va_list variant\" of L</guestfs_copy_attributes>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3012
msgid "guestfs_copy_attributes_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3014
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_attributes_argv (guestfs_h *g,\n"
"                               const char *src,\n"
"                               const char *dest,\n"
"                               const struct guestfs_copy_attributes_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3020
msgid "This is the \"argv variant\" of L</guestfs_copy_attributes>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3024
msgid "guestfs_copy_device_to_device"
msgstr "guestfs_copy_device_to_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3026
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_device_to_device (guestfs_h *g,\n"
"                                const char *src,\n"
"                                const char *dest,\n"
"                                ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_device_to_device (guestfs_h *g,\n"
"                                const char *src,\n"
"                                const char *dest,\n"
"                                ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3037
#, no-wrap
msgid ""
" GUESTFS_COPY_DEVICE_TO_DEVICE_SRCOFFSET, int64_t srcoffset,\n"
" GUESTFS_COPY_DEVICE_TO_DEVICE_DESTOFFSET, int64_t destoffset,\n"
" GUESTFS_COPY_DEVICE_TO_DEVICE_SIZE, int64_t size,\n"
" GUESTFS_COPY_DEVICE_TO_DEVICE_SPARSE, int sparse,\n"
" GUESTFS_COPY_DEVICE_TO_DEVICE_APPEND, int append,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3043
msgid ""
"The four calls C<guestfs_copy_device_to_device>, "
"C<guestfs_copy_device_to_file>, C<guestfs_copy_file_to_device>, and "
"C<guestfs_copy_file_to_file> let you copy from a source (device|file) to a "
"destination (device|file)."
msgstr ""
"The four calls C<guestfs_copy_device_to_device>, "
"C<guestfs_copy_device_to_file>, C<guestfs_copy_file_to_device>, and "
"C<guestfs_copy_file_to_file> let you copy from a source (device|file) to a "
"destination (device|file)."

#. type: textblock
#: ../lib/guestfs-actions.pod:3075 ../lib/guestfs-actions.pod:3130
#: ../lib/guestfs-actions.pod:3185 ../lib/guestfs-actions.pod:3245
#: ../lib/guestfs-actions.pod:3337 ../lib/guestfs-actions.pod:3718
#: ../lib/guestfs-actions.pod:3760 ../lib/guestfs-actions.pod:3815
#: ../lib/guestfs-actions.pod:3849 ../lib/guestfs-actions.pod:3894
#: ../lib/guestfs-actions.pod:4617 ../lib/guestfs-actions.pod:4646
#: ../lib/guestfs-actions.pod:4684 ../lib/guestfs-actions.pod:4779
#: ../lib/guestfs-actions.pod:8417 ../lib/guestfs-actions.pod:11227
#: ../lib/guestfs-actions.pod:15164 ../lib/guestfs-actions.pod:15198
#: ../lib/guestfs-actions.pod:16046 ../lib/guestfs-actions.pod:16084
#: ../lib/guestfs-actions.pod:16167 ../lib/guestfs-actions.pod:16190
#: ../lib/guestfs-actions.pod:16215
msgid ""
"This long-running command can generate progress notification messages so "
"that the caller can display a progress bar or indicator.  To receive these "
"messages, the caller must register a progress event callback.  See "
"L<guestfs(3)/GUESTFS_EVENT_PROGRESS>."
msgstr ""
"This long-running command can generate progress notification messages so "
"that the caller can display a progress bar or indicator.  To receive these "
"messages, the caller must register a progress event callback.  See "
"L<guestfs(3)/GUESTFS_EVENT_PROGRESS>."

#. type: textblock
#: ../lib/guestfs-actions.pod:3080 ../lib/guestfs-actions.pod:3135
#: ../lib/guestfs-actions.pod:3190 ../lib/guestfs-actions.pod:3250
#: ../lib/guestfs-actions.pod:12097
msgid "(Added in 1.13.25)"
msgstr "(Added in 1.13.25)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3082
msgid "guestfs_copy_device_to_device_va"
msgstr "guestfs_copy_device_to_device_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3084
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_device_to_device_va (guestfs_h *g,\n"
"                                   const char *src,\n"
"                                   const char *dest,\n"
"                                   va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_device_to_device_va (guestfs_h *g,\n"
"                                   const char *src,\n"
"                                   const char *dest,\n"
"                                   va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3090
msgid "This is the \"va_list variant\" of L</guestfs_copy_device_to_device>."
msgstr "This is the \"va_list variant\" of L</guestfs_copy_device_to_device>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3094
msgid "guestfs_copy_device_to_device_argv"
msgstr "guestfs_copy_device_to_device_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3096
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_device_to_device_argv (guestfs_h *g,\n"
"                                     const char *src,\n"
"                                     const char *dest,\n"
"                                     const struct guestfs_copy_device_to_device_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_device_to_device_argv (guestfs_h *g,\n"
"                                     const char *src,\n"
"                                     const char *dest,\n"
"                                     const struct guestfs_copy_device_to_device_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3102
msgid "This is the \"argv variant\" of L</guestfs_copy_device_to_device>."
msgstr "This is the \"argv variant\" of L</guestfs_copy_device_to_device>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3106
msgid "guestfs_copy_device_to_file"
msgstr "guestfs_copy_device_to_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3108
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_device_to_file (guestfs_h *g,\n"
"                              const char *src,\n"
"                              const char *dest,\n"
"                              ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_device_to_file (guestfs_h *g,\n"
"                              const char *src,\n"
"                              const char *dest,\n"
"                              ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3119
#, no-wrap
msgid ""
" GUESTFS_COPY_DEVICE_TO_FILE_SRCOFFSET, int64_t srcoffset,\n"
" GUESTFS_COPY_DEVICE_TO_FILE_DESTOFFSET, int64_t destoffset,\n"
" GUESTFS_COPY_DEVICE_TO_FILE_SIZE, int64_t size,\n"
" GUESTFS_COPY_DEVICE_TO_FILE_SPARSE, int sparse,\n"
" GUESTFS_COPY_DEVICE_TO_FILE_APPEND, int append,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3125 ../lib/guestfs-actions.pod:3180
#: ../lib/guestfs-actions.pod:3235
msgid ""
"See C<guestfs_copy_device_to_device> for a general overview of this call."
msgstr ""
"See C<guestfs_copy_device_to_device> for a general overview of this call."

#. type: =head2
#: ../lib/guestfs-actions.pod:3137
msgid "guestfs_copy_device_to_file_va"
msgstr "guestfs_copy_device_to_file_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3139
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_device_to_file_va (guestfs_h *g,\n"
"                                 const char *src,\n"
"                                 const char *dest,\n"
"                                 va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_device_to_file_va (guestfs_h *g,\n"
"                                 const char *src,\n"
"                                 const char *dest,\n"
"                                 va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3145
msgid "This is the \"va_list variant\" of L</guestfs_copy_device_to_file>."
msgstr "This is the \"va_list variant\" of L</guestfs_copy_device_to_file>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3149
msgid "guestfs_copy_device_to_file_argv"
msgstr "guestfs_copy_device_to_file_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3151
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_device_to_file_argv (guestfs_h *g,\n"
"                                   const char *src,\n"
"                                   const char *dest,\n"
"                                   const struct guestfs_copy_device_to_file_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_device_to_file_argv (guestfs_h *g,\n"
"                                   const char *src,\n"
"                                   const char *dest,\n"
"                                   const struct guestfs_copy_device_to_file_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3157
msgid "This is the \"argv variant\" of L</guestfs_copy_device_to_file>."
msgstr "This is the \"argv variant\" of L</guestfs_copy_device_to_file>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3161
msgid "guestfs_copy_file_to_device"
msgstr "guestfs_copy_file_to_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3163
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_file_to_device (guestfs_h *g,\n"
"                              const char *src,\n"
"                              const char *dest,\n"
"                              ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_file_to_device (guestfs_h *g,\n"
"                              const char *src,\n"
"                              const char *dest,\n"
"                              ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3174
#, no-wrap
msgid ""
" GUESTFS_COPY_FILE_TO_DEVICE_SRCOFFSET, int64_t srcoffset,\n"
" GUESTFS_COPY_FILE_TO_DEVICE_DESTOFFSET, int64_t destoffset,\n"
" GUESTFS_COPY_FILE_TO_DEVICE_SIZE, int64_t size,\n"
" GUESTFS_COPY_FILE_TO_DEVICE_SPARSE, int sparse,\n"
" GUESTFS_COPY_FILE_TO_DEVICE_APPEND, int append,\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3192
msgid "guestfs_copy_file_to_device_va"
msgstr "guestfs_copy_file_to_device_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3194
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_file_to_device_va (guestfs_h *g,\n"
"                                 const char *src,\n"
"                                 const char *dest,\n"
"                                 va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_file_to_device_va (guestfs_h *g,\n"
"                                 const char *src,\n"
"                                 const char *dest,\n"
"                                 va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3200
msgid "This is the \"va_list variant\" of L</guestfs_copy_file_to_device>."
msgstr "This is the \"va_list variant\" of L</guestfs_copy_file_to_device>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3204
msgid "guestfs_copy_file_to_device_argv"
msgstr "guestfs_copy_file_to_device_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3206
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_file_to_device_argv (guestfs_h *g,\n"
"                                   const char *src,\n"
"                                   const char *dest,\n"
"                                   const struct guestfs_copy_file_to_device_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_file_to_device_argv (guestfs_h *g,\n"
"                                   const char *src,\n"
"                                   const char *dest,\n"
"                                   const struct guestfs_copy_file_to_device_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3212
msgid "This is the \"argv variant\" of L</guestfs_copy_file_to_device>."
msgstr "This is the \"argv variant\" of L</guestfs_copy_file_to_device>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3216
msgid "guestfs_copy_file_to_file"
msgstr "guestfs_copy_file_to_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3218
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_file_to_file (guestfs_h *g,\n"
"                            const char *src,\n"
"                            const char *dest,\n"
"                            ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_file_to_file (guestfs_h *g,\n"
"                            const char *src,\n"
"                            const char *dest,\n"
"                            ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3229
#, no-wrap
msgid ""
" GUESTFS_COPY_FILE_TO_FILE_SRCOFFSET, int64_t srcoffset,\n"
" GUESTFS_COPY_FILE_TO_FILE_DESTOFFSET, int64_t destoffset,\n"
" GUESTFS_COPY_FILE_TO_FILE_SIZE, int64_t size,\n"
" GUESTFS_COPY_FILE_TO_FILE_SPARSE, int sparse,\n"
" GUESTFS_COPY_FILE_TO_FILE_APPEND, int append,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3238
msgid ""
"This is B<not> the function you want for copying files.  This is for copying "
"blocks within existing files.  See C<guestfs_cp>, C<guestfs_cp_a> and "
"C<guestfs_mv> for general file copying and moving functions."
msgstr ""
"This is B<not> the function you want for copying files.  This is for copying "
"blocks within existing files.  See C<guestfs_cp>, C<guestfs_cp_a> and "
"C<guestfs_mv> for general file copying and moving functions."

#. type: =head2
#: ../lib/guestfs-actions.pod:3252
msgid "guestfs_copy_file_to_file_va"
msgstr "guestfs_copy_file_to_file_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3254
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_file_to_file_va (guestfs_h *g,\n"
"                               const char *src,\n"
"                               const char *dest,\n"
"                               va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_file_to_file_va (guestfs_h *g,\n"
"                               const char *src,\n"
"                               const char *dest,\n"
"                               va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3260
msgid "This is the \"va_list variant\" of L</guestfs_copy_file_to_file>."
msgstr "This is the \"va_list variant\" of L</guestfs_copy_file_to_file>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3264
msgid "guestfs_copy_file_to_file_argv"
msgstr "guestfs_copy_file_to_file_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3266
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_file_to_file_argv (guestfs_h *g,\n"
"                                 const char *src,\n"
"                                 const char *dest,\n"
"                                 const struct guestfs_copy_file_to_file_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_file_to_file_argv (guestfs_h *g,\n"
"                                 const char *src,\n"
"                                 const char *dest,\n"
"                                 const struct guestfs_copy_file_to_file_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3272
msgid "This is the \"argv variant\" of L</guestfs_copy_file_to_file>."
msgstr "This is the \"argv variant\" of L</guestfs_copy_file_to_file>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3276
msgid "guestfs_copy_in"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3278
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_in (guestfs_h *g,\n"
"                  const char *localpath,\n"
"                  const char *remotedir);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3283
msgid ""
"C<guestfs_copy_in> copies local files or directories recursively into the "
"disk image, placing them in the directory called C<remotedir> (which must "
"exist)."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3291 ../lib/guestfs-actions.pod:3312
msgid "(Added in 1.29.24)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3293
msgid "guestfs_copy_out"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3295
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_out (guestfs_h *g,\n"
"                   const char *remotepath,\n"
"                   const char *localdir);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3300
msgid ""
"C<guestfs_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)."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3304
msgid "To download to the current directory, use C<.> as in:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3306
#, no-wrap
msgid ""
" C<guestfs_copy_out> /home .\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3314
msgid "guestfs_copy_size"
msgstr "guestfs_copy_size"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3316
#, no-wrap
msgid ""
" int\n"
" guestfs_copy_size (guestfs_h *g,\n"
"                    const char *src,\n"
"                    const char *dest,\n"
"                    int64_t size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_copy_size (guestfs_h *g,\n"
"                    const char *src,\n"
"                    const char *dest,\n"
"                    int64_t size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3322 ../lib/guestfs-actions.pod:3462
msgid ""
"I<This function is deprecated.> In new code, use the L</"
"guestfs_copy_device_to_device> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</"
"guestfs_copy_device_to_device> call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:3342 ../lib/guestfs-actions.pod:9622
#: ../lib/guestfs-actions.pod:12314 ../lib/guestfs-actions.pod:15504
#: ../lib/guestfs-actions.pod:15546 ../lib/guestfs-actions.pod:15648
msgid "(Added in 1.0.87)"
msgstr "(Added in 1.0.87)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3344
msgid "guestfs_cp"
msgstr "guestfs_cp"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3346
#, no-wrap
msgid ""
" int\n"
" guestfs_cp (guestfs_h *g,\n"
"             const char *src,\n"
"             const char *dest);\n"
"\n"
msgstr ""
" int\n"
" guestfs_cp (guestfs_h *g,\n"
"             const char *src,\n"
"             const char *dest);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3356 ../lib/guestfs-actions.pod:3370
#: ../lib/guestfs-actions.pod:3700 ../lib/guestfs-actions.pod:3874
#: ../lib/guestfs-actions.pod:4069 ../lib/guestfs-actions.pod:11164
#: ../lib/guestfs-actions.pod:12111
msgid "(Added in 1.0.18)"
msgstr "(Added in 1.0.18)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3358
msgid "guestfs_cp_a"
msgstr "guestfs_cp_a"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3360
#, no-wrap
msgid ""
" int\n"
" guestfs_cp_a (guestfs_h *g,\n"
"               const char *src,\n"
"               const char *dest);\n"
"\n"
msgstr ""
" int\n"
" guestfs_cp_a (guestfs_h *g,\n"
"               const char *src,\n"
"               const char *dest);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:3372
msgid "guestfs_cp_r"
msgstr "guestfs_cp_r"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3374
#, no-wrap
msgid ""
" int\n"
" guestfs_cp_r (guestfs_h *g,\n"
"               const char *src,\n"
"               const char *dest);\n"
"\n"
msgstr ""
" int\n"
" guestfs_cp_r (guestfs_h *g,\n"
"               const char *src,\n"
"               const char *dest);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3382
msgid ""
"Most users should use C<guestfs_cp_a> instead.  This command is useful when "
"you don't want to preserve permissions, because the target filesystem does "
"not support it (primarily when writing to DOS FAT filesystems)."
msgstr ""
"Most users should use C<guestfs_cp_a> instead.  This command is useful when "
"you don't want to preserve permissions, because the target filesystem does "
"not support it (primarily when writing to DOS FAT filesystems)."

#. type: textblock
#: ../lib/guestfs-actions.pod:3389
msgid "(Added in 1.21.38)"
msgstr "(Added in 1.21.38)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3391
msgid "guestfs_cpio_out"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3393
#, no-wrap
msgid ""
" int\n"
" guestfs_cpio_out (guestfs_h *g,\n"
"                   const char *directory,\n"
"                   const char *cpiofile,\n"
"                   ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3404
#, no-wrap
msgid ""
" GUESTFS_CPIO_OUT_FORMAT, const char *format,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3429
msgid "(Added in 1.27.9)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3431
msgid "guestfs_cpio_out_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3433
#, no-wrap
msgid ""
" int\n"
" guestfs_cpio_out_va (guestfs_h *g,\n"
"                      const char *directory,\n"
"                      const char *cpiofile,\n"
"                      va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3439
msgid "This is the \"va_list variant\" of L</guestfs_cpio_out>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3443
msgid "guestfs_cpio_out_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3445
#, no-wrap
msgid ""
" int\n"
" guestfs_cpio_out_argv (guestfs_h *g,\n"
"                        const char *directory,\n"
"                        const char *cpiofile,\n"
"                        const struct guestfs_cpio_out_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3451
msgid "This is the \"argv variant\" of L</guestfs_cpio_out>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3455
msgid "guestfs_dd"
msgstr "guestfs_dd"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3457
#, no-wrap
msgid ""
" int\n"
" guestfs_dd (guestfs_h *g,\n"
"             const char *src,\n"
"             const char *dest);\n"
"\n"
msgstr ""
" int\n"
" guestfs_dd (guestfs_h *g,\n"
"             const char *src,\n"
"             const char *dest);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3474
msgid ""
"If the destination is a device, it must be as large or larger than the "
"source file or device, otherwise the copy will fail.  This command cannot do "
"partial copies (see C<guestfs_copy_device_to_device>)."
msgstr ""
"If the destination is a device, it must be as large or larger than the "
"source file or device, otherwise the copy will fail.  This command cannot do "
"partial copies (see C<guestfs_copy_device_to_device>)."

#. type: =head2
#: ../lib/guestfs-actions.pod:3483
msgid "guestfs_device_index"
msgstr "guestfs_device_index"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3485
#, no-wrap
msgid ""
" int\n"
" guestfs_device_index (guestfs_h *g,\n"
"                       const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_device_index (guestfs_h *g,\n"
"                       const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3492
msgid ""
"Index numbers start from 0.  The named device must exist, for example as a "
"string returned from C<guestfs_list_devices>."
msgstr ""
"Index numbers start from 0.  The named device must exist, for example as a "
"string returned from C<guestfs_list_devices>."

#. type: textblock
#: ../lib/guestfs-actions.pod:3495
msgid "See also C<guestfs_list_devices>, C<guestfs_part_to_dev>."
msgstr "See also C<guestfs_list_devices>, C<guestfs_part_to_dev>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3501
msgid "guestfs_df"
msgstr "guestfs_df"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3503
#, no-wrap
msgid ""
" char *\n"
" guestfs_df (guestfs_h *g);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_df (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3508 ../lib/guestfs-actions.pod:3525
msgid ""
"This command is mostly useful for interactive sessions.  It is I<not> "
"intended that you try to parse the output string.  Use C<guestfs_statvfs> "
"from programs."
msgstr ""
"This command is mostly useful for interactive sessions.  It is I<not> "
"intended that you try to parse the output string.  Use C<guestfs_statvfs> "
"from programs."

#. type: textblock
#: ../lib/guestfs-actions.pod:3515 ../lib/guestfs-actions.pod:3532
#: ../lib/guestfs-actions.pod:3899 ../lib/guestfs-actions.pod:5910
#: ../lib/guestfs-actions.pod:5934 ../lib/guestfs-actions.pod:6389
#: ../lib/guestfs-actions.pod:9975 ../lib/guestfs-actions.pod:11024
#: ../lib/guestfs-actions.pod:14511 ../lib/guestfs-actions.pod:14535
#: ../lib/guestfs-actions.pod:15689 ../lib/guestfs-actions.pod:15702
#: ../lib/guestfs-actions.pod:15715
msgid "(Added in 1.0.54)"
msgstr "(Added in 1.0.54)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3517
msgid "guestfs_df_h"
msgstr "guestfs_df_h"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3519
#, no-wrap
msgid ""
" char *\n"
" guestfs_df_h (guestfs_h *g);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_df_h (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:3534
msgid "guestfs_disk_create"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3536
#, no-wrap
msgid ""
" int\n"
" guestfs_disk_create (guestfs_h *g,\n"
"                      const char *filename,\n"
"                      const char *format,\n"
"                      int64_t size,\n"
"                      ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3548
#, no-wrap
msgid ""
" GUESTFS_DISK_CREATE_BACKINGFILE, const char *backingfile,\n"
" GUESTFS_DISK_CREATE_BACKINGFORMAT, const char *backingformat,\n"
" GUESTFS_DISK_CREATE_PREALLOCATION, const char *preallocation,\n"
" GUESTFS_DISK_CREATE_COMPAT, const char *compat,\n"
" GUESTFS_DISK_CREATE_CLUSTERSIZE, int clustersize,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3598
msgid ""
"Note that this call does not add the new disk to the handle.  You may need "
"to call C<guestfs_add_drive_opts> separately."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3603
msgid "(Added in 1.25.31)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3605
msgid "guestfs_disk_create_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3607
#, no-wrap
msgid ""
" int\n"
" guestfs_disk_create_va (guestfs_h *g,\n"
"                         const char *filename,\n"
"                         const char *format,\n"
"                         int64_t size,\n"
"                         va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3614
msgid "This is the \"va_list variant\" of L</guestfs_disk_create>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3618
msgid "guestfs_disk_create_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3620
#, no-wrap
msgid ""
" int\n"
" guestfs_disk_create_argv (guestfs_h *g,\n"
"                           const char *filename,\n"
"                           const char *format,\n"
"                           int64_t size,\n"
"                           const struct guestfs_disk_create_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3627
msgid "This is the \"argv variant\" of L</guestfs_disk_create>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3631
msgid "guestfs_disk_format"
msgstr "guestfs_disk_format"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3633
#, no-wrap
msgid ""
" char *\n"
" guestfs_disk_format (guestfs_h *g,\n"
"                      const char *filename);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_disk_format (guestfs_h *g,\n"
"                      const char *filename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3649
msgid "(Added in 1.19.38)"
msgstr "(Added in 1.19.38)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3651
msgid "guestfs_disk_has_backing_file"
msgstr "guestfs_disk_has_backing_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3653
#, no-wrap
msgid ""
" int\n"
" guestfs_disk_has_backing_file (guestfs_h *g,\n"
"                                const char *filename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_disk_has_backing_file (guestfs_h *g,\n"
"                                const char *filename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3665 ../lib/guestfs-actions.pod:3681
msgid "(Added in 1.19.39)"
msgstr "(Added in 1.19.39)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3667
msgid "guestfs_disk_virtual_size"
msgstr "guestfs_disk_virtual_size"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3669
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_disk_virtual_size (guestfs_h *g,\n"
"                            const char *filename);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_disk_virtual_size (guestfs_h *g,\n"
"                            const char *filename);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:3683
msgid "guestfs_dmesg"
msgstr "guestfs_dmesg"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3685
#, no-wrap
msgid ""
" char *\n"
" guestfs_dmesg (guestfs_h *g);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_dmesg (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3692
msgid ""
"Another way to get the same information is to enable verbose messages with "
"C<guestfs_set_verbose> or by setting the environment variable "
"C<LIBGUESTFS_DEBUG=1> before running the program."
msgstr ""
"Another way to get the same information is to enable verbose messages with "
"C<guestfs_set_verbose> or by setting the environment variable "
"C<LIBGUESTFS_DEBUG=1> before running the program."

#. type: =head2
#: ../lib/guestfs-actions.pod:3702
msgid "guestfs_download"
msgstr "guestfs_download"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3704
#, no-wrap
msgid ""
" int\n"
" guestfs_download (guestfs_h *g,\n"
"                   const char *remotefilename,\n"
"                   const char *filename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_download (guestfs_h *g,\n"
"                   const char *remotefilename,\n"
"                   const char *filename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3714
msgid "See also C<guestfs_upload>, C<guestfs_cat>."
msgstr "See also C<guestfs_upload>, C<guestfs_cat>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3725
msgid "guestfs_download_blocks"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3727
#, no-wrap
msgid ""
" int\n"
" guestfs_download_blocks (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int64_t start,\n"
"                          int64_t stop,\n"
"                          const char *filename,\n"
"                          ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3740
#, no-wrap
msgid ""
" GUESTFS_DOWNLOAD_BLOCKS_UNALLOCATED, int unallocated,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3765 ../lib/guestfs-actions.pod:3820
msgid ""
"This function depends on the feature C<sleuthkit>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3768
msgid "(Added in 1.33.45)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3770
msgid "guestfs_download_blocks_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3772
#, no-wrap
msgid ""
" int\n"
" guestfs_download_blocks_va (guestfs_h *g,\n"
"                             const char *device,\n"
"                             int64_t start,\n"
"                             int64_t stop,\n"
"                             const char *filename,\n"
"                             va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3780
msgid "This is the \"va_list variant\" of L</guestfs_download_blocks>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3784
msgid "guestfs_download_blocks_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3786
#, no-wrap
msgid ""
" int\n"
" guestfs_download_blocks_argv (guestfs_h *g,\n"
"                               const char *device,\n"
"                               int64_t start,\n"
"                               int64_t stop,\n"
"                               const char *filename,\n"
"                               const struct guestfs_download_blocks_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3794
msgid "This is the \"argv variant\" of L</guestfs_download_blocks>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3798
msgid "guestfs_download_inode"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:3800
#, no-wrap
msgid ""
" int\n"
" guestfs_download_inode (guestfs_h *g,\n"
"                         const char *device,\n"
"                         int64_t inode,\n"
"                         const char *filename);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:3823 ../lib/guestfs-actions.pod:11232
msgid "(Added in 1.33.14)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:3825
msgid "guestfs_download_offset"
msgstr "guestfs_download_offset"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3827
#, no-wrap
msgid ""
" int\n"
" guestfs_download_offset (guestfs_h *g,\n"
"                          const char *remotefilename,\n"
"                          const char *filename,\n"
"                          int64_t offset,\n"
"                          int64_t size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_download_offset (guestfs_h *g,\n"
"                          const char *remotefilename,\n"
"                          const char *filename,\n"
"                          int64_t offset,\n"
"                          int64_t size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3840
msgid ""
"Note that there is no limit on the amount of data that can be downloaded "
"with this call, unlike with C<guestfs_pread>, and this call always reads the "
"full amount unless an error occurs."
msgstr ""
"Note that there is no limit on the amount of data that can be downloaded "
"with this call, unlike with C<guestfs_pread>, and this call always reads the "
"full amount unless an error occurs."

#. type: textblock
#: ../lib/guestfs-actions.pod:3845
msgid "See also C<guestfs_download>, C<guestfs_pread>."
msgstr "See also C<guestfs_download>, C<guestfs_pread>."

#. type: textblock
#: ../lib/guestfs-actions.pod:3854 ../lib/guestfs-actions.pod:15203
msgid "(Added in 1.5.17)"
msgstr "(Added in 1.5.17)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3856
msgid "guestfs_drop_caches"
msgstr "guestfs_drop_caches"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3858
#, no-wrap
msgid ""
" int\n"
" guestfs_drop_caches (guestfs_h *g,\n"
"                      int whattodrop);\n"
"\n"
msgstr ""
" int\n"
" guestfs_drop_caches (guestfs_h *g,\n"
"                      int whattodrop);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:3876
msgid "guestfs_du"
msgstr "guestfs_du"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3878
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_du (guestfs_h *g,\n"
"             const char *path);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_du (guestfs_h *g,\n"
"             const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:3901
msgid "guestfs_e2fsck"
msgstr "guestfs_e2fsck"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3903
#, no-wrap
msgid ""
" int\n"
" guestfs_e2fsck (guestfs_h *g,\n"
"                 const char *device,\n"
"                 ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_e2fsck (guestfs_h *g,\n"
"                 const char *device,\n"
"                 ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3913
#, no-wrap
msgid ""
" GUESTFS_E2FSCK_CORRECT, int correct,\n"
" GUESTFS_E2FSCK_FORCEALL, int forceall,\n"
"\n"
msgstr ""
" GUESTFS_E2FSCK_CORRECT, int correct,\n"
" GUESTFS_E2FSCK_FORCEALL, int forceall,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3940
msgid "(Added in 1.15.17)"
msgstr "(Added in 1.15.17)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3942
msgid "guestfs_e2fsck_va"
msgstr "guestfs_e2fsck_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3944
#, no-wrap
msgid ""
" int\n"
" guestfs_e2fsck_va (guestfs_h *g,\n"
"                    const char *device,\n"
"                    va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_e2fsck_va (guestfs_h *g,\n"
"                    const char *device,\n"
"                    va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3949
msgid "This is the \"va_list variant\" of L</guestfs_e2fsck>."
msgstr "This is the \"va_list variant\" of L</guestfs_e2fsck>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3953
msgid "guestfs_e2fsck_argv"
msgstr "guestfs_e2fsck_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3955
#, no-wrap
msgid ""
" int\n"
" guestfs_e2fsck_argv (guestfs_h *g,\n"
"                      const char *device,\n"
"                      const struct guestfs_e2fsck_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_e2fsck_argv (guestfs_h *g,\n"
"                      const char *device,\n"
"                      const struct guestfs_e2fsck_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3960
msgid "This is the \"argv variant\" of L</guestfs_e2fsck>."
msgstr "This is the \"argv variant\" of L</guestfs_e2fsck>."

#. type: =head2
#: ../lib/guestfs-actions.pod:3964
msgid "guestfs_e2fsck_f"
msgstr "guestfs_e2fsck_f"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3966
#, no-wrap
msgid ""
" int\n"
" guestfs_e2fsck_f (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_e2fsck_f (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3970
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_e2fsck> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_e2fsck> call "
"instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:3983
msgid "(Added in 1.0.29)"
msgstr "(Added in 1.0.29)"

#. type: =head2
#: ../lib/guestfs-actions.pod:3985
msgid "guestfs_echo_daemon"
msgstr "guestfs_echo_daemon"

#. type: verbatim
#: ../lib/guestfs-actions.pod:3987
#, no-wrap
msgid ""
" char *\n"
" guestfs_echo_daemon (guestfs_h *g,\n"
"                      char *const *words);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_echo_daemon (guestfs_h *g,\n"
"                      char *const *words);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:3996
msgid "See also C<guestfs_ping_daemon>."
msgstr "See also C<guestfs_ping_daemon>."

#. type: textblock
#: ../lib/guestfs-actions.pod:4001 ../lib/guestfs-actions.pod:5545
#: ../lib/guestfs-actions.pod:13805
msgid "(Added in 1.0.69)"
msgstr "(Added in 1.0.69)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4003
msgid "guestfs_egrep"
msgstr "guestfs_egrep"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4005
#, no-wrap
msgid ""
" char **\n"
" guestfs_egrep (guestfs_h *g,\n"
"                const char *regex,\n"
"                const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_egrep (guestfs_h *g,\n"
"                const char *regex,\n"
"                const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4010 ../lib/guestfs-actions.pod:4036
#: ../lib/guestfs-actions.pod:4211 ../lib/guestfs-actions.pod:4237
#: ../lib/guestfs-actions.pod:5825 ../lib/guestfs-actions.pod:16101
#: ../lib/guestfs-actions.pod:16127 ../lib/guestfs-actions.pod:16253
#: ../lib/guestfs-actions.pod:16279 ../lib/guestfs-actions.pod:16332
#: ../lib/guestfs-actions.pod:16358
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_grep> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_grep> call "
"instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:4027 ../lib/guestfs-actions.pod:4053
#: ../lib/guestfs-actions.pod:4160 ../lib/guestfs-actions.pod:4228
#: ../lib/guestfs-actions.pod:4254 ../lib/guestfs-actions.pod:5736
#: ../lib/guestfs-actions.pod:5792 ../lib/guestfs-actions.pod:5842
#: ../lib/guestfs-actions.pod:6413 ../lib/guestfs-actions.pod:6429
#: ../lib/guestfs-actions.pod:6447 ../lib/guestfs-actions.pod:6494
#: ../lib/guestfs-actions.pod:6519 ../lib/guestfs-actions.pod:6535
#: ../lib/guestfs-actions.pod:8937 ../lib/guestfs-actions.pod:8951
#: ../lib/guestfs-actions.pod:8964 ../lib/guestfs-actions.pod:8978
#: ../lib/guestfs-actions.pod:10755 ../lib/guestfs-actions.pod:12490
#: ../lib/guestfs-actions.pod:12535 ../lib/guestfs-actions.pod:14300
#: ../lib/guestfs-actions.pod:14312 ../lib/guestfs-actions.pod:14325
#: ../lib/guestfs-actions.pod:14341 ../lib/guestfs-actions.pod:14363
#: ../lib/guestfs-actions.pod:14376 ../lib/guestfs-actions.pod:14389
#: ../lib/guestfs-actions.pod:14405 ../lib/guestfs-actions.pod:16118
#: ../lib/guestfs-actions.pod:16144 ../lib/guestfs-actions.pod:16270
#: ../lib/guestfs-actions.pod:16296 ../lib/guestfs-actions.pod:16349
#: ../lib/guestfs-actions.pod:16375
msgid "(Added in 1.0.66)"
msgstr "(Added in 1.0.66)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4029
msgid "guestfs_egrepi"
msgstr "guestfs_egrepi"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4031
#, no-wrap
msgid ""
" char **\n"
" guestfs_egrepi (guestfs_h *g,\n"
"                 const char *regex,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_egrepi (guestfs_h *g,\n"
"                 const char *regex,\n"
"                 const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:4055
msgid "guestfs_equal"
msgstr "guestfs_equal"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4057
#, no-wrap
msgid ""
" int\n"
" guestfs_equal (guestfs_h *g,\n"
"                const char *file1,\n"
"                const char *file2);\n"
"\n"
msgstr ""
" int\n"
" guestfs_equal (guestfs_h *g,\n"
"                const char *file1,\n"
"                const char *file2);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:4071
msgid "guestfs_exists"
msgstr "guestfs_exists"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4073
#, no-wrap
msgid ""
" int\n"
" guestfs_exists (guestfs_h *g,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_exists (guestfs_h *g,\n"
"                 const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4080
msgid "See also C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>."
msgstr "See also C<guestfs_is_file>, C<guestfs_is_dir>, C<guestfs_stat>."

#. type: =head2
#: ../lib/guestfs-actions.pod:4086
msgid "guestfs_extlinux"
msgstr "guestfs_extlinux"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4088
#, no-wrap
msgid ""
" int\n"
" guestfs_extlinux (guestfs_h *g,\n"
"                   const char *directory);\n"
"\n"
msgstr ""
" int\n"
" guestfs_extlinux (guestfs_h *g,\n"
"                   const char *directory);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4092
msgid ""
"Install the SYSLINUX bootloader on the device mounted at F<directory>.  "
"Unlike C<guestfs_syslinux> which requires a FAT filesystem, this can be used "
"on an ext2/3/4 or btrfs filesystem."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4099
msgid ""
"You also have to mark the partition as \"active"
"\" (C<guestfs_part_set_bootable>) and a Master Boot Record must be installed "
"(eg. using C<guestfs_pwrite_device>) on the first sector of the whole disk.  "
"The SYSLINUX package comes with some suitable Master Boot Records.  See the "
"L<extlinux(1)> man page for further information."
msgstr ""
"You also have to mark the partition as \"active"
"\" (C<guestfs_part_set_bootable>) and a Master Boot Record must be installed "
"(eg. using C<guestfs_pwrite_device>) on the first sector of the whole disk.  "
"The SYSLINUX package comes with some suitable Master Boot Records.  See the "
"L<extlinux(1)> man page for further information."

#. type: textblock
#: ../lib/guestfs-actions.pod:4111
msgid "See also C<guestfs_syslinux>."
msgstr "See also C<guestfs_syslinux>."

#. type: textblock
#: ../lib/guestfs-actions.pod:4115
msgid ""
"This function depends on the feature C<extlinux>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4118 ../lib/guestfs-actions.pod:14471
msgid "(Added in 1.21.27)"
msgstr "(Added in 1.21.27)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4120
msgid "guestfs_f2fs_expand"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:4122
#, no-wrap
msgid ""
" int\n"
" guestfs_f2fs_expand (guestfs_h *g,\n"
"                      const char *device);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4131
msgid ""
"This function depends on the feature C<f2fs>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4134
msgid "(Added in 1.39.3)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:4136
msgid "guestfs_fallocate"
msgstr "guestfs_fallocate"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4138
#, no-wrap
msgid ""
" int\n"
" guestfs_fallocate (guestfs_h *g,\n"
"                    const char *path,\n"
"                    int len);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fallocate (guestfs_h *g,\n"
"                    const char *path,\n"
"                    int len);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4143
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_fallocate64> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_fallocate64> "
"call instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:4162
msgid "guestfs_fallocate64"
msgstr "guestfs_fallocate64"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4164
#, no-wrap
msgid ""
" int\n"
" guestfs_fallocate64 (guestfs_h *g,\n"
"                      const char *path,\n"
"                      int64_t len);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fallocate64 (guestfs_h *g,\n"
"                      const char *path,\n"
"                      int64_t len);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4173
msgid ""
"Note that this call allocates disk blocks for the file.  To create a sparse "
"file use C<guestfs_truncate_size> instead."
msgstr ""
"Note that this call allocates disk blocks for the file.  To create a sparse "
"file use C<guestfs_truncate_size> instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:4176
msgid ""
"The deprecated call C<guestfs_fallocate> does the same, but owing to an "
"oversight it only allowed 30 bit lengths to be specified, effectively "
"limiting the maximum size of files created through that call to 1GB."
msgstr ""
"The deprecated call C<guestfs_fallocate> does the same, but owing to an "
"oversight it only allowed 30 bit lengths to be specified, effectively "
"limiting the maximum size of files created through that call to 1GB."

#. type: textblock
#: ../lib/guestfs-actions.pod:4187
msgid "(Added in 1.3.17)"
msgstr "(Added in 1.3.17)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4189
msgid "guestfs_feature_available"
msgstr "guestfs_feature_available"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4191
#, no-wrap
msgid ""
" int\n"
" guestfs_feature_available (guestfs_h *g,\n"
"                            char *const *groups);\n"
"\n"
msgstr ""
" int\n"
" guestfs_feature_available (guestfs_h *g,\n"
"                            char *const *groups);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4195
msgid ""
"This is the same as C<guestfs_available>, but unlike that call it returns a "
"simple true/false boolean result, instead of throwing an exception if a "
"feature is not found.  For other documentation see C<guestfs_available>."
msgstr ""
"This is the same as C<guestfs_available>, but unlike that call it returns a "
"simple true/false boolean result, instead of throwing an exception if a "
"feature is not found.  For other documentation see C<guestfs_available>."

#. type: textblock
#: ../lib/guestfs-actions.pod:4202 ../lib/guestfs-actions.pod:4991
#: ../lib/guestfs-actions.pod:13168
msgid "(Added in 1.21.26)"
msgstr "(Added in 1.21.26)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4204
msgid "guestfs_fgrep"
msgstr "guestfs_fgrep"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4206
#, no-wrap
msgid ""
" char **\n"
" guestfs_fgrep (guestfs_h *g,\n"
"                const char *pattern,\n"
"                const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_fgrep (guestfs_h *g,\n"
"                const char *pattern,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:4230
msgid "guestfs_fgrepi"
msgstr "guestfs_fgrepi"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4232
#, no-wrap
msgid ""
" char **\n"
" guestfs_fgrepi (guestfs_h *g,\n"
"                 const char *pattern,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_fgrepi (guestfs_h *g,\n"
"                 const char *pattern,\n"
"                 const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:4256
msgid "guestfs_file"
msgstr "guestfs_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4258
#, no-wrap
msgid ""
" char *\n"
" guestfs_file (guestfs_h *g,\n"
"               const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_file (guestfs_h *g,\n"
"               const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4276
msgid ""
"See also: L<file(1)>, C<guestfs_vfs_type>, C<guestfs_lstat>, "
"C<guestfs_is_file>, C<guestfs_is_blockdev> (etc), C<guestfs_is_zero>."
msgstr ""
"See also: L<file(1)>, C<guestfs_vfs_type>, C<guestfs_lstat>, "
"C<guestfs_is_file>, C<guestfs_is_blockdev> (etc), C<guestfs_is_zero>."

#. type: =head2
#: ../lib/guestfs-actions.pod:4284
msgid "guestfs_file_architecture"
msgstr "guestfs_file_architecture"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4286
#, no-wrap
msgid ""
" char *\n"
" guestfs_file_architecture (guestfs_h *g,\n"
"                            const char *filename);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_file_architecture (guestfs_h *g,\n"
"                            const char *filename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4422 ../lib/guestfs-actions.pod:4804
#: ../lib/guestfs-actions.pod:4821 ../lib/guestfs-actions.pod:6555
#: ../lib/guestfs-actions.pod:6733 ../lib/guestfs-actions.pod:6799
#: ../lib/guestfs-actions.pod:6992 ../lib/guestfs-actions.pod:7010
#: ../lib/guestfs-actions.pod:7050 ../lib/guestfs-actions.pod:7147
#: ../lib/guestfs-actions.pod:7260 ../lib/guestfs-actions.pod:7676
#: ../lib/guestfs-actions.pod:8047
msgid "(Added in 1.5.3)"
msgstr "(Added in 1.5.3)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4424
msgid "guestfs_filesize"
msgstr "guestfs_filesize"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4426
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_filesize (guestfs_h *g,\n"
"                   const char *file);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_filesize (guestfs_h *g,\n"
"                   const char *file);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4432
msgid ""
"To get other stats about a file, use C<guestfs_stat>, C<guestfs_lstat>, "
"C<guestfs_is_dir>, C<guestfs_is_file> etc.  To get the size of block "
"devices, use C<guestfs_blockdev_getsize64>."
msgstr ""
"To get other stats about a file, use C<guestfs_stat>, C<guestfs_lstat>, "
"C<guestfs_is_dir>, C<guestfs_is_file> etc.  To get the size of block "
"devices, use C<guestfs_blockdev_getsize64>."

#. type: textblock
#: ../lib/guestfs-actions.pod:4438
msgid "(Added in 1.0.82)"
msgstr "(Added in 1.0.82)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4440
msgid "guestfs_filesystem_available"
msgstr "guestfs_filesystem_available"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4442
#, no-wrap
msgid ""
" int\n"
" guestfs_filesystem_available (guestfs_h *g,\n"
"                               const char *filesystem);\n"
"\n"
msgstr ""
" int\n"
" guestfs_filesystem_available (guestfs_h *g,\n"
"                               const char *filesystem);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4450
msgid "You must call C<guestfs_launch> before using this command."
msgstr "You must call C<guestfs_launch> before using this command."

#. type: textblock
#: ../lib/guestfs-actions.pod:4459
msgid ""
"See also C<guestfs_available>, C<guestfs_feature_available>, L<guestfs(3)/"
"AVAILABILITY>."
msgstr ""
"See also C<guestfs_available>, C<guestfs_feature_available>, L<guestfs(3)/"
"AVAILABILITY>."

#. type: textblock
#: ../lib/guestfs-actions.pod:4464
msgid "(Added in 1.19.5)"
msgstr "(Added in 1.19.5)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4466
msgid "guestfs_filesystem_walk"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:4468
#, no-wrap
msgid ""
" struct guestfs_tsk_dirent_list *\n"
" guestfs_filesystem_walk (guestfs_h *g,\n"
"                          const char *device);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4613 ../lib/guestfs-actions.pod:4775
msgid ""
"This function returns a C<struct guestfs_tsk_dirent_list *>, or NULL if "
"there was an error.  I<The caller must call C<guestfs_free_tsk_dirent_list> "
"after use>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4622 ../lib/guestfs-actions.pod:4784
msgid ""
"This function depends on the feature C<libtsk>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4625
msgid "(Added in 1.33.39)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:4627
msgid "guestfs_fill"
msgstr "guestfs_fill"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4629
#, no-wrap
msgid ""
" int\n"
" guestfs_fill (guestfs_h *g,\n"
"               int c,\n"
"               int len,\n"
"               const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fill (guestfs_h *g,\n"
"               int c,\n"
"               int len,\n"
"               const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4639
msgid ""
"To fill a file with zero bytes (sparsely), it is much more efficient to use "
"C<guestfs_truncate_size>.  To create a file with a pattern of repeating "
"bytes use C<guestfs_fill_pattern>."
msgstr ""
"To fill a file with zero bytes (sparsely), it is much more efficient to use "
"C<guestfs_truncate_size>.  To create a file with a pattern of repeating "
"bytes use C<guestfs_fill_pattern>."

#. type: textblock
#: ../lib/guestfs-actions.pod:4651
msgid "(Added in 1.0.79)"
msgstr "(Added in 1.0.79)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4653
msgid "guestfs_fill_dir"
msgstr "guestfs_fill_dir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4655
#, no-wrap
msgid ""
" int\n"
" guestfs_fill_dir (guestfs_h *g,\n"
"                   const char *dir,\n"
"                   int nr);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fill_dir (guestfs_h *g,\n"
"                   const char *dir,\n"
"                   int nr);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4667 ../lib/guestfs-actions.pod:9031
msgid "(Added in 1.19.32)"
msgstr "(Added in 1.19.32)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4669
msgid "guestfs_fill_pattern"
msgstr "guestfs_fill_pattern"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4671
#, no-wrap
msgid ""
" int\n"
" guestfs_fill_pattern (guestfs_h *g,\n"
"                       const char *pattern,\n"
"                       int len,\n"
"                       const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fill_pattern (guestfs_h *g,\n"
"                       const char *pattern,\n"
"                       int len,\n"
"                       const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4677
msgid ""
"This function is like C<guestfs_fill> except that it creates a new file of "
"length C<len> containing the repeating pattern of bytes in C<pattern>.  The "
"pattern is truncated if necessary to ensure the length of the file is "
"exactly C<len> bytes."
msgstr ""
"This function is like C<guestfs_fill> except that it creates a new file of "
"length C<len> containing the repeating pattern of bytes in C<pattern>.  The "
"pattern is truncated if necessary to ensure the length of the file is "
"exactly C<len> bytes."

#. type: textblock
#: ../lib/guestfs-actions.pod:4689
msgid "(Added in 1.3.12)"
msgstr "(Added in 1.3.12)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4691
msgid "guestfs_find"
msgstr "guestfs_find"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4693
#, no-wrap
msgid ""
" char **\n"
" guestfs_find (guestfs_h *g,\n"
"               const char *directory);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_find (guestfs_h *g,\n"
"               const char *directory);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4709
msgid ""
"then the returned list from C<guestfs_find> F</tmp> would be 4 elements:"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4726 ../lib/guestfs-actions.pod:9550
#: ../lib/guestfs-actions.pod:12654
msgid "(Added in 1.0.27)"
msgstr "(Added in 1.0.27)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4728
msgid "guestfs_find0"
msgstr "guestfs_find0"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4730
#, no-wrap
msgid ""
" int\n"
" guestfs_find0 (guestfs_h *g,\n"
"                const char *directory,\n"
"                const char *files);\n"
"\n"
msgstr ""
" int\n"
" guestfs_find0 (guestfs_h *g,\n"
"                const char *directory,\n"
"                const char *files);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4739
msgid ""
"This command works the same way as C<guestfs_find> with the following "
"exceptions:"
msgstr ""
"This command works the same way as C<guestfs_find> with the following "
"exceptions:"

#. type: textblock
#: ../lib/guestfs-actions.pod:4761
msgid "(Added in 1.0.74)"
msgstr "(Added in 1.0.74)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4763
msgid "guestfs_find_inode"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:4765
#, no-wrap
msgid ""
" struct guestfs_tsk_dirent_list *\n"
" guestfs_find_inode (guestfs_h *g,\n"
"                     const char *device,\n"
"                     int64_t inode);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4787
msgid "(Added in 1.35.6)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:4789
msgid "guestfs_findfs_label"
msgstr "guestfs_findfs_label"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4791
#, no-wrap
msgid ""
" char *\n"
" guestfs_findfs_label (guestfs_h *g,\n"
"                       const char *label);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_findfs_label (guestfs_h *g,\n"
"                       const char *label);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4799
msgid "To find the label of a filesystem, use C<guestfs_vfs_label>."
msgstr "To find the label of a filesystem, use C<guestfs_vfs_label>."

#. type: =head2
#: ../lib/guestfs-actions.pod:4806
msgid "guestfs_findfs_uuid"
msgstr "guestfs_findfs_uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4808
#, no-wrap
msgid ""
" char *\n"
" guestfs_findfs_uuid (guestfs_h *g,\n"
"                      const char *uuid);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_findfs_uuid (guestfs_h *g,\n"
"                      const char *uuid);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4816
msgid "To find the UUID of a filesystem, use C<guestfs_vfs_uuid>."
msgstr "To find the UUID of a filesystem, use C<guestfs_vfs_uuid>."

#. type: =head2
#: ../lib/guestfs-actions.pod:4823
msgid "guestfs_fsck"
msgstr "guestfs_fsck"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4825
#, no-wrap
msgid ""
" int\n"
" guestfs_fsck (guestfs_h *g,\n"
"               const char *fstype,\n"
"               const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fsck (guestfs_h *g,\n"
"               const char *fstype,\n"
"               const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4860 ../lib/guestfs-actions.pod:16172
msgid "(Added in 1.0.16)"
msgstr "(Added in 1.0.16)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4862
msgid "guestfs_fstrim"
msgstr "guestfs_fstrim"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4864
#, no-wrap
msgid ""
" int\n"
" guestfs_fstrim (guestfs_h *g,\n"
"                 const char *mountpoint,\n"
"                 ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fstrim (guestfs_h *g,\n"
"                 const char *mountpoint,\n"
"                 ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4874
#, no-wrap
msgid ""
" GUESTFS_FSTRIM_OFFSET, int64_t offset,\n"
" GUESTFS_FSTRIM_LENGTH, int64_t length,\n"
" GUESTFS_FSTRIM_MINIMUMFREEEXTENT, int64_t minimumfreeextent,\n"
"\n"
msgstr ""
" GUESTFS_FSTRIM_OFFSET, int64_t offset,\n"
" GUESTFS_FSTRIM_LENGTH, int64_t length,\n"
" GUESTFS_FSTRIM_MINIMUMFREEEXTENT, int64_t minimumfreeextent,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4895
msgid ""
"See also C<guestfs_zero_free_space>.  That is a slightly different operation "
"that turns free space in the filesystem into zeroes.  It is valid to call "
"C<guestfs_fstrim> either instead of, or after calling "
"C<guestfs_zero_free_space>."
msgstr ""
"See also C<guestfs_zero_free_space>.  That is a slightly different operation "
"that turns free space in the filesystem into zeroes.  It is valid to call "
"C<guestfs_fstrim> either instead of, or after calling "
"C<guestfs_zero_free_space>."

#. type: textblock
#: ../lib/guestfs-actions.pod:4902
msgid ""
"This function depends on the feature C<fstrim>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:4905
msgid "(Added in 1.19.6)"
msgstr "(Added in 1.19.6)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4907
msgid "guestfs_fstrim_va"
msgstr "guestfs_fstrim_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4909
#, no-wrap
msgid ""
" int\n"
" guestfs_fstrim_va (guestfs_h *g,\n"
"                    const char *mountpoint,\n"
"                    va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fstrim_va (guestfs_h *g,\n"
"                    const char *mountpoint,\n"
"                    va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4914
msgid "This is the \"va_list variant\" of L</guestfs_fstrim>."
msgstr "This is the \"va_list variant\" of L</guestfs_fstrim>."

#. type: =head2
#: ../lib/guestfs-actions.pod:4918
msgid "guestfs_fstrim_argv"
msgstr "guestfs_fstrim_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4920
#, no-wrap
msgid ""
" int\n"
" guestfs_fstrim_argv (guestfs_h *g,\n"
"                      const char *mountpoint,\n"
"                      const struct guestfs_fstrim_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_fstrim_argv (guestfs_h *g,\n"
"                      const char *mountpoint,\n"
"                      const struct guestfs_fstrim_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4925
msgid "This is the \"argv variant\" of L</guestfs_fstrim>."
msgstr "This is the \"argv variant\" of L</guestfs_fstrim>."

#. type: =head2
#: ../lib/guestfs-actions.pod:4929
msgid "guestfs_get_append"
msgstr "guestfs_get_append"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4931
#, no-wrap
msgid ""
" const char *\n"
" guestfs_get_append (guestfs_h *g);\n"
"\n"
msgstr ""
" const char *\n"
" guestfs_get_append (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4939
msgid ""
"This function returns a string which may be NULL.  There is no way to return "
"an error from this function.  The string is owned by the guest handle and "
"must I<not> be freed."
msgstr ""
"This function returns a string which may be NULL.  There is no way to return "
"an error from this function.  The string is owned by the guest handle and "
"must I<not> be freed."

#. type: textblock
#: ../lib/guestfs-actions.pod:4943 ../lib/guestfs-actions.pod:12245
#: ../lib/guestfs-actions.pod:13111 ../lib/guestfs-actions.pod:14011
#: ../lib/guestfs-actions.pod:14030 ../lib/guestfs-actions.pod:14046
#: ../lib/guestfs-actions.pod:14070 ../lib/guestfs-actions.pod:15420
#: ../lib/guestfs-actions.pod:15438 ../lib/guestfs-actions.pod:16244
msgid "(Added in 1.0.26)"
msgstr "(Added in 1.0.26)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4945
msgid "guestfs_get_attach_method"
msgstr "guestfs_get_attach_method"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4947
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_attach_method (guestfs_h *g);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_attach_method (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:4950
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_get_backend> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_get_backend> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:4959 ../lib/guestfs-actions.pod:4986
msgid "See C<guestfs_set_backend> and L<guestfs(3)/BACKEND>."
msgstr "See C<guestfs_set_backend> and L<guestfs(3)/BACKEND>."

#. type: textblock
#: ../lib/guestfs-actions.pod:4964 ../lib/guestfs-actions.pod:13133
msgid "(Added in 1.9.8)"
msgstr "(Added in 1.9.8)"

#. type: =head2
#: ../lib/guestfs-actions.pod:4966
msgid "guestfs_get_autosync"
msgstr "guestfs_get_autosync"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4968
#, no-wrap
msgid ""
" int\n"
" guestfs_get_autosync (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_autosync (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:4977
msgid "guestfs_get_backend"
msgstr "guestfs_get_backend"

#. type: verbatim
#: ../lib/guestfs-actions.pod:4979
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_backend (guestfs_h *g);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_backend (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:4993
msgid "guestfs_get_backend_setting"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:4995
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_backend_setting (guestfs_h *g,\n"
"                              const char *name);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5004
msgid ""
"If no such setting is found, this function throws an error.  The errno (see "
"C<guestfs_last_errno>) will be C<ESRCH> in this case."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5015
msgid "guestfs_get_backend_settings"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:5017
#, no-wrap
msgid ""
" char **\n"
" guestfs_get_backend_settings (guestfs_h *g);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5022
msgid ""
"This call returns all backend settings strings.  If you want to find a "
"single backend setting, see C<guestfs_get_backend_setting>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5031 ../lib/guestfs-actions.pod:13212
msgid "(Added in 1.25.24)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5033
msgid "guestfs_get_cachedir"
msgstr "guestfs_get_cachedir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5035
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_cachedir (guestfs_h *g);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_cachedir (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5043 ../lib/guestfs-actions.pod:5534
#: ../lib/guestfs-actions.pod:13232 ../lib/guestfs-actions.pod:13781
msgid "(Added in 1.19.58)"
msgstr "(Added in 1.19.58)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5045
msgid "guestfs_get_direct"
msgstr "guestfs_get_direct"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5047
#, no-wrap
msgid ""
" int\n"
" guestfs_get_direct (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_direct (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5050 ../lib/guestfs-actions.pod:13240
msgid ""
"I<This function is deprecated.> In new code, use the L</"
"guestfs_internal_get_console_socket> call instead."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5061 ../lib/guestfs-actions.pod:13262
msgid "(Added in 1.0.72)"
msgstr "(Added in 1.0.72)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5063
msgid "guestfs_get_e2attrs"
msgstr "guestfs_get_e2attrs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5065
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_e2attrs (guestfs_h *g,\n"
"                      const char *file);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_e2attrs (guestfs_h *g,\n"
"                      const char *file);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5172
msgid "See also C<guestfs_set_e2attrs>."
msgstr "See also C<guestfs_set_e2attrs>."

#. type: textblock
#: ../lib/guestfs-actions.pod:5174
msgid ""
"Don't confuse these attributes with extended attributes (see "
"C<guestfs_getxattr>)."
msgstr ""
"Don't confuse these attributes with extended attributes (see "
"C<guestfs_getxattr>)."

#. type: textblock
#: ../lib/guestfs-actions.pod:5180 ../lib/guestfs-actions.pod:5200
#: ../lib/guestfs-actions.pod:13301 ../lib/guestfs-actions.pod:13340
msgid "(Added in 1.17.31)"
msgstr "(Added in 1.17.31)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5182
msgid "guestfs_get_e2generation"
msgstr "guestfs_get_e2generation"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5184
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_get_e2generation (guestfs_h *g,\n"
"                           const char *file);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_get_e2generation (guestfs_h *g,\n"
"                           const char *file);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5196
msgid "See C<guestfs_set_e2generation>."
msgstr "See C<guestfs_set_e2generation>."

#. type: =head2
#: ../lib/guestfs-actions.pod:5202
msgid "guestfs_get_e2label"
msgstr "guestfs_get_e2label"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5204
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_e2label (guestfs_h *g,\n"
"                      const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_e2label (guestfs_h *g,\n"
"                      const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5208
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_vfs_label> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_vfs_label> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:5221 ../lib/guestfs-actions.pod:5242
#: ../lib/guestfs-actions.pod:13365 ../lib/guestfs-actions.pod:13391
msgid "(Added in 1.0.15)"
msgstr "(Added in 1.0.15)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5223
msgid "guestfs_get_e2uuid"
msgstr "guestfs_get_e2uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5225
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_e2uuid (guestfs_h *g,\n"
"                     const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_e2uuid (guestfs_h *g,\n"
"                     const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5229
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_vfs_uuid> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_vfs_uuid> "
"call instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:5244
msgid "guestfs_get_hv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:5246
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_hv (guestfs_h *g);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5257 ../lib/guestfs-actions.pod:13420
msgid "(Added in 1.23.17)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5259
msgid "guestfs_get_identifier"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:5261
#, no-wrap
msgid ""
" const char *\n"
" guestfs_get_identifier (guestfs_h *g);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5264
msgid "Get the handle identifier.  See C<guestfs_set_identifier>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5266 ../lib/guestfs-actions.pod:5382
#: ../lib/guestfs-actions.pod:5419 ../lib/guestfs-actions.pod:5441
msgid ""
"This function returns a string, or NULL on error.  The string is owned by "
"the guest handle and must I<not> be freed."
msgstr ""
"This function returns a string, or NULL on error.  The string is owned by "
"the guest handle and must I<not> be freed."

#. type: textblock
#: ../lib/guestfs-actions.pod:5269 ../lib/guestfs-actions.pod:13454
msgid "(Added in 1.31.14)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5271
msgid "guestfs_get_libvirt_requested_credential_challenge"
msgstr "guestfs_get_libvirt_requested_credential_challenge"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5273
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_libvirt_requested_credential_challenge (guestfs_h *g,\n"
"                                                     int index);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_libvirt_requested_credential_challenge (guestfs_h *g,\n"
"                                                     int index);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5286 ../lib/guestfs-actions.pod:5303
#: ../lib/guestfs-actions.pod:5320 ../lib/guestfs-actions.pod:5340
#: ../lib/guestfs-actions.pod:13525 ../lib/guestfs-actions.pod:13568
msgid "(Added in 1.19.52)"
msgstr "(Added in 1.19.52)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5288
msgid "guestfs_get_libvirt_requested_credential_defresult"
msgstr "guestfs_get_libvirt_requested_credential_defresult"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5290
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_libvirt_requested_credential_defresult (guestfs_h *g,\n"
"                                                     int index);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_libvirt_requested_credential_defresult (guestfs_h *g,\n"
"                                                     int index);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5305
msgid "guestfs_get_libvirt_requested_credential_prompt"
msgstr "guestfs_get_libvirt_requested_credential_prompt"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5307
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_libvirt_requested_credential_prompt (guestfs_h *g,\n"
"                                                  int index);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_libvirt_requested_credential_prompt (guestfs_h *g,\n"
"                                                  int index);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5322
msgid "guestfs_get_libvirt_requested_credentials"
msgstr "guestfs_get_libvirt_requested_credentials"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5324
#, no-wrap
msgid ""
" char **\n"
" guestfs_get_libvirt_requested_credentials (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_get_libvirt_requested_credentials (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5330
msgid ""
"Return the list of credentials requested by libvirt.  Possible values are a "
"subset of the strings provided when you called "
"C<guestfs_set_libvirt_supported_credentials>."
msgstr ""
"Return the list of credentials requested by libvirt.  Possible values are a "
"subset of the strings provided when you called "
"C<guestfs_set_libvirt_supported_credentials>."

#. type: =head2
#: ../lib/guestfs-actions.pod:5342
msgid "guestfs_get_memsize"
msgstr "guestfs_get_memsize"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5344
#, no-wrap
msgid ""
" int\n"
" guestfs_get_memsize (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_memsize (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5350
msgid ""
"If C<guestfs_set_memsize> was not called on this handle, and if "
"C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
"value for memsize."
msgstr ""
"If C<guestfs_set_memsize> was not called on this handle, and if "
"C<LIBGUESTFS_MEMSIZE> was not set, then this returns the compiled-in default "
"value for memsize."

#. type: textblock
#: ../lib/guestfs-actions.pod:5359 ../lib/guestfs-actions.pod:10232
#: ../lib/guestfs-actions.pod:10516 ../lib/guestfs-actions.pod:10541
#: ../lib/guestfs-actions.pod:10566 ../lib/guestfs-actions.pod:10646
#: ../lib/guestfs-actions.pod:10671 ../lib/guestfs-actions.pod:10717
#: ../lib/guestfs-actions.pod:10740 ../lib/guestfs-actions.pod:12477
#: ../lib/guestfs-actions.pod:13589 ../lib/guestfs-actions.pod:13981
#: ../lib/guestfs-actions.pod:15033
msgid "(Added in 1.0.55)"
msgstr "(Added in 1.0.55)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5361
msgid "guestfs_get_network"
msgstr "guestfs_get_network"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5363
#, no-wrap
msgid ""
" int\n"
" guestfs_get_network (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_network (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5370 ../lib/guestfs-actions.pod:13608
msgid "(Added in 1.5.4)"
msgstr "(Added in 1.5.4)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5372
msgid "guestfs_get_path"
msgstr "guestfs_get_path"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5374
#, no-wrap
msgid ""
" const char *\n"
" guestfs_get_path (guestfs_h *g);\n"
"\n"
msgstr ""
" const char *\n"
" guestfs_get_path (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5387
msgid "guestfs_get_pgroup"
msgstr "guestfs_get_pgroup"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5389
#, no-wrap
msgid ""
" int\n"
" guestfs_get_pgroup (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_pgroup (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5396 ../lib/guestfs-actions.pod:13646
#: ../lib/guestfs-actions.pod:15239 ../lib/guestfs-actions.pod:15771
msgid "(Added in 1.11.18)"
msgstr "(Added in 1.11.18)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5398
msgid "guestfs_get_pid"
msgstr "guestfs_get_pid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5400
#, no-wrap
msgid ""
" int\n"
" guestfs_get_pid (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_pid (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5410
msgid "(Added in 1.0.56)"
msgstr "(Added in 1.0.56)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5412
msgid "guestfs_get_program"
msgstr "guestfs_get_program"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5414
#, no-wrap
msgid ""
" const char *\n"
" guestfs_get_program (guestfs_h *g);\n"
"\n"
msgstr ""
" const char *\n"
" guestfs_get_program (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5417
msgid "Get the program name.  See C<guestfs_set_program>."
msgstr "Get the program name.  See C<guestfs_set_program>."

#. type: textblock
#: ../lib/guestfs-actions.pod:5422 ../lib/guestfs-actions.pod:13663
msgid "(Added in 1.21.29)"
msgstr "(Added in 1.21.29)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5424
msgid "guestfs_get_qemu"
msgstr "guestfs_get_qemu"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5426
#, no-wrap
msgid ""
" const char *\n"
" guestfs_get_qemu (guestfs_h *g);\n"
"\n"
msgstr ""
" const char *\n"
" guestfs_get_qemu (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5429
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_get_hv> call "
"instead."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5444 ../lib/guestfs-actions.pod:13698
msgid "(Added in 1.0.6)"
msgstr "(Added in 1.0.6)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5446
msgid "guestfs_get_recovery_proc"
msgstr "guestfs_get_recovery_proc"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5448
#, no-wrap
msgid ""
" int\n"
" guestfs_get_recovery_proc (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_recovery_proc (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5455 ../lib/guestfs-actions.pod:8442
#: ../lib/guestfs-actions.pod:9112 ../lib/guestfs-actions.pod:9657
#: ../lib/guestfs-actions.pod:9932 ../lib/guestfs-actions.pod:12137
#: ../lib/guestfs-actions.pod:12521 ../lib/guestfs-actions.pod:13722
#: ../lib/guestfs-actions.pod:14794 ../lib/guestfs-actions.pod:14814
#: ../lib/guestfs-actions.pod:15270
msgid "(Added in 1.0.77)"
msgstr "(Added in 1.0.77)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5457
msgid "guestfs_get_selinux"
msgstr "guestfs_get_selinux"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5459
#, no-wrap
msgid ""
" int\n"
" guestfs_get_selinux (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_selinux (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5462 ../lib/guestfs-actions.pod:5575
#: ../lib/guestfs-actions.pod:13730 ../lib/guestfs-actions.pod:13871
msgid ""
"I<This function is deprecated.> In new code, use the L</"
"guestfs_selinux_relabel> call instead."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5469
msgid ""
"This returns the current setting of the selinux flag which is passed to the "
"appliance at boot time.  See C<guestfs_set_selinux>."
msgstr ""
"This returns the current setting of the selinux flag which is passed to the "
"appliance at boot time.  See C<guestfs_set_selinux>."

#. type: textblock
#: ../lib/guestfs-actions.pod:5477 ../lib/guestfs-actions.pod:5593
#: ../lib/guestfs-actions.pod:13748 ../lib/guestfs-actions.pod:13888
msgid "(Added in 1.0.67)"
msgstr "(Added in 1.0.67)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5479
msgid "guestfs_get_smp"
msgstr "guestfs_get_smp"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5481
#, no-wrap
msgid ""
" int\n"
" guestfs_get_smp (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_smp (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5490
msgid "guestfs_get_sockdir"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:5492
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_sockdir (guestfs_h *g);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5497
msgid ""
"This is different from C<guestfs_get_tmpdir>, as we need shorter paths for "
"sockets (due to the limited buffers of filenames for UNIX sockets), and "
"C<guestfs_get_tmpdir> may be too long for them."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5508
msgid "(Added in 1.33.8)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5510
msgid "guestfs_get_state"
msgstr "guestfs_get_state"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5512
#, no-wrap
msgid ""
" int\n"
" guestfs_get_state (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_state (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5515
msgid ""
"This returns the current state as an opaque integer.  This is only useful "
"for printing debug and internal error messages."
msgstr ""
"This returns the current state as an opaque integer.  This is only useful "
"for printing debug and internal error messages."

#. type: =head2
#: ../lib/guestfs-actions.pod:5524
msgid "guestfs_get_tmpdir"
msgstr "guestfs_get_tmpdir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5526
#, no-wrap
msgid ""
" char *\n"
" guestfs_get_tmpdir (guestfs_h *g);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_get_tmpdir (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5536
msgid "guestfs_get_trace"
msgstr "guestfs_get_trace"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5538
#, no-wrap
msgid ""
" int\n"
" guestfs_get_trace (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_trace (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5547
msgid "guestfs_get_umask"
msgstr "guestfs_get_umask"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5549
#, no-wrap
msgid ""
" int\n"
" guestfs_get_umask (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_umask (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5552
msgid ""
"Return the current umask.  By default the umask is C<022> unless it has been "
"set by calling C<guestfs_umask>."
msgstr ""
"Return the current umask.  By default the umask is C<022> unless it has been "
"set by calling C<guestfs_umask>."

#. type: =head2
#: ../lib/guestfs-actions.pod:5559
msgid "guestfs_get_verbose"
msgstr "guestfs_get_verbose"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5561
#, no-wrap
msgid ""
" int\n"
" guestfs_get_verbose (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_get_verbose (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5570
msgid "guestfs_getcon"
msgstr "guestfs_getcon"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5572
#, no-wrap
msgid ""
" char *\n"
" guestfs_getcon (guestfs_h *g);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_getcon (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5584
msgid ""
"See the documentation about SELINUX in L<guestfs(3)>, and C<guestfs_setcon>"
msgstr ""
"See the documentation about SELINUX in L<guestfs(3)>, and C<guestfs_setcon>"

#. type: textblock
#: ../lib/guestfs-actions.pod:5590 ../lib/guestfs-actions.pod:13885
msgid ""
"This function depends on the feature C<selinux>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5595
msgid "guestfs_getxattr"
msgstr "guestfs_getxattr"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5597
#, no-wrap
msgid ""
" char *\n"
" guestfs_getxattr (guestfs_h *g,\n"
"                   const char *path,\n"
"                   const char *name,\n"
"                   size_t *size_r);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_getxattr (guestfs_h *g,\n"
"                   const char *path,\n"
"                   const char *name,\n"
"                   size_t *size_r);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5603
msgid ""
"Get a single extended attribute from file C<path> named C<name>.  This call "
"follows symlinks.  If you want to lookup an extended attribute for the "
"symlink itself, use C<guestfs_lgetxattr>."
msgstr ""
"Get a single extended attribute from file C<path> named C<name>.  This call "
"follows symlinks.  If you want to lookup an extended attribute for the "
"symlink itself, use C<guestfs_lgetxattr>."

#. type: textblock
#: ../lib/guestfs-actions.pod:5607 ../lib/guestfs-actions.pod:8656
msgid ""
"Normally it is better to get all extended attributes from a file in one go "
"by calling C<guestfs_getxattrs>.  However some Linux filesystem "
"implementations are buggy and do not provide a way to list out attributes.  "
"For these filesystems (notably ntfs-3g)  you have to know the names of the "
"extended attributes you want in advance and call this function."
msgstr ""
"Normally it is better to get all extended attributes from a file in one go "
"by calling C<guestfs_getxattrs>.  However some Linux filesystem "
"implementations are buggy and do not provide a way to list out attributes.  "
"For these filesystems (notably ntfs-3g)  you have to know the names of the "
"extended attributes you want in advance and call this function."

#. type: textblock
#: ../lib/guestfs-actions.pod:5617
msgid "See also: C<guestfs_getxattrs>, C<guestfs_lgetxattr>, L<attr(5)>."
msgstr "See also: C<guestfs_getxattrs>, C<guestfs_lgetxattr>, L<attr(5)>."

#. type: textblock
#: ../lib/guestfs-actions.pod:5619 ../lib/guestfs-actions.pod:6331
#: ../lib/guestfs-actions.pod:6360 ../lib/guestfs-actions.pod:6940
#: ../lib/guestfs-actions.pod:8668 ../lib/guestfs-actions.pod:12130
#: ../lib/guestfs-actions.pod:12156 ../lib/guestfs-actions.pod:12382
#: ../lib/guestfs-actions.pod:15519
msgid ""
"This function returns a buffer, or NULL on error.  The size of the returned "
"buffer is written to C<*size_r>.  I<The caller must free the returned buffer "
"after use>."
msgstr ""
"This function returns a buffer, or NULL on error.  The size of the returned "
"buffer is written to C<*size_r>.  I<The caller must free the returned buffer "
"after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:5623 ../lib/guestfs-actions.pod:5646
#: ../lib/guestfs-actions.pod:8672 ../lib/guestfs-actions.pod:8691
#: ../lib/guestfs-actions.pod:8993 ../lib/guestfs-actions.pod:9048
#: ../lib/guestfs-actions.pod:9654 ../lib/guestfs-actions.pod:12621
#: ../lib/guestfs-actions.pod:13907
msgid ""
"This function depends on the feature C<linuxxattrs>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5626 ../lib/guestfs-actions.pod:8675
msgid "(Added in 1.7.24)"
msgstr "(Added in 1.7.24)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5628
msgid "guestfs_getxattrs"
msgstr "guestfs_getxattrs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5630
#, no-wrap
msgid ""
" struct guestfs_xattr_list *\n"
" guestfs_getxattrs (guestfs_h *g,\n"
"                    const char *path);\n"
"\n"
msgstr ""
" struct guestfs_xattr_list *\n"
" guestfs_getxattrs (guestfs_h *g,\n"
"                    const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5640
msgid "See also: C<guestfs_lgetxattrs>, L<attr(5)>."
msgstr "See also: C<guestfs_lgetxattrs>, L<attr(5)>."

#. type: textblock
#: ../lib/guestfs-actions.pod:5642 ../lib/guestfs-actions.pod:8256
#: ../lib/guestfs-actions.pod:8687 ../lib/guestfs-actions.pod:9650
msgid ""
"This function returns a C<struct guestfs_xattr_list *>, or NULL if there was "
"an error.  I<The caller must call C<guestfs_free_xattr_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_xattr_list *>, or NULL if there was "
"an error.  I<The caller must call C<guestfs_free_xattr_list> after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:5649 ../lib/guestfs-actions.pod:8694
#: ../lib/guestfs-actions.pod:8996 ../lib/guestfs-actions.pod:9051
#: ../lib/guestfs-actions.pod:12624 ../lib/guestfs-actions.pod:13910
#: ../lib/guestfs-actions.pod:16323
msgid "(Added in 1.0.59)"
msgstr "(Added in 1.0.59)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5651
msgid "guestfs_glob_expand"
msgstr "guestfs_glob_expand"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5653
#, no-wrap
msgid ""
" char **\n"
" guestfs_glob_expand (guestfs_h *g,\n"
"                      const char *pattern);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_glob_expand (guestfs_h *g,\n"
"                      const char *pattern);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5657
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_glob_expand_opts> with no "
"optional arguments."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5661 ../lib/guestfs-actions.pod:5701
#: ../lib/guestfs-actions.pod:14094 ../lib/guestfs-actions.pod:14111
msgid "(Added in 1.0.50)"
msgstr "(Added in 1.0.50)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5664
msgid "guestfs_glob_expand_opts"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:5666
#, no-wrap
msgid ""
" char **\n"
" guestfs_glob_expand_opts (guestfs_h *g,\n"
"                           const char *pattern,\n"
"                           ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:5676
#, no-wrap
msgid ""
" GUESTFS_GLOB_EXPAND_OPTS_DIRECTORYSLASH, int directoryslash,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5693
msgid ""
"Notice that there is no equivalent command for expanding a device name (eg. "
"F</dev/sd*>).  Use C<guestfs_list_devices>, C<guestfs_list_partitions> etc "
"functions instead."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5703
msgid "guestfs_glob_expand_opts_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:5705
#, no-wrap
msgid ""
" char **\n"
" guestfs_glob_expand_opts_va (guestfs_h *g,\n"
"                              const char *pattern,\n"
"                              va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5710
msgid "This is the \"va_list variant\" of L</guestfs_glob_expand_opts>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5714
msgid "guestfs_glob_expand_opts_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:5716
#, no-wrap
msgid ""
" char **\n"
" guestfs_glob_expand_opts_argv (guestfs_h *g,\n"
"                                const char *pattern,\n"
"                                const struct guestfs_glob_expand_opts_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5721
msgid "This is the \"argv variant\" of L</guestfs_glob_expand_opts>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:5725
msgid "guestfs_grep"
msgstr "guestfs_grep"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5727
#, no-wrap
msgid ""
" char **\n"
" guestfs_grep (guestfs_h *g,\n"
"               const char *regex,\n"
"               const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_grep (guestfs_h *g,\n"
"               const char *regex,\n"
"               const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5732
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_grep_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_grep_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:5739
msgid "guestfs_grep_opts"
msgstr "guestfs_grep_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5741
#, no-wrap
msgid ""
" char **\n"
" guestfs_grep_opts (guestfs_h *g,\n"
"                    const char *regex,\n"
"                    const char *path,\n"
"                    ...);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_grep_opts (guestfs_h *g,\n"
"                    const char *regex,\n"
"                    const char *path,\n"
"                    ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5752
#, no-wrap
msgid ""
" GUESTFS_GREP_OPTS_EXTENDED, int extended,\n"
" GUESTFS_GREP_OPTS_FIXED, int fixed,\n"
" GUESTFS_GREP_OPTS_INSENSITIVE, int insensitive,\n"
" GUESTFS_GREP_OPTS_COMPRESSED, int compressed,\n"
"\n"
msgstr ""
" GUESTFS_GREP_OPTS_EXTENDED, int extended,\n"
" GUESTFS_GREP_OPTS_FIXED, int fixed,\n"
" GUESTFS_GREP_OPTS_INSENSITIVE, int insensitive,\n"
" GUESTFS_GREP_OPTS_COMPRESSED, int compressed,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5794
msgid "guestfs_grep_opts_va"
msgstr "guestfs_grep_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5796
#, no-wrap
msgid ""
" char **\n"
" guestfs_grep_opts_va (guestfs_h *g,\n"
"                       const char *regex,\n"
"                       const char *path,\n"
"                       va_list args);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_grep_opts_va (guestfs_h *g,\n"
"                       const char *regex,\n"
"                       const char *path,\n"
"                       va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5802
msgid "This is the \"va_list variant\" of L</guestfs_grep_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_grep_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:5806
msgid "guestfs_grep_opts_argv"
msgstr "guestfs_grep_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5808
#, no-wrap
msgid ""
" char **\n"
" guestfs_grep_opts_argv (guestfs_h *g,\n"
"                         const char *regex,\n"
"                         const char *path,\n"
"                         const struct guestfs_grep_opts_argv *optargs);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_grep_opts_argv (guestfs_h *g,\n"
"                         const char *regex,\n"
"                         const char *path,\n"
"                         const struct guestfs_grep_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5814
msgid "This is the \"argv variant\" of L</guestfs_grep_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_grep_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:5818
msgid "guestfs_grepi"
msgstr "guestfs_grepi"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5820
#, no-wrap
msgid ""
" char **\n"
" guestfs_grepi (guestfs_h *g,\n"
"                const char *regex,\n"
"                const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_grepi (guestfs_h *g,\n"
"                const char *regex,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5844
msgid "guestfs_grub_install"
msgstr "guestfs_grub_install"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5846
#, no-wrap
msgid ""
" int\n"
" guestfs_grub_install (guestfs_h *g,\n"
"                       const char *root,\n"
"                       const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_grub_install (guestfs_h *g,\n"
"                       const char *root,\n"
"                       const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5889
msgid ""
"This function depends on the feature C<grub>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5892
msgid "(Added in 1.0.17)"
msgstr "(Added in 1.0.17)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5894
msgid "guestfs_head"
msgstr "guestfs_head"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5896
#, no-wrap
msgid ""
" char **\n"
" guestfs_head (guestfs_h *g,\n"
"               const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_head (guestfs_h *g,\n"
"               const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5912
msgid "guestfs_head_n"
msgstr "guestfs_head_n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5914
#, no-wrap
msgid ""
" char **\n"
" guestfs_head_n (guestfs_h *g,\n"
"                 int nrlines,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_head_n (guestfs_h *g,\n"
"                 int nrlines,\n"
"                 const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5936
msgid "guestfs_hexdump"
msgstr "guestfs_hexdump"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5938
#, no-wrap
msgid ""
" char *\n"
" guestfs_hexdump (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_hexdump (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5951 ../lib/guestfs-actions.pod:14227
#: ../lib/guestfs-actions.pod:14286
msgid "(Added in 1.0.22)"
msgstr "(Added in 1.0.22)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5953
msgid "guestfs_hivex_close"
msgstr "guestfs_hivex_close"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5955
#, no-wrap
msgid ""
" int\n"
" guestfs_hivex_close (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_hivex_close (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:5964 ../lib/guestfs-actions.pod:5986
#: ../lib/guestfs-actions.pod:6004 ../lib/guestfs-actions.pod:6023
#: ../lib/guestfs-actions.pod:6040 ../lib/guestfs-actions.pod:6059
#: ../lib/guestfs-actions.pod:6079 ../lib/guestfs-actions.pod:6097
#: ../lib/guestfs-actions.pod:6114 ../lib/guestfs-actions.pod:6136
#: ../lib/guestfs-actions.pod:6155 ../lib/guestfs-actions.pod:6185
#: ../lib/guestfs-actions.pod:6223 ../lib/guestfs-actions.pod:6241
#: ../lib/guestfs-actions.pod:6265 ../lib/guestfs-actions.pod:6282
#: ../lib/guestfs-actions.pod:6313 ../lib/guestfs-actions.pod:6335
msgid ""
"This function depends on the feature C<hivex>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:5967 ../lib/guestfs-actions.pod:5989
#: ../lib/guestfs-actions.pod:6007 ../lib/guestfs-actions.pod:6026
#: ../lib/guestfs-actions.pod:6043 ../lib/guestfs-actions.pod:6062
#: ../lib/guestfs-actions.pod:6082 ../lib/guestfs-actions.pod:6100
#: ../lib/guestfs-actions.pod:6117 ../lib/guestfs-actions.pod:6139
#: ../lib/guestfs-actions.pod:6158 ../lib/guestfs-actions.pod:6188
#: ../lib/guestfs-actions.pod:6226 ../lib/guestfs-actions.pod:6244
#: ../lib/guestfs-actions.pod:6285 ../lib/guestfs-actions.pod:6316
#: ../lib/guestfs-actions.pod:6338
msgid "(Added in 1.19.35)"
msgstr "(Added in 1.19.35)"

#. type: =head2
#: ../lib/guestfs-actions.pod:5969
msgid "guestfs_hivex_commit"
msgstr "guestfs_hivex_commit"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5971
#, no-wrap
msgid ""
" int\n"
" guestfs_hivex_commit (guestfs_h *g,\n"
"                       const char *filename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_hivex_commit (guestfs_h *g,\n"
"                       const char *filename);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:5991
msgid "guestfs_hivex_node_add_child"
msgstr "guestfs_hivex_node_add_child"

#. type: verbatim
#: ../lib/guestfs-actions.pod:5993
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_hivex_node_add_child (guestfs_h *g,\n"
"                               int64_t parent,\n"
"                               const char *name);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_hivex_node_add_child (guestfs_h *g,\n"
"                               int64_t parent,\n"
"                               const char *name);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6009
msgid "guestfs_hivex_node_children"
msgstr "guestfs_hivex_node_children"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6011
#, no-wrap
msgid ""
" struct guestfs_hivex_node_list *\n"
" guestfs_hivex_node_children (guestfs_h *g,\n"
"                              int64_t nodeh);\n"
"\n"
msgstr ""
" struct guestfs_hivex_node_list *\n"
" guestfs_hivex_node_children (guestfs_h *g,\n"
"                              int64_t nodeh);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6019
msgid ""
"This function returns a C<struct guestfs_hivex_node_list *>, or NULL if "
"there was an error.  I<The caller must call C<guestfs_free_hivex_node_list> "
"after use>."
msgstr ""
"This function returns a C<struct guestfs_hivex_node_list *>, or NULL if "
"there was an error.  I<The caller must call C<guestfs_free_hivex_node_list> "
"after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6028
msgid "guestfs_hivex_node_delete_child"
msgstr "guestfs_hivex_node_delete_child"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6030
#, no-wrap
msgid ""
" int\n"
" guestfs_hivex_node_delete_child (guestfs_h *g,\n"
"                                  int64_t nodeh);\n"
"\n"
msgstr ""
" int\n"
" guestfs_hivex_node_delete_child (guestfs_h *g,\n"
"                                  int64_t nodeh);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6045
msgid "guestfs_hivex_node_get_child"
msgstr "guestfs_hivex_node_get_child"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6047
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_hivex_node_get_child (guestfs_h *g,\n"
"                               int64_t nodeh,\n"
"                               const char *name);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_hivex_node_get_child (guestfs_h *g,\n"
"                               int64_t nodeh,\n"
"                               const char *name);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6064
msgid "guestfs_hivex_node_get_value"
msgstr "guestfs_hivex_node_get_value"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6066
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_hivex_node_get_value (guestfs_h *g,\n"
"                               int64_t nodeh,\n"
"                               const char *key);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_hivex_node_get_value (guestfs_h *g,\n"
"                               int64_t nodeh,\n"
"                               const char *key);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6084
msgid "guestfs_hivex_node_name"
msgstr "guestfs_hivex_node_name"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6086
#, no-wrap
msgid ""
" char *\n"
" guestfs_hivex_node_name (guestfs_h *g,\n"
"                          int64_t nodeh);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_hivex_node_name (guestfs_h *g,\n"
"                          int64_t nodeh);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6102
msgid "guestfs_hivex_node_parent"
msgstr "guestfs_hivex_node_parent"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6104
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_hivex_node_parent (guestfs_h *g,\n"
"                            int64_t nodeh);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_hivex_node_parent (guestfs_h *g,\n"
"                            int64_t nodeh);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6119
msgid "guestfs_hivex_node_set_value"
msgstr "guestfs_hivex_node_set_value"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6121
#, no-wrap
msgid ""
" int\n"
" guestfs_hivex_node_set_value (guestfs_h *g,\n"
"                               int64_t nodeh,\n"
"                               const char *key,\n"
"                               int64_t t,\n"
"                               const char *val,\n"
"                               size_t val_size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_hivex_node_set_value (guestfs_h *g,\n"
"                               int64_t nodeh,\n"
"                               const char *key,\n"
"                               int64_t t,\n"
"                               const char *val,\n"
"                               size_t val_size);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6141
msgid "guestfs_hivex_node_values"
msgstr "guestfs_hivex_node_values"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6143
#, no-wrap
msgid ""
" struct guestfs_hivex_value_list *\n"
" guestfs_hivex_node_values (guestfs_h *g,\n"
"                            int64_t nodeh);\n"
"\n"
msgstr ""
" struct guestfs_hivex_value_list *\n"
" guestfs_hivex_node_values (guestfs_h *g,\n"
"                            int64_t nodeh);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6151
msgid ""
"This function returns a C<struct guestfs_hivex_value_list *>, or NULL if "
"there was an error.  I<The caller must call C<guestfs_free_hivex_value_list> "
"after use>."
msgstr ""
"This function returns a C<struct guestfs_hivex_value_list *>, or NULL if "
"there was an error.  I<The caller must call C<guestfs_free_hivex_value_list> "
"after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6160
msgid "guestfs_hivex_open"
msgstr "guestfs_hivex_open"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6162
#, no-wrap
msgid ""
" int\n"
" guestfs_hivex_open (guestfs_h *g,\n"
"                     const char *filename,\n"
"                     ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_hivex_open (guestfs_h *g,\n"
"                     const char *filename,\n"
"                     ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6172
#, no-wrap
msgid ""
" GUESTFS_HIVEX_OPEN_VERBOSE, int verbose,\n"
" GUESTFS_HIVEX_OPEN_DEBUG, int debug,\n"
" GUESTFS_HIVEX_OPEN_WRITE, int write,\n"
" GUESTFS_HIVEX_OPEN_UNSAFE, int unsafe,\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:6190
msgid "guestfs_hivex_open_va"
msgstr "guestfs_hivex_open_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6192
#, no-wrap
msgid ""
" int\n"
" guestfs_hivex_open_va (guestfs_h *g,\n"
"                        const char *filename,\n"
"                        va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_hivex_open_va (guestfs_h *g,\n"
"                        const char *filename,\n"
"                        va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6197
msgid "This is the \"va_list variant\" of L</guestfs_hivex_open>."
msgstr "This is the \"va_list variant\" of L</guestfs_hivex_open>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6201
msgid "guestfs_hivex_open_argv"
msgstr "guestfs_hivex_open_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6203
#, no-wrap
msgid ""
" int\n"
" guestfs_hivex_open_argv (guestfs_h *g,\n"
"                          const char *filename,\n"
"                          const struct guestfs_hivex_open_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_hivex_open_argv (guestfs_h *g,\n"
"                          const char *filename,\n"
"                          const struct guestfs_hivex_open_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6208
msgid "This is the \"argv variant\" of L</guestfs_hivex_open>."
msgstr "This is the \"argv variant\" of L</guestfs_hivex_open>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6212
msgid "guestfs_hivex_root"
msgstr "guestfs_hivex_root"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6214
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_hivex_root (guestfs_h *g);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_hivex_root (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6228
msgid "guestfs_hivex_value_key"
msgstr "guestfs_hivex_value_key"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6230
#, no-wrap
msgid ""
" char *\n"
" guestfs_hivex_value_key (guestfs_h *g,\n"
"                          int64_t valueh);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_hivex_value_key (guestfs_h *g,\n"
"                          int64_t valueh);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6246
msgid "guestfs_hivex_value_string"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:6248
#, no-wrap
msgid ""
" char *\n"
" guestfs_hivex_value_string (guestfs_h *g,\n"
"                             int64_t valueh);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:6252 ../lib/guestfs-actions.pod:6300
msgid ""
"This calls C<guestfs_hivex_value_value> (which returns the data field from a "
"hivex value tuple).  It then assumes that the field is a UTF-16LE string and "
"converts the result to UTF-8 (or if this is not possible, it returns an "
"error)."
msgstr ""
"This calls C<guestfs_hivex_value_value> (which returns the data field from a "
"hivex value tuple).  It then assumes that the field is a UTF-16LE string and "
"converts the result to UTF-8 (or if this is not possible, it returns an "
"error)."

#. type: textblock
#: ../lib/guestfs-actions.pod:6268
msgid "(Added in 1.37.22)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:6270
msgid "guestfs_hivex_value_type"
msgstr "guestfs_hivex_value_type"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6272
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_hivex_value_type (guestfs_h *g,\n"
"                           int64_t valueh);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_hivex_value_type (guestfs_h *g,\n"
"                           int64_t valueh);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6287
msgid "guestfs_hivex_value_utf8"
msgstr "guestfs_hivex_value_utf8"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6289
#, no-wrap
msgid ""
" char *\n"
" guestfs_hivex_value_utf8 (guestfs_h *g,\n"
"                           int64_t valueh);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_hivex_value_utf8 (guestfs_h *g,\n"
"                           int64_t valueh);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6293
msgid ""
"I<This function is deprecated.> In new code, use the L</"
"guestfs_hivex_value_string> call instead."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:6318
msgid "guestfs_hivex_value_value"
msgstr "guestfs_hivex_value_value"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6320
#, no-wrap
msgid ""
" char *\n"
" guestfs_hivex_value_value (guestfs_h *g,\n"
"                            int64_t valueh,\n"
"                            size_t *size_r);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_hivex_value_value (guestfs_h *g,\n"
"                            int64_t valueh,\n"
"                            size_t *size_r);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6329
msgid "See also: C<guestfs_hivex_value_utf8>."
msgstr "See also: C<guestfs_hivex_value_utf8>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6340
msgid "guestfs_initrd_cat"
msgstr "guestfs_initrd_cat"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6342
#, no-wrap
msgid ""
" char *\n"
" guestfs_initrd_cat (guestfs_h *g,\n"
"                     const char *initrdpath,\n"
"                     const char *filename,\n"
"                     size_t *size_r);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_initrd_cat (guestfs_h *g,\n"
"                     const char *initrdpath,\n"
"                     const char *filename,\n"
"                     size_t *size_r);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6358
msgid "See also C<guestfs_initrd_list>."
msgstr "See also C<guestfs_initrd_list>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6369
msgid "guestfs_initrd_list"
msgstr "guestfs_initrd_list"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6371
#, no-wrap
msgid ""
" char **\n"
" guestfs_initrd_list (guestfs_h *g,\n"
"                      const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_initrd_list (guestfs_h *g,\n"
"                      const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6391
msgid "guestfs_inotify_add_watch"
msgstr "guestfs_inotify_add_watch"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6393
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_inotify_add_watch (guestfs_h *g,\n"
"                            const char *path,\n"
"                            int mask);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_inotify_add_watch (guestfs_h *g,\n"
"                            const char *path,\n"
"                            int mask);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6410 ../lib/guestfs-actions.pod:6426
#: ../lib/guestfs-actions.pod:6444 ../lib/guestfs-actions.pod:6491
#: ../lib/guestfs-actions.pod:6516 ../lib/guestfs-actions.pod:6532
msgid ""
"This function depends on the feature C<inotify>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:6415
msgid "guestfs_inotify_close"
msgstr "guestfs_inotify_close"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6417
#, no-wrap
msgid ""
" int\n"
" guestfs_inotify_close (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_inotify_close (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6431
msgid "guestfs_inotify_files"
msgstr "guestfs_inotify_files"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6433
#, no-wrap
msgid ""
" char **\n"
" guestfs_inotify_files (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_inotify_files (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6436
msgid ""
"This function is a helpful wrapper around C<guestfs_inotify_read> which just "
"returns a list of pathnames of objects that were touched.  The returned "
"pathnames are sorted and deduplicated."
msgstr ""
"This function is a helpful wrapper around C<guestfs_inotify_read> which just "
"returns a list of pathnames of objects that were touched.  The returned "
"pathnames are sorted and deduplicated."

#. type: =head2
#: ../lib/guestfs-actions.pod:6449
msgid "guestfs_inotify_init"
msgstr "guestfs_inotify_init"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6451
#, no-wrap
msgid ""
" int\n"
" guestfs_inotify_init (guestfs_h *g,\n"
"                       int maxevents);\n"
"\n"
msgstr ""
" int\n"
" guestfs_inotify_init (guestfs_h *g,\n"
"                       int maxevents);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6459
msgid ""
"C<maxevents> is the maximum number of events which will be queued up between "
"calls to C<guestfs_inotify_read> or C<guestfs_inotify_files>.  If this is "
"passed as C<0>, then the kernel (or previously set)  default is used.  For "
"Linux 2.6.29 the default was 16384 events.  Beyond this limit, the kernel "
"throws away events, but records the fact that it threw them away by setting "
"a flag C<IN_Q_OVERFLOW> in the returned structure list (see "
"C<guestfs_inotify_read>)."
msgstr ""
"C<maxevents> is the maximum number of events which will be queued up between "
"calls to C<guestfs_inotify_read> or C<guestfs_inotify_files>.  If this is "
"passed as C<0>, then the kernel (or previously set)  default is used.  For "
"Linux 2.6.29 the default was 16384 events.  Beyond this limit, the kernel "
"throws away events, but records the fact that it threw them away by setting "
"a flag C<IN_Q_OVERFLOW> in the returned structure list (see "
"C<guestfs_inotify_read>)."

#. type: textblock
#: ../lib/guestfs-actions.pod:6469
msgid ""
"Before any events are generated, you have to add some watches to the "
"internal watch list.  See: C<guestfs_inotify_add_watch> and "
"C<guestfs_inotify_rm_watch>."
msgstr ""
"Before any events are generated, you have to add some watches to the "
"internal watch list.  See: C<guestfs_inotify_add_watch> and "
"C<guestfs_inotify_rm_watch>."

#. type: textblock
#: ../lib/guestfs-actions.pod:6473
msgid ""
"Queued up events should be read periodically by calling "
"C<guestfs_inotify_read> (or C<guestfs_inotify_files> which is just a helpful "
"wrapper around C<guestfs_inotify_read>).  If you don't read the events out "
"often enough then you risk the internal queue overflowing."
msgstr ""
"Queued up events should be read periodically by calling "
"C<guestfs_inotify_read> (or C<guestfs_inotify_files> which is just a helpful "
"wrapper around C<guestfs_inotify_read>).  If you don't read the events out "
"often enough then you risk the internal queue overflowing."

#. type: textblock
#: ../lib/guestfs-actions.pod:6480
msgid ""
"The handle should be closed after use by calling C<guestfs_inotify_close>.  "
"This also removes any watches automatically."
msgstr ""
"The handle should be closed after use by calling C<guestfs_inotify_close>.  "
"This also removes any watches automatically."

#. type: =head2
#: ../lib/guestfs-actions.pod:6496
msgid "guestfs_inotify_read"
msgstr "guestfs_inotify_read"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6498
#, no-wrap
msgid ""
" struct guestfs_inotify_event_list *\n"
" guestfs_inotify_read (guestfs_h *g);\n"
"\n"
msgstr ""
" struct guestfs_inotify_event_list *\n"
" guestfs_inotify_read (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6512
msgid ""
"This function returns a C<struct guestfs_inotify_event_list *>, or NULL if "
"there was an error.  I<The caller must call "
"C<guestfs_free_inotify_event_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_inotify_event_list *>, or NULL if "
"there was an error.  I<The caller must call "
"C<guestfs_free_inotify_event_list> after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6521
msgid "guestfs_inotify_rm_watch"
msgstr "guestfs_inotify_rm_watch"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6523
#, no-wrap
msgid ""
" int\n"
" guestfs_inotify_rm_watch (guestfs_h *g,\n"
"                           int wd);\n"
"\n"
msgstr ""
" int\n"
" guestfs_inotify_rm_watch (guestfs_h *g,\n"
"                           int wd);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6527
msgid ""
"Remove a previously defined inotify watch.  See C<guestfs_inotify_add_watch>."
msgstr ""
"Remove a previously defined inotify watch.  See C<guestfs_inotify_add_watch>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6537
msgid "guestfs_inspect_get_arch"
msgstr "guestfs_inspect_get_arch"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6539
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_arch (guestfs_h *g,\n"
"                           const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_arch (guestfs_h *g,\n"
"                           const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6543
msgid ""
"This returns the architecture of the inspected operating system.  The "
"possible return values are listed under C<guestfs_file_architecture>."
msgstr ""
"This returns the architecture of the inspected operating system.  The "
"possible return values are listed under C<guestfs_file_architecture>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6557
msgid "guestfs_inspect_get_distro"
msgstr "guestfs_inspect_get_distro"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6559
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_distro (guestfs_h *g,\n"
"                             const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_distro (guestfs_h *g,\n"
"                             const char *root);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6735
msgid "guestfs_inspect_get_drive_mappings"
msgstr "guestfs_inspect_get_drive_mappings"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6737
#, no-wrap
msgid ""
" char **\n"
" guestfs_inspect_get_drive_mappings (guestfs_h *g,\n"
"                                     const char *root);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_inspect_get_drive_mappings (guestfs_h *g,\n"
"                                     const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6766
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_mountpoints>, C<guestfs_inspect_get_filesystems>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_mountpoints>, C<guestfs_inspect_get_filesystems>."

#. type: textblock
#: ../lib/guestfs-actions.pod:6776 ../lib/guestfs-actions.pod:7280
msgid "(Added in 1.9.17)"
msgstr "(Added in 1.9.17)"

#. type: =head2
#: ../lib/guestfs-actions.pod:6778
msgid "guestfs_inspect_get_filesystems"
msgstr "guestfs_inspect_get_filesystems"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6780
#, no-wrap
msgid ""
" char **\n"
" guestfs_inspect_get_filesystems (guestfs_h *g,\n"
"                                  const char *root);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_inspect_get_filesystems (guestfs_h *g,\n"
"                                  const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6792
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_mountpoints>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_mountpoints>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6801
msgid "guestfs_inspect_get_format"
msgstr "guestfs_inspect_get_format"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6803
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_format (guestfs_h *g,\n"
"                             const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_format (guestfs_h *g,\n"
"                             const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6843 ../lib/guestfs-actions.pod:7368
#: ../lib/guestfs-actions.pod:7390 ../lib/guestfs-actions.pod:7412
#: ../lib/guestfs-actions.pod:12675
msgid "(Added in 1.9.4)"
msgstr "(Added in 1.9.4)"

#. type: =head2
#: ../lib/guestfs-actions.pod:6845
msgid "guestfs_inspect_get_hostname"
msgstr "guestfs_inspect_get_hostname"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6847
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_hostname (guestfs_h *g,\n"
"                               const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_hostname (guestfs_h *g,\n"
"                               const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6862
msgid "(Added in 1.7.9)"
msgstr "(Added in 1.7.9)"

#. type: =head2
#: ../lib/guestfs-actions.pod:6864
msgid "guestfs_inspect_get_icon"
msgstr "guestfs_inspect_get_icon"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6866
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_icon (guestfs_h *g,\n"
"                           const char *root,\n"
"                           size_t *size_r,\n"
"                           ...);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_icon (guestfs_h *g,\n"
"                           const char *root,\n"
"                           size_t *size_r,\n"
"                           ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6877
#, no-wrap
msgid ""
" GUESTFS_INSPECT_GET_ICON_FAVICON, int favicon,\n"
" GUESTFS_INSPECT_GET_ICON_HIGHQUALITY, int highquality,\n"
"\n"
msgstr ""
" GUESTFS_INSPECT_GET_ICON_FAVICON, int favicon,\n"
" GUESTFS_INSPECT_GET_ICON_HIGHQUALITY, int highquality,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6944 ../lib/guestfs-actions.pod:8708
#: ../lib/guestfs-actions.pod:10892
msgid "(Added in 1.11.12)"
msgstr "(Added in 1.11.12)"

#. type: =head2
#: ../lib/guestfs-actions.pod:6946
msgid "guestfs_inspect_get_icon_va"
msgstr "guestfs_inspect_get_icon_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6948
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_icon_va (guestfs_h *g,\n"
"                              const char *root,\n"
"                              size_t *size_r,\n"
"                              va_list args);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_icon_va (guestfs_h *g,\n"
"                              const char *root,\n"
"                              size_t *size_r,\n"
"                              va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6954
msgid "This is the \"va_list variant\" of L</guestfs_inspect_get_icon>."
msgstr "This is the \"va_list variant\" of L</guestfs_inspect_get_icon>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6958
msgid "guestfs_inspect_get_icon_argv"
msgstr "guestfs_inspect_get_icon_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6960
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_icon_argv (guestfs_h *g,\n"
"                                const char *root,\n"
"                                size_t *size_r,\n"
"                                const struct guestfs_inspect_get_icon_argv *optargs);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_icon_argv (guestfs_h *g,\n"
"                                const char *root,\n"
"                                size_t *size_r,\n"
"                                const struct guestfs_inspect_get_icon_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:6966
msgid "This is the \"argv variant\" of L</guestfs_inspect_get_icon>."
msgstr "This is the \"argv variant\" of L</guestfs_inspect_get_icon>."

#. type: =head2
#: ../lib/guestfs-actions.pod:6970
msgid "guestfs_inspect_get_major_version"
msgstr "guestfs_inspect_get_major_version"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6972
#, no-wrap
msgid ""
" int\n"
" guestfs_inspect_get_major_version (guestfs_h *g,\n"
"                                    const char *root);\n"
"\n"
msgstr ""
" int\n"
" guestfs_inspect_get_major_version (guestfs_h *g,\n"
"                                    const char *root);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:6994
msgid "guestfs_inspect_get_minor_version"
msgstr "guestfs_inspect_get_minor_version"

#. type: verbatim
#: ../lib/guestfs-actions.pod:6996
#, no-wrap
msgid ""
" int\n"
" guestfs_inspect_get_minor_version (guestfs_h *g,\n"
"                                    const char *root);\n"
"\n"
msgstr ""
" int\n"
" guestfs_inspect_get_minor_version (guestfs_h *g,\n"
"                                    const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7005
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_major_version>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_major_version>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7012
msgid "guestfs_inspect_get_mountpoints"
msgstr "guestfs_inspect_get_mountpoints"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7014
#, no-wrap
msgid ""
" char **\n"
" guestfs_inspect_get_mountpoints (guestfs_h *g,\n"
"                                  const char *root);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_inspect_get_mountpoints (guestfs_h *g,\n"
"                                  const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7035
msgid ""
"For operating systems like Windows which still use drive letters, this call "
"will only return an entry for the first drive \"mounted on\" F</>.  For "
"information about the mapping of drive letters to partitions, see "
"C<guestfs_inspect_get_drive_mappings>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:7041
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_filesystems>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_filesystems>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7052
msgid "guestfs_inspect_get_osinfo"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:7054
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_osinfo (guestfs_h *g,\n"
"                             const char *root);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:7070
msgid "(Added in 1.39.1)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:7072
msgid "guestfs_inspect_get_package_format"
msgstr "guestfs_inspect_get_package_format"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7074
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_package_format (guestfs_h *g,\n"
"                                     const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_package_format (guestfs_h *g,\n"
"                                     const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7078
msgid ""
"This function and C<guestfs_inspect_get_package_management> return the "
"package format and package management tool used by the inspected operating "
"system.  For example for Fedora these functions would return C<rpm> (package "
"format), and C<yum> or C<dnf> (package management)."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:7098 ../lib/guestfs-actions.pod:7126
msgid "(Added in 1.7.5)"
msgstr "(Added in 1.7.5)"

#. type: =head2
#: ../lib/guestfs-actions.pod:7100
msgid "guestfs_inspect_get_package_management"
msgstr "guestfs_inspect_get_package_management"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7102
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_package_management (guestfs_h *g,\n"
"                                         const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_package_management (guestfs_h *g,\n"
"                                         const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7106
msgid ""
"C<guestfs_inspect_get_package_format> and this function return the package "
"format and package management tool used by the inspected operating system.  "
"For example for Fedora these functions would return C<rpm> (package format), "
"and C<yum> or C<dnf> (package management)."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:7128
msgid "guestfs_inspect_get_product_name"
msgstr "guestfs_inspect_get_product_name"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7130
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_product_name (guestfs_h *g,\n"
"                                   const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_product_name (guestfs_h *g,\n"
"                                   const char *root);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7149
msgid "guestfs_inspect_get_product_variant"
msgstr "guestfs_inspect_get_product_variant"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7151
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_product_variant (guestfs_h *g,\n"
"                                      const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_product_variant (guestfs_h *g,\n"
"                                      const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7174
msgid ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_product_name>, C<guestfs_inspect_get_major_version>."
msgstr ""
"Please read L<guestfs(3)/INSPECTION> for more details.  See also "
"C<guestfs_inspect_get_product_name>, C<guestfs_inspect_get_major_version>."

#. type: textblock
#: ../lib/guestfs-actions.pod:7181
msgid "(Added in 1.9.13)"
msgstr "(Added in 1.9.13)"

#. type: =head2
#: ../lib/guestfs-actions.pod:7183
msgid "guestfs_inspect_get_roots"
msgstr "guestfs_inspect_get_roots"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7185
#, no-wrap
msgid ""
" char **\n"
" guestfs_inspect_get_roots (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_inspect_get_roots (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7188
msgid ""
"This function is a convenient way to get the list of root devices, as "
"returned from a previous call to C<guestfs_inspect_os>, but without redoing "
"the whole inspection process."
msgstr ""
"This function is a convenient way to get the list of root devices, as "
"returned from a previous call to C<guestfs_inspect_os>, but without redoing "
"the whole inspection process."

#. type: textblock
#: ../lib/guestfs-actions.pod:7192
msgid ""
"This returns an empty list if either no root devices were found or the "
"caller has not called C<guestfs_inspect_os>."
msgstr ""
"This returns an empty list if either no root devices were found or the "
"caller has not called C<guestfs_inspect_os>."

#. type: textblock
#: ../lib/guestfs-actions.pod:7201
msgid "(Added in 1.7.3)"
msgstr "(Added in 1.7.3)"

#. type: =head2
#: ../lib/guestfs-actions.pod:7203
msgid "guestfs_inspect_get_type"
msgstr "guestfs_inspect_get_type"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7205
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_type (guestfs_h *g,\n"
"                           const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_type (guestfs_h *g,\n"
"                           const char *root);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7262
msgid "guestfs_inspect_get_windows_current_control_set"
msgstr "guestfs_inspect_get_windows_current_control_set"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7264
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_windows_current_control_set (guestfs_h *g,\n"
"                                                  const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_windows_current_control_set (guestfs_h *g,\n"
"                                                  const char *root);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7282
msgid "guestfs_inspect_get_windows_software_hive"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:7284
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_windows_software_hive (guestfs_h *g,\n"
"                                            const char *root);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:7296 ../lib/guestfs-actions.pod:7319
msgid "You can use C<guestfs_hivex_open> to read or write to the hive."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:7303 ../lib/guestfs-actions.pod:7326
msgid "(Added in 1.35.26)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:7305
msgid "guestfs_inspect_get_windows_system_hive"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:7307
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_windows_system_hive (guestfs_h *g,\n"
"                                          const char *root);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:7328
msgid "guestfs_inspect_get_windows_systemroot"
msgstr "guestfs_inspect_get_windows_systemroot"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7330
#, no-wrap
msgid ""
" char *\n"
" guestfs_inspect_get_windows_systemroot (guestfs_h *g,\n"
"                                         const char *root);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_inspect_get_windows_systemroot (guestfs_h *g,\n"
"                                         const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7346
msgid "(Added in 1.5.25)"
msgstr "(Added in 1.5.25)"

#. type: =head2
#: ../lib/guestfs-actions.pod:7348
msgid "guestfs_inspect_is_live"
msgstr "guestfs_inspect_is_live"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7350
#, no-wrap
msgid ""
" int\n"
" guestfs_inspect_is_live (guestfs_h *g,\n"
"                          const char *root);\n"
"\n"
msgstr ""
" int\n"
" guestfs_inspect_is_live (guestfs_h *g,\n"
"                          const char *root);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7370
msgid "guestfs_inspect_is_multipart"
msgstr "guestfs_inspect_is_multipart"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7372
#, no-wrap
msgid ""
" int\n"
" guestfs_inspect_is_multipart (guestfs_h *g,\n"
"                               const char *root);\n"
"\n"
msgstr ""
" int\n"
" guestfs_inspect_is_multipart (guestfs_h *g,\n"
"                               const char *root);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7392
msgid "guestfs_inspect_is_netinst"
msgstr "guestfs_inspect_is_netinst"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7394
#, no-wrap
msgid ""
" int\n"
" guestfs_inspect_is_netinst (guestfs_h *g,\n"
"                             const char *root);\n"
"\n"
msgstr ""
" int\n"
" guestfs_inspect_is_netinst (guestfs_h *g,\n"
"                             const char *root);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7414
msgid "guestfs_inspect_list_applications"
msgstr "guestfs_inspect_list_applications"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7416
#, no-wrap
msgid ""
" struct guestfs_application_list *\n"
" guestfs_inspect_list_applications (guestfs_h *g,\n"
"                                    const char *root);\n"
"\n"
msgstr ""
" struct guestfs_application_list *\n"
" guestfs_inspect_list_applications (guestfs_h *g,\n"
"                                    const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7420
msgid ""
"I<This function is deprecated.> In new code, use the L</"
"guestfs_inspect_list_applications2> call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</"
"guestfs_inspect_list_applications2> call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:7429 ../lib/guestfs-actions.pod:7533
msgid ""
"I<Note:> This call works differently from other parts of the inspection "
"API.  You have to call C<guestfs_inspect_os>, then "
"C<guestfs_inspect_get_mountpoints>, then mount up the disks, before calling "
"this.  Listing applications is a significantly more difficult operation "
"which requires access to the full filesystem.  Also note that unlike the "
"other C<guestfs_inspect_get_*> calls which are just returning data cached in "
"the libguestfs handle, this call actually reads parts of the mounted "
"filesystems during the call."
msgstr ""
"I<Note:> This call works differently from other parts of the inspection "
"API.  You have to call C<guestfs_inspect_os>, then "
"C<guestfs_inspect_get_mountpoints>, then mount up the disks, before calling "
"this.  Listing applications is a significantly more difficult operation "
"which requires access to the full filesystem.  Also note that unlike the "
"other C<guestfs_inspect_get_*> calls which are just returning data cached in "
"the libguestfs handle, this call actually reads parts of the mounted "
"filesystems during the call."

#. type: textblock
#: ../lib/guestfs-actions.pod:7519
msgid ""
"This function returns a C<struct guestfs_application_list *>, or NULL if "
"there was an error.  I<The caller must call C<guestfs_free_application_list> "
"after use>."
msgstr ""
"This function returns a C<struct guestfs_application_list *>, or NULL if "
"there was an error.  I<The caller must call C<guestfs_free_application_list> "
"after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:7523
msgid "(Added in 1.7.8)"
msgstr "(Added in 1.7.8)"

#. type: =head2
#: ../lib/guestfs-actions.pod:7525
msgid "guestfs_inspect_list_applications2"
msgstr "guestfs_inspect_list_applications2"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7527
#, no-wrap
msgid ""
" struct guestfs_application2_list *\n"
" guestfs_inspect_list_applications2 (guestfs_h *g,\n"
"                                     const char *root);\n"
"\n"
msgstr ""
" struct guestfs_application2_list *\n"
" guestfs_inspect_list_applications2 (guestfs_h *g,\n"
"                                     const char *root);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7629
msgid ""
"This function returns a C<struct guestfs_application2_list *>, or NULL if "
"there was an error.  I<The caller must call "
"C<guestfs_free_application2_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_application2_list *>, or NULL if "
"there was an error.  I<The caller must call "
"C<guestfs_free_application2_list> after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:7633 ../lib/guestfs-actions.pod:10433
msgid "(Added in 1.19.56)"
msgstr "(Added in 1.19.56)"

#. type: =head2
#: ../lib/guestfs-actions.pod:7635
msgid "guestfs_inspect_os"
msgstr "guestfs_inspect_os"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7637
#, no-wrap
msgid ""
" char **\n"
" guestfs_inspect_os (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_inspect_os (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7653
msgid ""
"You can pass the root string(s) returned to other C<guestfs_inspect_get_*> "
"functions in order to query further information about each operating system, "
"such as the name and version."
msgstr ""
"You can pass the root string(s) returned to other C<guestfs_inspect_get_*> "
"functions in order to query further information about each operating system, "
"such as the name and version."

#. type: textblock
#: ../lib/guestfs-actions.pod:7658
msgid ""
"This function uses other libguestfs features such as C<guestfs_mount_ro> and "
"C<guestfs_umount_all> in order to mount and unmount filesystems and look at "
"the contents.  This should be called with no disks currently mounted.  The "
"function may also use Augeas, so any existing Augeas handle will be closed."
msgstr ""
"This function uses other libguestfs features such as C<guestfs_mount_ro> and "
"C<guestfs_umount_all> in order to mount and unmount filesystems and look at "
"the contents.  This should be called with no disks currently mounted.  The "
"function may also use Augeas, so any existing Augeas handle will be closed."

#. type: textblock
#: ../lib/guestfs-actions.pod:7670 ../lib/guestfs-actions.pod:8719
#: ../lib/guestfs-actions.pod:8878
msgid "See also C<guestfs_list_filesystems>."
msgstr "See also C<guestfs_list_filesystems>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7678
msgid "guestfs_is_blockdev"
msgstr "guestfs_is_blockdev"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7680
#, no-wrap
msgid ""
" int\n"
" guestfs_is_blockdev (guestfs_h *g,\n"
"                      const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_blockdev (guestfs_h *g,\n"
"                      const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7684
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_blockdev_opts> with no "
"optional arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_blockdev_opts> with no "
"optional arguments."

#. type: textblock
#: ../lib/guestfs-actions.pod:7688 ../lib/guestfs-actions.pod:7720
#: ../lib/guestfs-actions.pod:7768 ../lib/guestfs-actions.pod:7796
#: ../lib/guestfs-actions.pod:7907 ../lib/guestfs-actions.pod:7935
#: ../lib/guestfs-actions.pod:8073 ../lib/guestfs-actions.pod:8101
#: ../lib/guestfs-actions.pod:8138
msgid "(Added in 1.5.10)"
msgstr "(Added in 1.5.10)"

#. type: =head2
#: ../lib/guestfs-actions.pod:7691
msgid "guestfs_is_blockdev_opts"
msgstr "guestfs_is_blockdev_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7693
#, no-wrap
msgid ""
" int\n"
" guestfs_is_blockdev_opts (guestfs_h *g,\n"
"                           const char *path,\n"
"                           ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_blockdev_opts (guestfs_h *g,\n"
"                           const char *path,\n"
"                           ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7703
#, no-wrap
msgid ""
" GUESTFS_IS_BLOCKDEV_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"
msgstr ""
" GUESTFS_IS_BLOCKDEV_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7716 ../lib/guestfs-actions.pod:7792
#: ../lib/guestfs-actions.pod:7869 ../lib/guestfs-actions.pod:7931
#: ../lib/guestfs-actions.pod:7994 ../lib/guestfs-actions.pod:8097
#: ../lib/guestfs-actions.pod:8134
msgid "See also C<guestfs_stat>."
msgstr "See also C<guestfs_stat>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7722
msgid "guestfs_is_blockdev_opts_va"
msgstr "guestfs_is_blockdev_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7724
#, no-wrap
msgid ""
" int\n"
" guestfs_is_blockdev_opts_va (guestfs_h *g,\n"
"                              const char *path,\n"
"                              va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_blockdev_opts_va (guestfs_h *g,\n"
"                              const char *path,\n"
"                              va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7729
msgid "This is the \"va_list variant\" of L</guestfs_is_blockdev_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_is_blockdev_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7733
msgid "guestfs_is_blockdev_opts_argv"
msgstr "guestfs_is_blockdev_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7735
#, no-wrap
msgid ""
" int\n"
" guestfs_is_blockdev_opts_argv (guestfs_h *g,\n"
"                                const char *path,\n"
"                                const struct guestfs_is_blockdev_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_blockdev_opts_argv (guestfs_h *g,\n"
"                                const char *path,\n"
"                                const struct guestfs_is_blockdev_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7740
msgid "This is the \"argv variant\" of L</guestfs_is_blockdev_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_is_blockdev_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7744
msgid "guestfs_is_busy"
msgstr "guestfs_is_busy"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7746
#, no-wrap
msgid ""
" int\n"
" guestfs_is_busy (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_busy (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7749
msgid ""
"This always returns false.  This function is deprecated with no "
"replacement.  Do not use this function."
msgstr ""
"This always returns false.  This function is deprecated with no "
"replacement.  Do not use this function."

#. type: =head2
#: ../lib/guestfs-actions.pod:7758
msgid "guestfs_is_chardev"
msgstr "guestfs_is_chardev"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7760
#, no-wrap
msgid ""
" int\n"
" guestfs_is_chardev (guestfs_h *g,\n"
"                     const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_chardev (guestfs_h *g,\n"
"                     const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7764
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_chardev_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_chardev_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:7771
msgid "guestfs_is_chardev_opts"
msgstr "guestfs_is_chardev_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7773
#, no-wrap
msgid ""
" int\n"
" guestfs_is_chardev_opts (guestfs_h *g,\n"
"                          const char *path,\n"
"                          ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_chardev_opts (guestfs_h *g,\n"
"                          const char *path,\n"
"                          ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7783
#, no-wrap
msgid ""
" GUESTFS_IS_CHARDEV_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"
msgstr ""
" GUESTFS_IS_CHARDEV_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7798
msgid "guestfs_is_chardev_opts_va"
msgstr "guestfs_is_chardev_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7800
#, no-wrap
msgid ""
" int\n"
" guestfs_is_chardev_opts_va (guestfs_h *g,\n"
"                             const char *path,\n"
"                             va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_chardev_opts_va (guestfs_h *g,\n"
"                             const char *path,\n"
"                             va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7805
msgid "This is the \"va_list variant\" of L</guestfs_is_chardev_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_is_chardev_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7809
msgid "guestfs_is_chardev_opts_argv"
msgstr "guestfs_is_chardev_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7811
#, no-wrap
msgid ""
" int\n"
" guestfs_is_chardev_opts_argv (guestfs_h *g,\n"
"                               const char *path,\n"
"                               const struct guestfs_is_chardev_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_chardev_opts_argv (guestfs_h *g,\n"
"                               const char *path,\n"
"                               const struct guestfs_is_chardev_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7816
msgid "This is the \"argv variant\" of L</guestfs_is_chardev_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_is_chardev_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7820
msgid "guestfs_is_config"
msgstr "guestfs_is_config"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7822
#, no-wrap
msgid ""
" int\n"
" guestfs_is_config (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_config (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7834
msgid "guestfs_is_dir"
msgstr "guestfs_is_dir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7836
#, no-wrap
msgid ""
" int\n"
" guestfs_is_dir (guestfs_h *g,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_dir (guestfs_h *g,\n"
"                 const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7840
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_dir_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_dir_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:7847
msgid "guestfs_is_dir_opts"
msgstr "guestfs_is_dir_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7849
#, no-wrap
msgid ""
" int\n"
" guestfs_is_dir_opts (guestfs_h *g,\n"
"                      const char *path,\n"
"                      ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_dir_opts (guestfs_h *g,\n"
"                      const char *path,\n"
"                      ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7859
#, no-wrap
msgid ""
" GUESTFS_IS_DIR_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"
msgstr ""
" GUESTFS_IS_DIR_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7875
msgid "guestfs_is_dir_opts_va"
msgstr "guestfs_is_dir_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7877
#, no-wrap
msgid ""
" int\n"
" guestfs_is_dir_opts_va (guestfs_h *g,\n"
"                         const char *path,\n"
"                         va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_dir_opts_va (guestfs_h *g,\n"
"                         const char *path,\n"
"                         va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7882
msgid "This is the \"va_list variant\" of L</guestfs_is_dir_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_is_dir_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7886
msgid "guestfs_is_dir_opts_argv"
msgstr "guestfs_is_dir_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7888
#, no-wrap
msgid ""
" int\n"
" guestfs_is_dir_opts_argv (guestfs_h *g,\n"
"                           const char *path,\n"
"                           const struct guestfs_is_dir_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_dir_opts_argv (guestfs_h *g,\n"
"                           const char *path,\n"
"                           const struct guestfs_is_dir_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7893
msgid "This is the \"argv variant\" of L</guestfs_is_dir_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_is_dir_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7897
msgid "guestfs_is_fifo"
msgstr "guestfs_is_fifo"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7899
#, no-wrap
msgid ""
" int\n"
" guestfs_is_fifo (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_fifo (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7903
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_fifo_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_fifo_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:7910
msgid "guestfs_is_fifo_opts"
msgstr "guestfs_is_fifo_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7912
#, no-wrap
msgid ""
" int\n"
" guestfs_is_fifo_opts (guestfs_h *g,\n"
"                       const char *path,\n"
"                       ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_fifo_opts (guestfs_h *g,\n"
"                       const char *path,\n"
"                       ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7922
#, no-wrap
msgid ""
" GUESTFS_IS_FIFO_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"
msgstr ""
" GUESTFS_IS_FIFO_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:7937
msgid "guestfs_is_fifo_opts_va"
msgstr "guestfs_is_fifo_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7939
#, no-wrap
msgid ""
" int\n"
" guestfs_is_fifo_opts_va (guestfs_h *g,\n"
"                          const char *path,\n"
"                          va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_fifo_opts_va (guestfs_h *g,\n"
"                          const char *path,\n"
"                          va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7944
msgid "This is the \"va_list variant\" of L</guestfs_is_fifo_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_is_fifo_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7948
msgid "guestfs_is_fifo_opts_argv"
msgstr "guestfs_is_fifo_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7950
#, no-wrap
msgid ""
" int\n"
" guestfs_is_fifo_opts_argv (guestfs_h *g,\n"
"                            const char *path,\n"
"                            const struct guestfs_is_fifo_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_fifo_opts_argv (guestfs_h *g,\n"
"                            const char *path,\n"
"                            const struct guestfs_is_fifo_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7955
msgid "This is the \"argv variant\" of L</guestfs_is_fifo_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_is_fifo_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:7959
msgid "guestfs_is_file"
msgstr "guestfs_is_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7961
#, no-wrap
msgid ""
" int\n"
" guestfs_is_file (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_file (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:7965
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_file_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_file_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:7972
msgid "guestfs_is_file_opts"
msgstr "guestfs_is_file_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7974
#, no-wrap
msgid ""
" int\n"
" guestfs_is_file_opts (guestfs_h *g,\n"
"                       const char *path,\n"
"                       ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_file_opts (guestfs_h *g,\n"
"                       const char *path,\n"
"                       ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:7984
#, no-wrap
msgid ""
" GUESTFS_IS_FILE_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"
msgstr ""
" GUESTFS_IS_FILE_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8000
msgid "guestfs_is_file_opts_va"
msgstr "guestfs_is_file_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8002
#, no-wrap
msgid ""
" int\n"
" guestfs_is_file_opts_va (guestfs_h *g,\n"
"                          const char *path,\n"
"                          va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_file_opts_va (guestfs_h *g,\n"
"                          const char *path,\n"
"                          va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8007
msgid "This is the \"va_list variant\" of L</guestfs_is_file_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_is_file_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8011
msgid "guestfs_is_file_opts_argv"
msgstr "guestfs_is_file_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8013
#, no-wrap
msgid ""
" int\n"
" guestfs_is_file_opts_argv (guestfs_h *g,\n"
"                            const char *path,\n"
"                            const struct guestfs_is_file_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_file_opts_argv (guestfs_h *g,\n"
"                            const char *path,\n"
"                            const struct guestfs_is_file_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8018
msgid "This is the \"argv variant\" of L</guestfs_is_file_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_is_file_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8022
msgid "guestfs_is_launching"
msgstr "guestfs_is_launching"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8024
#, no-wrap
msgid ""
" int\n"
" guestfs_is_launching (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_launching (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8027
msgid ""
"This returns true iff this handle is launching the subprocess (in the "
"C<LAUNCHING> state)."
msgstr ""
"This returns true iff this handle is launching the subprocess (in the "
"C<LAUNCHING> state)."

#. type: =head2
#: ../lib/guestfs-actions.pod:8036
msgid "guestfs_is_lv"
msgstr "guestfs_is_lv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8038
#, no-wrap
msgid ""
" int\n"
" guestfs_is_lv (guestfs_h *g,\n"
"                const char *mountable);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:8049
msgid "guestfs_is_ready"
msgstr "guestfs_is_ready"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8051
#, no-wrap
msgid ""
" int\n"
" guestfs_is_ready (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_ready (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8054
msgid ""
"This returns true iff this handle is ready to accept commands (in the "
"C<READY> state)."
msgstr ""
"This returns true iff this handle is ready to accept commands (in the "
"C<READY> state)."

#. type: =head2
#: ../lib/guestfs-actions.pod:8063
msgid "guestfs_is_socket"
msgstr "guestfs_is_socket"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8065
#, no-wrap
msgid ""
" int\n"
" guestfs_is_socket (guestfs_h *g,\n"
"                    const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_socket (guestfs_h *g,\n"
"                    const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8069
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_socket_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_is_socket_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:8076
msgid "guestfs_is_socket_opts"
msgstr "guestfs_is_socket_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8078
#, no-wrap
msgid ""
" int\n"
" guestfs_is_socket_opts (guestfs_h *g,\n"
"                         const char *path,\n"
"                         ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_socket_opts (guestfs_h *g,\n"
"                         const char *path,\n"
"                         ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8088
#, no-wrap
msgid ""
" GUESTFS_IS_SOCKET_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"
msgstr ""
" GUESTFS_IS_SOCKET_OPTS_FOLLOWSYMLINKS, int followsymlinks,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8103
msgid "guestfs_is_socket_opts_va"
msgstr "guestfs_is_socket_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8105
#, no-wrap
msgid ""
" int\n"
" guestfs_is_socket_opts_va (guestfs_h *g,\n"
"                            const char *path,\n"
"                            va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_socket_opts_va (guestfs_h *g,\n"
"                            const char *path,\n"
"                            va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8110
msgid "This is the \"va_list variant\" of L</guestfs_is_socket_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_is_socket_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8114
msgid "guestfs_is_socket_opts_argv"
msgstr "guestfs_is_socket_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8116
#, no-wrap
msgid ""
" int\n"
" guestfs_is_socket_opts_argv (guestfs_h *g,\n"
"                              const char *path,\n"
"                              const struct guestfs_is_socket_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_socket_opts_argv (guestfs_h *g,\n"
"                              const char *path,\n"
"                              const struct guestfs_is_socket_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8121
msgid "This is the \"argv variant\" of L</guestfs_is_socket_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_is_socket_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8125
msgid "guestfs_is_symlink"
msgstr "guestfs_is_symlink"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8127
#, no-wrap
msgid ""
" int\n"
" guestfs_is_symlink (guestfs_h *g,\n"
"                     const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_symlink (guestfs_h *g,\n"
"                     const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8140
msgid "guestfs_is_whole_device"
msgstr "guestfs_is_whole_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8142
#, no-wrap
msgid ""
" int\n"
" guestfs_is_whole_device (guestfs_h *g,\n"
"                          const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_whole_device (guestfs_h *g,\n"
"                          const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8151
msgid "(Added in 1.21.9)"
msgstr "(Added in 1.21.9)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8153
msgid "guestfs_is_zero"
msgstr "guestfs_is_zero"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8155
#, no-wrap
msgid ""
" int\n"
" guestfs_is_zero (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_zero (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8164 ../lib/guestfs-actions.pod:8178
msgid "(Added in 1.11.8)"
msgstr "(Added in 1.11.8)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8166
msgid "guestfs_is_zero_device"
msgstr "guestfs_is_zero_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8168
#, no-wrap
msgid ""
" int\n"
" guestfs_is_zero_device (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_is_zero_device (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8180 ../lib/guestfs-structs.pod:443
msgid "guestfs_isoinfo"
msgstr "guestfs_isoinfo"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8182
#, no-wrap
msgid ""
" struct guestfs_isoinfo *\n"
" guestfs_isoinfo (guestfs_h *g,\n"
"                  const char *isofile);\n"
"\n"
msgstr ""
" struct guestfs_isoinfo *\n"
" guestfs_isoinfo (guestfs_h *g,\n"
"                  const char *isofile);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8186
msgid ""
"This is the same as C<guestfs_isoinfo_device> except that it works for an "
"ISO file located inside some other mounted filesystem.  Note that in the "
"common case where you have added an ISO file as a libguestfs device, you "
"would I<not> call this.  Instead you would call C<guestfs_isoinfo_device>."
msgstr ""
"This is the same as C<guestfs_isoinfo_device> except that it works for an "
"ISO file located inside some other mounted filesystem.  Note that in the "
"common case where you have added an ISO file as a libguestfs device, you "
"would I<not> call this.  Instead you would call C<guestfs_isoinfo_device>."

#. type: textblock
#: ../lib/guestfs-actions.pod:8192 ../lib/guestfs-actions.pod:8215
msgid ""
"This function returns a C<struct guestfs_isoinfo *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_isoinfo> after use>."
msgstr ""
"This function returns a C<struct guestfs_isoinfo *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_isoinfo> after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:8196 ../lib/guestfs-actions.pod:8219
msgid "(Added in 1.17.19)"
msgstr "(Added in 1.17.19)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8198
msgid "guestfs_isoinfo_device"
msgstr "guestfs_isoinfo_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8200
#, no-wrap
msgid ""
" struct guestfs_isoinfo *\n"
" guestfs_isoinfo_device (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"
msgstr ""
" struct guestfs_isoinfo *\n"
" guestfs_isoinfo_device (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8221
msgid "guestfs_journal_close"
msgstr "guestfs_journal_close"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8223
#, no-wrap
msgid ""
" int\n"
" guestfs_journal_close (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_journal_close (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8230 ../lib/guestfs-actions.pod:8260
#: ../lib/guestfs-actions.pod:8279 ../lib/guestfs-actions.pod:8293
#: ../lib/guestfs-actions.pod:8314 ../lib/guestfs-actions.pod:8336
#: ../lib/guestfs-actions.pod:8356 ../lib/guestfs-actions.pod:8377
msgid ""
"This function depends on the feature C<journal>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:8233 ../lib/guestfs-actions.pod:8263
#: ../lib/guestfs-actions.pod:8282 ../lib/guestfs-actions.pod:8317
#: ../lib/guestfs-actions.pod:8339 ../lib/guestfs-actions.pod:8359
#: ../lib/guestfs-actions.pod:8380
msgid "(Added in 1.23.11)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:8235
msgid "guestfs_journal_get"
msgstr "guestfs_journal_get"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8237
#, no-wrap
msgid ""
" struct guestfs_xattr_list *\n"
" guestfs_journal_get (guestfs_h *g);\n"
"\n"
msgstr ""
" struct guestfs_xattr_list *\n"
" guestfs_journal_get (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8248
msgid ""
"The length of data may be truncated to the data threshold (see: "
"C<guestfs_journal_set_data_threshold>, "
"C<guestfs_journal_get_data_threshold>)."
msgstr ""
"The length of data may be truncated to the data threshold (see: "
"C<guestfs_journal_set_data_threshold>, "
"C<guestfs_journal_get_data_threshold>)."

#. type: =head2
#: ../lib/guestfs-actions.pod:8265
msgid "guestfs_journal_get_data_threshold"
msgstr "guestfs_journal_get_data_threshold"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8267
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_journal_get_data_threshold (guestfs_h *g);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_journal_get_data_threshold (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8275
msgid "See also C<guestfs_journal_set_data_threshold>."
msgstr "See also C<guestfs_journal_set_data_threshold>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8284
msgid "guestfs_journal_get_realtime_usec"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:8286
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_journal_get_realtime_usec (guestfs_h *g);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:8296
msgid "(Added in 1.27.18)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:8298
msgid "guestfs_journal_next"
msgstr "guestfs_journal_next"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8300
#, no-wrap
msgid ""
" int\n"
" guestfs_journal_next (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_journal_next (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8307
msgid ""
"The returned boolean tells you if there are any more journal records to "
"read.  C<true> means you can read the next record (eg. using "
"C<guestfs_journal_get>), and C<false> means you have reached the end of the "
"journal."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:8319
msgid "guestfs_journal_open"
msgstr "guestfs_journal_open"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8321
#, no-wrap
msgid ""
" int\n"
" guestfs_journal_open (guestfs_h *g,\n"
"                       const char *directory);\n"
"\n"
msgstr ""
" int\n"
" guestfs_journal_open (guestfs_h *g,\n"
"                       const char *directory);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8328
msgid ""
"The contents of the journal can be read using C<guestfs_journal_next> and "
"C<guestfs_journal_get>."
msgstr ""
"The contents of the journal can be read using C<guestfs_journal_next> and "
"C<guestfs_journal_get>."

#. type: textblock
#: ../lib/guestfs-actions.pod:8331
msgid ""
"After you have finished using the journal, you should close the handle by "
"calling C<guestfs_journal_close>."
msgstr ""
"After you have finished using the journal, you should close the handle by "
"calling C<guestfs_journal_close>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8341
msgid "guestfs_journal_set_data_threshold"
msgstr "guestfs_journal_set_data_threshold"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8343
#, no-wrap
msgid ""
" int\n"
" guestfs_journal_set_data_threshold (guestfs_h *g,\n"
"                                     int64_t threshold);\n"
"\n"
msgstr ""
" int\n"
" guestfs_journal_set_data_threshold (guestfs_h *g,\n"
"                                     int64_t threshold);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8352
msgid "See also C<guestfs_journal_get_data_threshold>."
msgstr "See also C<guestfs_journal_get_data_threshold>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8361
msgid "guestfs_journal_skip"
msgstr "guestfs_journal_skip"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8363
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_journal_skip (guestfs_h *g,\n"
"                       int64_t skip);\n"
"\n"
msgstr ""
" int64_t\n"
" guestfs_journal_skip (guestfs_h *g,\n"
"                       int64_t skip);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8382
msgid "guestfs_kill_subprocess"
msgstr "guestfs_kill_subprocess"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8384
#, no-wrap
msgid ""
" int\n"
" guestfs_kill_subprocess (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_kill_subprocess (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8387
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_shutdown> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_shutdown> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:8396
msgid "Do not call this.  See: C<guestfs_shutdown> instead."
msgstr "Do not call this.  See: C<guestfs_shutdown> instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:8402
msgid "guestfs_launch"
msgstr "guestfs_launch"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8404
#, no-wrap
msgid ""
" int\n"
" guestfs_launch (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_launch (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8410
msgid ""
"Do not call C<guestfs_launch> twice on the same handle.  Although it will "
"not give an error (for historical reasons), the precise behaviour when you "
"do this is not well defined.  Handles are very cheap to create, so create a "
"new one for each launch."
msgstr ""
"Do not call C<guestfs_launch> twice on the same handle.  Although it will "
"not give an error (for historical reasons), the precise behaviour when you "
"do this is not well defined.  Handles are very cheap to create, so create a "
"new one for each launch."

#. type: =head2
#: ../lib/guestfs-actions.pod:8424
msgid "guestfs_lchown"
msgstr "guestfs_lchown"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8426
#, no-wrap
msgid ""
" int\n"
" guestfs_lchown (guestfs_h *g,\n"
"                 int owner,\n"
"                 int group,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lchown (guestfs_h *g,\n"
"                 int owner,\n"
"                 int group,\n"
"                 const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8432
msgid ""
"Change the file owner to C<owner> and group to C<group>.  This is like "
"C<guestfs_chown> but if C<path> is a symlink then the link itself is "
"changed, not the target."
msgstr ""
"Change the file owner to C<owner> and group to C<group>.  This is like "
"C<guestfs_chown> but if C<path> is a symlink then the link itself is "
"changed, not the target."

#. type: =head2
#: ../lib/guestfs-actions.pod:8444
msgid "guestfs_ldmtool_create_all"
msgstr "guestfs_ldmtool_create_all"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8446
#, no-wrap
msgid ""
" int\n"
" guestfs_ldmtool_create_all (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ldmtool_create_all (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8453
msgid ""
"Call C<guestfs_list_ldm_volumes> and C<guestfs_list_ldm_partitions> to "
"return all devices."
msgstr ""
"Call C<guestfs_list_ldm_volumes> and C<guestfs_list_ldm_partitions> to "
"return all devices."

#. type: textblock
#: ../lib/guestfs-actions.pod:8456
msgid ""
"Note that you B<don't> normally need to call this explicitly, since it is "
"done automatically at C<guestfs_launch> time.  However you might want to "
"call this function if you have hotplugged disks or have just created a "
"Windows dynamic disk."
msgstr ""
"Note that you B<don't> normally need to call this explicitly, since it is "
"done automatically at C<guestfs_launch> time.  However you might want to "
"call this function if you have hotplugged disks or have just created a "
"Windows dynamic disk."

#. type: textblock
#: ../lib/guestfs-actions.pod:8463 ../lib/guestfs-actions.pod:8482
#: ../lib/guestfs-actions.pod:8500 ../lib/guestfs-actions.pod:8519
#: ../lib/guestfs-actions.pod:8535 ../lib/guestfs-actions.pod:8556
#: ../lib/guestfs-actions.pod:8578 ../lib/guestfs-actions.pod:8598
#: ../lib/guestfs-actions.pod:8617 ../lib/guestfs-actions.pod:8639
#: ../lib/guestfs-actions.pod:8830 ../lib/guestfs-actions.pod:8848
msgid ""
"This function depends on the feature C<ldm>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:8466 ../lib/guestfs-actions.pod:8485
#: ../lib/guestfs-actions.pod:8503 ../lib/guestfs-actions.pod:8522
#: ../lib/guestfs-actions.pod:8538 ../lib/guestfs-actions.pod:8559
#: ../lib/guestfs-actions.pod:8581 ../lib/guestfs-actions.pod:8601
#: ../lib/guestfs-actions.pod:8620 ../lib/guestfs-actions.pod:8642
#: ../lib/guestfs-actions.pod:8833 ../lib/guestfs-actions.pod:8851
msgid "(Added in 1.20.0)"
msgstr "(Added in 1.20.0)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8468
msgid "guestfs_ldmtool_diskgroup_disks"
msgstr "guestfs_ldmtool_diskgroup_disks"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8470
#, no-wrap
msgid ""
" char **\n"
" guestfs_ldmtool_diskgroup_disks (guestfs_h *g,\n"
"                                  const char *diskgroup);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_ldmtool_diskgroup_disks (guestfs_h *g,\n"
"                                  const char *diskgroup);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8474
msgid ""
"Return the disks in a Windows dynamic disk group.  The C<diskgroup> "
"parameter should be the GUID of a disk group, one element from the list "
"returned by C<guestfs_ldmtool_scan>."
msgstr ""
"Return the disks in a Windows dynamic disk group.  The C<diskgroup> "
"parameter should be the GUID of a disk group, one element from the list "
"returned by C<guestfs_ldmtool_scan>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8487
msgid "guestfs_ldmtool_diskgroup_name"
msgstr "guestfs_ldmtool_diskgroup_name"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8489
#, no-wrap
msgid ""
" char *\n"
" guestfs_ldmtool_diskgroup_name (guestfs_h *g,\n"
"                                 const char *diskgroup);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_ldmtool_diskgroup_name (guestfs_h *g,\n"
"                                 const char *diskgroup);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8493
msgid ""
"Return the name of a Windows dynamic disk group.  The C<diskgroup> parameter "
"should be the GUID of a disk group, one element from the list returned by "
"C<guestfs_ldmtool_scan>."
msgstr ""
"Return the name of a Windows dynamic disk group.  The C<diskgroup> parameter "
"should be the GUID of a disk group, one element from the list returned by "
"C<guestfs_ldmtool_scan>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8505
msgid "guestfs_ldmtool_diskgroup_volumes"
msgstr "guestfs_ldmtool_diskgroup_volumes"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8507
#, no-wrap
msgid ""
" char **\n"
" guestfs_ldmtool_diskgroup_volumes (guestfs_h *g,\n"
"                                    const char *diskgroup);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_ldmtool_diskgroup_volumes (guestfs_h *g,\n"
"                                    const char *diskgroup);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8511
msgid ""
"Return the volumes in a Windows dynamic disk group.  The C<diskgroup> "
"parameter should be the GUID of a disk group, one element from the list "
"returned by C<guestfs_ldmtool_scan>."
msgstr ""
"Return the volumes in a Windows dynamic disk group.  The C<diskgroup> "
"parameter should be the GUID of a disk group, one element from the list "
"returned by C<guestfs_ldmtool_scan>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8524
msgid "guestfs_ldmtool_remove_all"
msgstr "guestfs_ldmtool_remove_all"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8526
#, no-wrap
msgid ""
" int\n"
" guestfs_ldmtool_remove_all (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ldmtool_remove_all (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8529
msgid ""
"This is essentially the opposite of C<guestfs_ldmtool_create_all>.  It "
"removes the device mapper mappings for all Windows dynamic disk volumes"
msgstr ""
"This is essentially the opposite of C<guestfs_ldmtool_create_all>.  It "
"removes the device mapper mappings for all Windows dynamic disk volumes"

#. type: =head2
#: ../lib/guestfs-actions.pod:8540
msgid "guestfs_ldmtool_scan"
msgstr "guestfs_ldmtool_scan"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8542
#, no-wrap
msgid ""
" char **\n"
" guestfs_ldmtool_scan (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_ldmtool_scan (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8545 ../lib/guestfs-actions.pod:8567
msgid ""
"This function scans for Windows dynamic disks.  It returns a list of "
"identifiers (GUIDs) for all disk groups that were found.  These identifiers "
"can be passed to other C<guestfs_ldmtool_*> functions."
msgstr ""
"This function scans for Windows dynamic disks.  It returns a list of "
"identifiers (GUIDs) for all disk groups that were found.  These identifiers "
"can be passed to other C<guestfs_ldmtool_*> functions."

#. type: textblock
#: ../lib/guestfs-actions.pod:8549
msgid ""
"This function scans all block devices.  To scan a subset of block devices, "
"call C<guestfs_ldmtool_scan_devices> instead."
msgstr ""
"This function scans all block devices.  To scan a subset of block devices, "
"call C<guestfs_ldmtool_scan_devices> instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:8561
msgid "guestfs_ldmtool_scan_devices"
msgstr "guestfs_ldmtool_scan_devices"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8563
#, no-wrap
msgid ""
" char **\n"
" guestfs_ldmtool_scan_devices (guestfs_h *g,\n"
"                               char *const *devices);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_ldmtool_scan_devices (guestfs_h *g,\n"
"                               char *const *devices);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8583
msgid "guestfs_ldmtool_volume_hint"
msgstr "guestfs_ldmtool_volume_hint"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8585
#, no-wrap
msgid ""
" char *\n"
" guestfs_ldmtool_volume_hint (guestfs_h *g,\n"
"                              const char *diskgroup,\n"
"                              const char *volume);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_ldmtool_volume_hint (guestfs_h *g,\n"
"                              const char *diskgroup,\n"
"                              const char *volume);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8603
msgid "guestfs_ldmtool_volume_partitions"
msgstr "guestfs_ldmtool_volume_partitions"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8605
#, no-wrap
msgid ""
" char **\n"
" guestfs_ldmtool_volume_partitions (guestfs_h *g,\n"
"                                    const char *diskgroup,\n"
"                                    const char *volume);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_ldmtool_volume_partitions (guestfs_h *g,\n"
"                                    const char *diskgroup,\n"
"                                    const char *volume);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8622
msgid "guestfs_ldmtool_volume_type"
msgstr "guestfs_ldmtool_volume_type"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8624
#, no-wrap
msgid ""
" char *\n"
" guestfs_ldmtool_volume_type (guestfs_h *g,\n"
"                              const char *diskgroup,\n"
"                              const char *volume);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_ldmtool_volume_type (guestfs_h *g,\n"
"                              const char *diskgroup,\n"
"                              const char *volume);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8644
msgid "guestfs_lgetxattr"
msgstr "guestfs_lgetxattr"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8646
#, no-wrap
msgid ""
" char *\n"
" guestfs_lgetxattr (guestfs_h *g,\n"
"                    const char *path,\n"
"                    const char *name,\n"
"                    size_t *size_r);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_lgetxattr (guestfs_h *g,\n"
"                    const char *path,\n"
"                    const char *name,\n"
"                    size_t *size_r);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8666
msgid "See also: C<guestfs_lgetxattrs>, C<guestfs_getxattr>, L<attr(5)>."
msgstr "See also: C<guestfs_lgetxattrs>, C<guestfs_getxattr>, L<attr(5)>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8677
msgid "guestfs_lgetxattrs"
msgstr "guestfs_lgetxattrs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8679
#, no-wrap
msgid ""
" struct guestfs_xattr_list *\n"
" guestfs_lgetxattrs (guestfs_h *g,\n"
"                     const char *path);\n"
"\n"
msgstr ""
" struct guestfs_xattr_list *\n"
" guestfs_lgetxattrs (guestfs_h *g,\n"
"                     const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8683
msgid ""
"This is the same as C<guestfs_getxattrs>, but if C<path> is a symbolic link, "
"then it returns the extended attributes of the link itself."
msgstr ""
"This is the same as C<guestfs_getxattrs>, but if C<path> is a symbolic link, "
"then it returns the extended attributes of the link itself."

#. type: =head2
#: ../lib/guestfs-actions.pod:8696
msgid "guestfs_list_9p"
msgstr "guestfs_list_9p"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8698
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_9p (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_9p (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8710
msgid "guestfs_list_devices"
msgstr "guestfs_list_devices"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8712
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_devices (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_devices (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8727
msgid "guestfs_list_disk_labels"
msgstr "guestfs_list_disk_labels"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8729
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_disk_labels (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_disk_labels (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8732
msgid ""
"If you add drives using the optional C<label> parameter of "
"C<guestfs_add_drive_opts>, you can use this call to map between disk labels, "
"and raw block device and partition names (like F</dev/sda> and F</dev/sda1>)."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:8748 ../lib/guestfs-actions.pod:12605
msgid "(Added in 1.19.49)"
msgstr "(Added in 1.19.49)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8750
msgid "guestfs_list_dm_devices"
msgstr "guestfs_list_dm_devices"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8752
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_dm_devices (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_dm_devices (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8757
msgid ""
"The returned list contains F</dev/mapper/*> devices, eg. ones created by a "
"previous call to C<guestfs_luks_open>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:8760
msgid ""
"Device mapper devices which correspond to logical volumes are I<not> "
"returned in this list.  Call C<guestfs_lvs> if you want to list logical "
"volumes."
msgstr ""
"Device mapper devices which correspond to logical volumes are I<not> "
"returned in this list.  Call C<guestfs_lvs> if you want to list logical "
"volumes."

#. type: textblock
#: ../lib/guestfs-actions.pod:8768
msgid "(Added in 1.11.15)"
msgstr "(Added in 1.11.15)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8770
msgid "guestfs_list_filesystems"
msgstr "guestfs_list_filesystems"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8772
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_filesystems (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_filesystems (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8788
msgid ""
"The key is not necessarily a block device. It may also be an opaque "
"‘mountable’ string which can be passed to C<guestfs_mount>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:8795
msgid ""
"In libguestfs E<le> 1.36 this command ran other libguestfs commands, which "
"might have included C<guestfs_mount> and C<guestfs_umount>, and therefore "
"you had to use this soon after launch and only when nothing else was "
"mounted.  This restriction is removed in libguestfs E<ge> 1.38."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:8801
msgid ""
"Not all of the filesystems returned will be mountable.  In particular, swap "
"partitions are returned in the list.  Also this command does not check that "
"each filesystem found is valid and mountable, and some filesystems might be "
"mountable but require special options.  Filesystems may not all belong to a "
"single logical operating system (use C<guestfs_inspect_os> to look for OSes)."
msgstr ""
"Not all of the filesystems returned will be mountable.  In particular, swap "
"partitions are returned in the list.  Also this command does not check that "
"each filesystem found is valid and mountable, and some filesystems might be "
"mountable but require special options.  Filesystems may not all belong to a "
"single logical operating system (use C<guestfs_inspect_os> to look for OSes)."

#. type: textblock
#: ../lib/guestfs-actions.pod:8815 ../lib/guestfs-actions.pod:12079
msgid "(Added in 1.5.15)"
msgstr "(Added in 1.5.15)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8817
msgid "guestfs_list_ldm_partitions"
msgstr "guestfs_list_ldm_partitions"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8819
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_ldm_partitions (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_ldm_partitions (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8835
msgid "guestfs_list_ldm_volumes"
msgstr "guestfs_list_ldm_volumes"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8837
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_ldm_volumes (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_ldm_volumes (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8853
msgid "guestfs_list_md_devices"
msgstr "guestfs_list_md_devices"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8855
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_md_devices (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_md_devices (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8864 ../lib/guestfs-actions.pod:14914
msgid "(Added in 1.15.4)"
msgstr "(Added in 1.15.4)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8866
msgid "guestfs_list_partitions"
msgstr "guestfs_list_partitions"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8868
#, no-wrap
msgid ""
" char **\n"
" guestfs_list_partitions (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_list_partitions (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8875
msgid ""
"This does not return logical volumes.  For that you will need to call "
"C<guestfs_lvs>."
msgstr ""
"This does not return logical volumes.  For that you will need to call "
"C<guestfs_lvs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:8886
msgid "guestfs_ll"
msgstr "guestfs_ll"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8888
#, no-wrap
msgid ""
" char *\n"
" guestfs_ll (guestfs_h *g,\n"
"             const char *directory);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_ll (guestfs_h *g,\n"
"             const char *directory);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8903
msgid "guestfs_llz"
msgstr "guestfs_llz"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8905
#, no-wrap
msgid ""
" char *\n"
" guestfs_llz (guestfs_h *g,\n"
"              const char *directory);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_llz (guestfs_h *g,\n"
"              const char *directory);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8909
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_lgetxattrs> "
"call instead."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:8924 ../lib/guestfs-actions.pod:15737
msgid "(Added in 1.17.6)"
msgstr "(Added in 1.17.6)"

#. type: =head2
#: ../lib/guestfs-actions.pod:8926
msgid "guestfs_ln"
msgstr "guestfs_ln"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8928
#, no-wrap
msgid ""
" int\n"
" guestfs_ln (guestfs_h *g,\n"
"             const char *target,\n"
"             const char *linkname);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ln (guestfs_h *g,\n"
"             const char *target,\n"
"             const char *linkname);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8939
msgid "guestfs_ln_f"
msgstr "guestfs_ln_f"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8941
#, no-wrap
msgid ""
" int\n"
" guestfs_ln_f (guestfs_h *g,\n"
"               const char *target,\n"
"               const char *linkname);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ln_f (guestfs_h *g,\n"
"               const char *target,\n"
"               const char *linkname);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8953
msgid "guestfs_ln_s"
msgstr "guestfs_ln_s"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8955
#, no-wrap
msgid ""
" int\n"
" guestfs_ln_s (guestfs_h *g,\n"
"               const char *target,\n"
"               const char *linkname);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ln_s (guestfs_h *g,\n"
"               const char *target,\n"
"               const char *linkname);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8966
msgid "guestfs_ln_sf"
msgstr "guestfs_ln_sf"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8968
#, no-wrap
msgid ""
" int\n"
" guestfs_ln_sf (guestfs_h *g,\n"
"                const char *target,\n"
"                const char *linkname);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ln_sf (guestfs_h *g,\n"
"                const char *target,\n"
"                const char *linkname);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:8980
msgid "guestfs_lremovexattr"
msgstr "guestfs_lremovexattr"

#. type: verbatim
#: ../lib/guestfs-actions.pod:8982
#, no-wrap
msgid ""
" int\n"
" guestfs_lremovexattr (guestfs_h *g,\n"
"                       const char *xattr,\n"
"                       const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lremovexattr (guestfs_h *g,\n"
"                       const char *xattr,\n"
"                       const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:8987
msgid ""
"This is the same as C<guestfs_removexattr>, but if C<path> is a symbolic "
"link, then it removes an extended attribute of the link itself."
msgstr ""
"This is the same as C<guestfs_removexattr>, but if C<path> is a symbolic "
"link, then it removes an extended attribute of the link itself."

#. type: =head2
#: ../lib/guestfs-actions.pod:8998
msgid "guestfs_ls"
msgstr "guestfs_ls"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9000
#, no-wrap
msgid ""
" char **\n"
" guestfs_ls (guestfs_h *g,\n"
"             const char *directory);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_ls (guestfs_h *g,\n"
"             const char *directory);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9014
msgid "guestfs_ls0"
msgstr "guestfs_ls0"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9016
#, no-wrap
msgid ""
" int\n"
" guestfs_ls0 (guestfs_h *g,\n"
"              const char *dir,\n"
"              const char *filenames);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ls0 (guestfs_h *g,\n"
"              const char *dir,\n"
"              const char *filenames);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9033
msgid "guestfs_lsetxattr"
msgstr "guestfs_lsetxattr"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9035
#, no-wrap
msgid ""
" int\n"
" guestfs_lsetxattr (guestfs_h *g,\n"
"                    const char *xattr,\n"
"                    const char *val,\n"
"                    int vallen,\n"
"                    const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lsetxattr (guestfs_h *g,\n"
"                    const char *xattr,\n"
"                    const char *val,\n"
"                    int vallen,\n"
"                    const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9042
msgid ""
"This is the same as C<guestfs_setxattr>, but if C<path> is a symbolic link, "
"then it sets an extended attribute of the link itself."
msgstr ""
"This is the same as C<guestfs_setxattr>, but if C<path> is a symbolic link, "
"then it sets an extended attribute of the link itself."

#. type: =head2
#: ../lib/guestfs-actions.pod:9053
msgid "guestfs_lstat"
msgstr "guestfs_lstat"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9055
#, no-wrap
msgid ""
" struct guestfs_stat *\n"
" guestfs_lstat (guestfs_h *g,\n"
"                const char *path);\n"
"\n"
msgstr ""
" struct guestfs_stat *\n"
" guestfs_lstat (guestfs_h *g,\n"
"                const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9059
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_lstatns> "
"call instead."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9068
msgid ""
"This is the same as C<guestfs_stat> except that if C<path> is a symbolic "
"link, then the link is stat-ed, not the file it refers to."
msgstr ""
"This is the same as C<guestfs_stat> except that if C<path> is a symbolic "
"link, then the link is stat-ed, not the file it refers to."

#. type: textblock
#: ../lib/guestfs-actions.pod:9074 ../lib/guestfs-actions.pod:14167
msgid ""
"This function returns a C<struct guestfs_stat *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_stat> after use>."
msgstr ""
"This function returns a C<struct guestfs_stat *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_stat> after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:9078 ../lib/guestfs-actions.pod:14171
#: ../lib/guestfs-actions.pod:14205 ../lib/guestfs-actions.pod:14958
msgid "(Added in 1.9.2)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:9080
msgid "guestfs_lstatlist"
msgstr "guestfs_lstatlist"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9082
#, no-wrap
msgid ""
" struct guestfs_stat_list *\n"
" guestfs_lstatlist (guestfs_h *g,\n"
"                    const char *path,\n"
"                    char *const *names);\n"
"\n"
msgstr ""
" struct guestfs_stat_list *\n"
" guestfs_lstatlist (guestfs_h *g,\n"
"                    const char *path,\n"
"                    char *const *names);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9087
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_lstatnslist> "
"call instead."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9094
msgid ""
"This call allows you to perform the C<guestfs_lstat> operation on multiple "
"files, where all files are in the directory C<path>.  C<names> is the list "
"of files from this directory."
msgstr ""
"This call allows you to perform the C<guestfs_lstat> operation on multiple "
"files, where all files are in the directory C<path>.  C<names> is the list "
"of files from this directory."

#. type: textblock
#: ../lib/guestfs-actions.pod:9103 ../lib/guestfs-actions.pod:9150
msgid ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips.  See also C<guestfs_lxattrlist> "
"for a similarly efficient call for getting extended attributes."
msgstr ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips.  See also C<guestfs_lxattrlist> "
"for a similarly efficient call for getting extended attributes."

#. type: textblock
#: ../lib/guestfs-actions.pod:9108
msgid ""
"This function returns a C<struct guestfs_stat_list *>, or NULL if there was "
"an error.  I<The caller must call C<guestfs_free_stat_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_stat_list *>, or NULL if there was "
"an error.  I<The caller must call C<guestfs_free_stat_list> after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:9114
msgid "guestfs_lstatns"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:9116
#, no-wrap
msgid ""
" struct guestfs_statns *\n"
" guestfs_lstatns (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9122
msgid ""
"This is the same as C<guestfs_statns> except that if C<path> is a symbolic "
"link, then the link is stat-ed, not the file it refers to."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9128 ../lib/guestfs-actions.pod:14183
msgid ""
"This function returns a C<struct guestfs_statns *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_statns> after use>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9132 ../lib/guestfs-actions.pod:9159
#: ../lib/guestfs-actions.pod:14187
msgid "(Added in 1.27.53)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:9134
msgid "guestfs_lstatnslist"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:9136
#, no-wrap
msgid ""
" struct guestfs_statns_list *\n"
" guestfs_lstatnslist (guestfs_h *g,\n"
"                      const char *path,\n"
"                      char *const *names);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9141
msgid ""
"This call allows you to perform the C<guestfs_lstatns> operation on multiple "
"files, where all files are in the directory C<path>.  C<names> is the list "
"of files from this directory."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9155
msgid ""
"This function returns a C<struct guestfs_statns_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_statns_list> after use>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:9161
msgid "guestfs_luks_add_key"
msgstr "guestfs_luks_add_key"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9163
#, no-wrap
msgid ""
" int\n"
" guestfs_luks_add_key (guestfs_h *g,\n"
"                       const char *device,\n"
"                       const char *key,\n"
"                       const char *newkey,\n"
"                       int keyslot);\n"
"\n"
msgstr ""
" int\n"
" guestfs_luks_add_key (guestfs_h *g,\n"
"                       const char *device,\n"
"                       const char *key,\n"
"                       const char *newkey,\n"
"                       int keyslot);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9175
msgid ""
"Note that if C<keyslot> already contains a key, then this command will "
"fail.  You have to use C<guestfs_luks_kill_slot> first to remove that key."
msgstr ""
"Note that if C<keyslot> already contains a key, then this command will "
"fail.  You have to use C<guestfs_luks_kill_slot> first to remove that key."

#. type: textblock
#: ../lib/guestfs-actions.pod:9181 ../lib/guestfs-actions.pod:9224
#: ../lib/guestfs-actions.pod:9247 ../lib/guestfs-actions.pod:9270
#: ../lib/guestfs-actions.pod:9308 ../lib/guestfs-actions.pod:9330
msgid ""
"This function takes a key or passphrase parameter which could contain "
"sensitive material.  Read the section L</KEYS AND PASSPHRASES> for more "
"information."
msgstr ""
"This function takes a key or passphrase parameter which could contain "
"sensitive material.  Read the section L</KEYS AND PASSPHRASES> for more "
"information."

#. type: textblock
#: ../lib/guestfs-actions.pod:9185 ../lib/guestfs-actions.pod:9204
#: ../lib/guestfs-actions.pod:9228 ../lib/guestfs-actions.pod:9251
#: ../lib/guestfs-actions.pod:9274 ../lib/guestfs-actions.pod:9312
#: ../lib/guestfs-actions.pod:9334 ../lib/guestfs-actions.pod:9350
msgid ""
"This function depends on the feature C<luks>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9188 ../lib/guestfs-actions.pod:9231
#: ../lib/guestfs-actions.pod:9254 ../lib/guestfs-actions.pod:9277
msgid "(Added in 1.5.2)"
msgstr "(Added in 1.5.2)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9190
msgid "guestfs_luks_close"
msgstr "guestfs_luks_close"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9192
#, no-wrap
msgid ""
" int\n"
" guestfs_luks_close (guestfs_h *g,\n"
"                     const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_luks_close (guestfs_h *g,\n"
"                     const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9196
msgid ""
"This closes a LUKS device that was created earlier by C<guestfs_luks_open> "
"or C<guestfs_luks_open_ro>.  The C<device> parameter must be the name of the "
"LUKS mapping device (ie. F</dev/mapper/mapname>) and I<not> the name of the "
"underlying block device."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9207 ../lib/guestfs-actions.pod:9315
#: ../lib/guestfs-actions.pod:9337 ../lib/guestfs-actions.pod:9426
#: ../lib/guestfs-actions.pod:9500
msgid "(Added in 1.5.1)"
msgstr "(Added in 1.5.1)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9209
msgid "guestfs_luks_format"
msgstr "guestfs_luks_format"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9211
#, no-wrap
msgid ""
" int\n"
" guestfs_luks_format (guestfs_h *g,\n"
"                      const char *device,\n"
"                      const char *key,\n"
"                      int keyslot);\n"
"\n"
msgstr ""
" int\n"
" guestfs_luks_format (guestfs_h *g,\n"
"                      const char *device,\n"
"                      const char *key,\n"
"                      int keyslot);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9233
msgid "guestfs_luks_format_cipher"
msgstr "guestfs_luks_format_cipher"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9235
#, no-wrap
msgid ""
" int\n"
" guestfs_luks_format_cipher (guestfs_h *g,\n"
"                             const char *device,\n"
"                             const char *key,\n"
"                             int keyslot,\n"
"                             const char *cipher);\n"
"\n"
msgstr ""
" int\n"
" guestfs_luks_format_cipher (guestfs_h *g,\n"
"                             const char *device,\n"
"                             const char *key,\n"
"                             int keyslot,\n"
"                             const char *cipher);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9242
msgid ""
"This command is the same as C<guestfs_luks_format> but it also allows you to "
"set the C<cipher> used."
msgstr ""
"This command is the same as C<guestfs_luks_format> but it also allows you to "
"set the C<cipher> used."

#. type: =head2
#: ../lib/guestfs-actions.pod:9256
msgid "guestfs_luks_kill_slot"
msgstr "guestfs_luks_kill_slot"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9258
#, no-wrap
msgid ""
" int\n"
" guestfs_luks_kill_slot (guestfs_h *g,\n"
"                         const char *device,\n"
"                         const char *key,\n"
"                         int keyslot);\n"
"\n"
msgstr ""
" int\n"
" guestfs_luks_kill_slot (guestfs_h *g,\n"
"                         const char *device,\n"
"                         const char *key,\n"
"                         int keyslot);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9279
msgid "guestfs_luks_open"
msgstr "guestfs_luks_open"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9281
#, no-wrap
msgid ""
" int\n"
" guestfs_luks_open (guestfs_h *g,\n"
"                    const char *device,\n"
"                    const char *key,\n"
"                    const char *mapname);\n"
"\n"
msgstr ""
" int\n"
" guestfs_luks_open (guestfs_h *g,\n"
"                    const char *device,\n"
"                    const char *key,\n"
"                    const char *mapname);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9299
msgid ""
"If this block device contains LVM volume groups, then calling "
"C<guestfs_lvm_scan> with the C<activate> parameter C<true> will make them "
"visible."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9303
msgid "Use C<guestfs_list_dm_devices> to list all device mapper devices."
msgstr "Use C<guestfs_list_dm_devices> to list all device mapper devices."

#. type: =head2
#: ../lib/guestfs-actions.pod:9317
msgid "guestfs_luks_open_ro"
msgstr "guestfs_luks_open_ro"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9319
#, no-wrap
msgid ""
" int\n"
" guestfs_luks_open_ro (guestfs_h *g,\n"
"                       const char *device,\n"
"                       const char *key,\n"
"                       const char *mapname);\n"
"\n"
msgstr ""
" int\n"
" guestfs_luks_open_ro (guestfs_h *g,\n"
"                       const char *device,\n"
"                       const char *key,\n"
"                       const char *mapname);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9325
msgid ""
"This is the same as C<guestfs_luks_open> except that a read-only mapping is "
"created."
msgstr ""
"This is the same as C<guestfs_luks_open> except that a read-only mapping is "
"created."

#. type: =head2
#: ../lib/guestfs-actions.pod:9339
#, fuzzy
#| msgid "guestfs_vfs_uuid"
msgid "guestfs_luks_uuid"
msgstr "guestfs_vfs_uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9341
#, fuzzy, no-wrap
#| msgid ""
#| " char *\n"
#| " guestfs_lvuuid (guestfs_h *g,\n"
#| "                 const char *device);\n"
#| "\n"
msgid ""
" char *\n"
" guestfs_luks_uuid (guestfs_h *g,\n"
"                    const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_lvuuid (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9353
#, fuzzy
#| msgid "(Added in 1.21.9)"
msgid "(Added in 1.41.9)"
msgstr "(Added in 1.21.9)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9355
msgid "guestfs_lvcreate"
msgstr "guestfs_lvcreate"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9357
#, no-wrap
msgid ""
" int\n"
" guestfs_lvcreate (guestfs_h *g,\n"
"                   const char *logvol,\n"
"                   const char *volgroup,\n"
"                   int mbytes);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvcreate (guestfs_h *g,\n"
"                   const char *logvol,\n"
"                   const char *volgroup,\n"
"                   int mbytes);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9368 ../lib/guestfs-actions.pod:9388
#: ../lib/guestfs-actions.pod:9438 ../lib/guestfs-actions.pod:9497
#: ../lib/guestfs-actions.pod:9516 ../lib/guestfs-actions.pod:9547
#: ../lib/guestfs-actions.pod:9567 ../lib/guestfs-actions.pod:9589
#: ../lib/guestfs-actions.pod:9606 ../lib/guestfs-actions.pod:12175
#: ../lib/guestfs-actions.pod:12189 ../lib/guestfs-actions.pod:12206
#: ../lib/guestfs-actions.pod:12226 ../lib/guestfs-actions.pod:12242
#: ../lib/guestfs-actions.pod:12259 ../lib/guestfs-actions.pod:12281
#: ../lib/guestfs-actions.pod:12298 ../lib/guestfs-actions.pod:15417
#: ../lib/guestfs-actions.pod:15435 ../lib/guestfs-actions.pod:15450
#: ../lib/guestfs-actions.pod:15464 ../lib/guestfs-actions.pod:15481
#: ../lib/guestfs-actions.pod:15523 ../lib/guestfs-actions.pod:15561
#: ../lib/guestfs-actions.pod:15596 ../lib/guestfs-actions.pod:15613
msgid ""
"This function depends on the feature C<lvm2>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:9373
msgid "guestfs_lvcreate_free"
msgstr "guestfs_lvcreate_free"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9375
#, no-wrap
msgid ""
" int\n"
" guestfs_lvcreate_free (guestfs_h *g,\n"
"                        const char *logvol,\n"
"                        const char *volgroup,\n"
"                        int percent);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvcreate_free (guestfs_h *g,\n"
"                        const char *logvol,\n"
"                        const char *volgroup,\n"
"                        int percent);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9391 ../lib/guestfs-actions.pod:16220
msgid "(Added in 1.17.18)"
msgstr "(Added in 1.17.18)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9393
msgid "guestfs_lvm_canonical_lv_name"
msgstr "guestfs_lvm_canonical_lv_name"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9395
#, no-wrap
msgid ""
" char *\n"
" guestfs_lvm_canonical_lv_name (guestfs_h *g,\n"
"                                const char *lvname);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_lvm_canonical_lv_name (guestfs_h *g,\n"
"                                const char *lvname);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9406
msgid "See also C<guestfs_is_lv>, C<guestfs_canonical_device_name>."
msgstr "See also C<guestfs_is_lv>, C<guestfs_canonical_device_name>."

#. type: textblock
#: ../lib/guestfs-actions.pod:9411
msgid "(Added in 1.5.24)"
msgstr "(Added in 1.5.24)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9413
msgid "guestfs_lvm_clear_filter"
msgstr "guestfs_lvm_clear_filter"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9415
#, no-wrap
msgid ""
" int\n"
" guestfs_lvm_clear_filter (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvm_clear_filter (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9418
msgid ""
"This undoes the effect of C<guestfs_lvm_set_filter>.  LVM will be able to "
"see every block device."
msgstr ""
"This undoes the effect of C<guestfs_lvm_set_filter>.  LVM will be able to "
"see every block device."

#. type: =head2
#: ../lib/guestfs-actions.pod:9428
msgid "guestfs_lvm_remove_all"
msgstr "guestfs_lvm_remove_all"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9430
#, no-wrap
msgid ""
" int\n"
" guestfs_lvm_remove_all (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvm_remove_all (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9443
msgid "guestfs_lvm_scan"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:9445
#, no-wrap
msgid ""
" int\n"
" guestfs_lvm_scan (guestfs_h *g,\n"
"                   int activate);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9456
msgid ""
"When a libguestfs handle is launched it scans for existing devices, so you "
"do not normally need to use this API.  However it is useful when you have "
"added a new device or deleted an existing device (such as when the "
"C<guestfs_luks_open> API is used)."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9464
msgid "(Added in 1.39.8)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:9466
msgid "guestfs_lvm_set_filter"
msgstr "guestfs_lvm_set_filter"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9468
#, no-wrap
msgid ""
" int\n"
" guestfs_lvm_set_filter (guestfs_h *g,\n"
"                         char *const *devices);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvm_set_filter (guestfs_h *g,\n"
"                         char *const *devices);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9502
msgid "guestfs_lvremove"
msgstr "guestfs_lvremove"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9504
#, no-wrap
msgid ""
" int\n"
" guestfs_lvremove (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvremove (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9519 ../lib/guestfs-actions.pod:12229
#: ../lib/guestfs-actions.pod:15564
msgid "(Added in 1.0.13)"
msgstr "(Added in 1.0.13)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9521
msgid "guestfs_lvrename"
msgstr "guestfs_lvrename"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9523
#, no-wrap
msgid ""
" int\n"
" guestfs_lvrename (guestfs_h *g,\n"
"                   const char *logvol,\n"
"                   const char *newlogvol);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvrename (guestfs_h *g,\n"
"                   const char *logvol,\n"
"                   const char *newlogvol);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9532 ../lib/guestfs-actions.pod:15577
msgid "(Added in 1.0.83)"
msgstr "(Added in 1.0.83)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9534
msgid "guestfs_lvresize"
msgstr "guestfs_lvresize"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9536
#, no-wrap
msgid ""
" int\n"
" guestfs_lvresize (guestfs_h *g,\n"
"                   const char *device,\n"
"                   int mbytes);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvresize (guestfs_h *g,\n"
"                   const char *device,\n"
"                   int mbytes);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9552
msgid "guestfs_lvresize_free"
msgstr "guestfs_lvresize_free"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9554
#, no-wrap
msgid ""
" int\n"
" guestfs_lvresize_free (guestfs_h *g,\n"
"                        const char *lv,\n"
"                        int percent);\n"
"\n"
msgstr ""
" int\n"
" guestfs_lvresize_free (guestfs_h *g,\n"
"                        const char *lv,\n"
"                        int percent);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9570
msgid "(Added in 1.3.3)"
msgstr "(Added in 1.3.3)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9572
msgid "guestfs_lvs"
msgstr "guestfs_lvs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9574
#, no-wrap
msgid ""
" char **\n"
" guestfs_lvs (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_lvs (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9583
msgid "See also C<guestfs_lvs_full>, C<guestfs_list_filesystems>."
msgstr "See also C<guestfs_lvs_full>, C<guestfs_list_filesystems>."

#. type: =head2
#: ../lib/guestfs-actions.pod:9594
msgid "guestfs_lvs_full"
msgstr "guestfs_lvs_full"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9596
#, no-wrap
msgid ""
" struct guestfs_lvm_lv_list *\n"
" guestfs_lvs_full (guestfs_h *g);\n"
"\n"
msgstr ""
" struct guestfs_lvm_lv_list *\n"
" guestfs_lvs_full (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9602
msgid ""
"This function returns a C<struct guestfs_lvm_lv_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_lvm_lv_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_lvm_lv_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_lvm_lv_list> after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:9611
msgid "guestfs_lvuuid"
msgstr "guestfs_lvuuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9613
#, no-wrap
msgid ""
" char *\n"
" guestfs_lvuuid (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_lvuuid (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9624
msgid "guestfs_lxattrlist"
msgstr "guestfs_lxattrlist"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9626
#, no-wrap
msgid ""
" struct guestfs_xattr_list *\n"
" guestfs_lxattrlist (guestfs_h *g,\n"
"                     const char *path,\n"
"                     char *const *names);\n"
"\n"
msgstr ""
" struct guestfs_xattr_list *\n"
" guestfs_lxattrlist (guestfs_h *g,\n"
"                     const char *path,\n"
"                     char *const *names);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9635
#, fuzzy
#| msgid ""
#| "On return you get a flat list of xattr structs which must be interpreted "
#| "sequentially.  The first xattr struct always has a zero-length "
#| "C<attrname>.  C<attrval> in this struct is zero-length to indicate there "
#| "was an error doing C<lgetxattr> for this file, I<or> is a C string which "
#| "is a decimal number (the number of following attributes for this file, "
#| "which could be C<\"0\">).  Then after the first xattr struct are the zero "
#| "or more attributes for the first named file.  This repeats for the second "
#| "and subsequent files."
msgid ""
"On return you get a flat list of xattr structs which must be interpreted "
"sequentially.  The first xattr struct always has a zero-length C<attrname>.  "
"C<attrval> in this struct is zero-length to indicate there was an error "
"doing C<guestfs_lgetxattr> for this file, I<or> is a C string which is a "
"decimal number (the number of following attributes for this file, which "
"could be C<\"0\">).  Then after the first xattr struct are the zero or more "
"attributes for the first named file.  This repeats for the second and "
"subsequent files."
msgstr ""
"On return you get a flat list of xattr structs which must be interpreted "
"sequentially.  The first xattr struct always has a zero-length C<attrname>.  "
"C<attrval> in this struct is zero-length to indicate there was an error "
"doing C<lgetxattr> for this file, I<or> is a C string which is a decimal "
"number (the number of following attributes for this file, which could be C<"
"\"0\">).  Then after the first xattr struct are the zero or more attributes "
"for the first named file.  This repeats for the second and subsequent files."

#. type: textblock
#: ../lib/guestfs-actions.pod:9645
msgid ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips.  See also C<guestfs_lstatlist> for "
"a similarly efficient call for getting standard stats."
msgstr ""
"This call is intended for programs that want to efficiently list a directory "
"contents without making many round-trips.  See also C<guestfs_lstatlist> for "
"a similarly efficient call for getting standard stats."

#. type: =head2
#: ../lib/guestfs-actions.pod:9659
msgid "guestfs_max_disks"
msgstr "guestfs_max_disks"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9661
#, no-wrap
msgid ""
" int\n"
" guestfs_max_disks (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_max_disks (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9664
msgid ""
"Return the maximum number of disks that may be added to a handle (eg. by "
"C<guestfs_add_drive_opts> and similar calls)."
msgstr ""
"Return the maximum number of disks that may be added to a handle (eg. by "
"C<guestfs_add_drive_opts> and similar calls)."

#. type: =head2
#: ../lib/guestfs-actions.pod:9677
msgid "guestfs_md_create"
msgstr "guestfs_md_create"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9679
#, no-wrap
msgid ""
" int\n"
" guestfs_md_create (guestfs_h *g,\n"
"                    const char *name,\n"
"                    char *const *devices,\n"
"                    ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_md_create (guestfs_h *g,\n"
"                    const char *name,\n"
"                    char *const *devices,\n"
"                    ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9690
#, no-wrap
msgid ""
" GUESTFS_MD_CREATE_MISSINGBITMAP, int64_t missingbitmap,\n"
" GUESTFS_MD_CREATE_NRDEVICES, int nrdevices,\n"
" GUESTFS_MD_CREATE_SPARE, int spare,\n"
" GUESTFS_MD_CREATE_CHUNK, int64_t chunk,\n"
" GUESTFS_MD_CREATE_LEVEL, const char *level,\n"
"\n"
msgstr ""
" GUESTFS_MD_CREATE_MISSINGBITMAP, int64_t missingbitmap,\n"
" GUESTFS_MD_CREATE_NRDEVICES, int nrdevices,\n"
" GUESTFS_MD_CREATE_SPARE, int spare,\n"
" GUESTFS_MD_CREATE_CHUNK, int64_t chunk,\n"
" GUESTFS_MD_CREATE_LEVEL, const char *level,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9752 ../lib/guestfs-actions.pod:9821
#: ../lib/guestfs-actions.pod:9881 ../lib/guestfs-actions.pod:9897
msgid ""
"This function depends on the feature C<mdadm>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:9755 ../lib/guestfs-actions.pod:9824
#: ../lib/guestfs-actions.pod:9900
msgid "(Added in 1.15.6)"
msgstr "(Added in 1.15.6)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9757
msgid "guestfs_md_create_va"
msgstr "guestfs_md_create_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9759
#, no-wrap
msgid ""
" int\n"
" guestfs_md_create_va (guestfs_h *g,\n"
"                       const char *name,\n"
"                       char *const *devices,\n"
"                       va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_md_create_va (guestfs_h *g,\n"
"                       const char *name,\n"
"                       char *const *devices,\n"
"                       va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9765
msgid "This is the \"va_list variant\" of L</guestfs_md_create>."
msgstr "This is the \"va_list variant\" of L</guestfs_md_create>."

#. type: =head2
#: ../lib/guestfs-actions.pod:9769
msgid "guestfs_md_create_argv"
msgstr "guestfs_md_create_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9771
#, no-wrap
msgid ""
" int\n"
" guestfs_md_create_argv (guestfs_h *g,\n"
"                         const char *name,\n"
"                         char *const *devices,\n"
"                         const struct guestfs_md_create_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_md_create_argv (guestfs_h *g,\n"
"                         const char *name,\n"
"                         char *const *devices,\n"
"                         const struct guestfs_md_create_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9777
msgid "This is the \"argv variant\" of L</guestfs_md_create>."
msgstr "This is the \"argv variant\" of L</guestfs_md_create>."

#. type: =head2
#: ../lib/guestfs-actions.pod:9781
msgid "guestfs_md_detail"
msgstr "guestfs_md_detail"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9783
#, no-wrap
msgid ""
" char **\n"
" guestfs_md_detail (guestfs_h *g,\n"
"                    const char *md);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_md_detail (guestfs_h *g,\n"
"                    const char *md);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9826
msgid "guestfs_md_stat"
msgstr "guestfs_md_stat"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9828
#, no-wrap
msgid ""
" struct guestfs_mdstat_list *\n"
" guestfs_md_stat (guestfs_h *g,\n"
"                  const char *md);\n"
"\n"
msgstr ""
" struct guestfs_mdstat_list *\n"
" guestfs_md_stat (guestfs_h *g,\n"
"                  const char *md);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9835
msgid ""
"To get a list of software RAID devices, call C<guestfs_list_md_devices>."
msgstr ""
"To get a list of software RAID devices, call C<guestfs_list_md_devices>."

#. type: textblock
#: ../lib/guestfs-actions.pod:9877
msgid ""
"This function returns a C<struct guestfs_mdstat_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_mdstat_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_mdstat_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_mdstat_list> after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:9884
msgid "(Added in 1.17.21)"
msgstr "(Added in 1.17.21)"

#. type: =head2
#: ../lib/guestfs-actions.pod:9886
msgid "guestfs_md_stop"
msgstr "guestfs_md_stop"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9888
#, no-wrap
msgid ""
" int\n"
" guestfs_md_stop (guestfs_h *g,\n"
"                  const char *md);\n"
"\n"
msgstr ""
" int\n"
" guestfs_md_stop (guestfs_h *g,\n"
"                  const char *md);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9902
msgid "guestfs_mkdir"
msgstr "guestfs_mkdir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9904
#, no-wrap
msgid ""
" int\n"
" guestfs_mkdir (guestfs_h *g,\n"
"                const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkdir (guestfs_h *g,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9914
msgid "guestfs_mkdir_mode"
msgstr "guestfs_mkdir_mode"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9916
#, no-wrap
msgid ""
" int\n"
" guestfs_mkdir_mode (guestfs_h *g,\n"
"                     const char *path,\n"
"                     int mode);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkdir_mode (guestfs_h *g,\n"
"                     const char *path,\n"
"                     int mode);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:9928
msgid "See also C<guestfs_mkdir>, C<guestfs_umask>"
msgstr "See also C<guestfs_mkdir>, C<guestfs_umask>"

#. type: =head2
#: ../lib/guestfs-actions.pod:9934
msgid "guestfs_mkdir_p"
msgstr "guestfs_mkdir_p"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9936
#, no-wrap
msgid ""
" int\n"
" guestfs_mkdir_p (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkdir_p (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9947
msgid "guestfs_mkdtemp"
msgstr "guestfs_mkdtemp"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9949
#, no-wrap
msgid ""
" char *\n"
" guestfs_mkdtemp (guestfs_h *g,\n"
"                  const char *tmpl);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_mkdtemp (guestfs_h *g,\n"
"                  const char *tmpl);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:9977
msgid "guestfs_mke2fs"
msgstr "guestfs_mke2fs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9979
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2fs (guestfs_h *g,\n"
"                 const char *device,\n"
"                 ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2fs (guestfs_h *g,\n"
"                 const char *device,\n"
"                 ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:9989
#, no-wrap
msgid ""
" GUESTFS_MKE2FS_BLOCKSCOUNT, int64_t blockscount,\n"
" GUESTFS_MKE2FS_BLOCKSIZE, int64_t blocksize,\n"
" GUESTFS_MKE2FS_FRAGSIZE, int64_t fragsize,\n"
" GUESTFS_MKE2FS_BLOCKSPERGROUP, int64_t blockspergroup,\n"
" GUESTFS_MKE2FS_NUMBEROFGROUPS, int64_t numberofgroups,\n"
" GUESTFS_MKE2FS_BYTESPERINODE, int64_t bytesperinode,\n"
" GUESTFS_MKE2FS_INODESIZE, int64_t inodesize,\n"
" GUESTFS_MKE2FS_JOURNALSIZE, int64_t journalsize,\n"
" GUESTFS_MKE2FS_NUMBEROFINODES, int64_t numberofinodes,\n"
" GUESTFS_MKE2FS_STRIDESIZE, int64_t stridesize,\n"
" GUESTFS_MKE2FS_STRIPEWIDTH, int64_t stripewidth,\n"
" GUESTFS_MKE2FS_MAXONLINERESIZE, int64_t maxonlineresize,\n"
" GUESTFS_MKE2FS_RESERVEDBLOCKSPERCENTAGE, int reservedblockspercentage,\n"
" GUESTFS_MKE2FS_MMPUPDATEINTERVAL, int mmpupdateinterval,\n"
" GUESTFS_MKE2FS_JOURNALDEVICE, const char *journaldevice,\n"
" GUESTFS_MKE2FS_LABEL, const char *label,\n"
" GUESTFS_MKE2FS_LASTMOUNTEDDIR, const char *lastmounteddir,\n"
" GUESTFS_MKE2FS_CREATOROS, const char *creatoros,\n"
" GUESTFS_MKE2FS_FSTYPE, const char *fstype,\n"
" GUESTFS_MKE2FS_USAGETYPE, const char *usagetype,\n"
" GUESTFS_MKE2FS_UUID, const char *uuid,\n"
" GUESTFS_MKE2FS_FORCECREATE, int forcecreate,\n"
" GUESTFS_MKE2FS_WRITESBANDGROUPONLY, int writesbandgrouponly,\n"
" GUESTFS_MKE2FS_LAZYITABLEINIT, int lazyitableinit,\n"
" GUESTFS_MKE2FS_LAZYJOURNALINIT, int lazyjournalinit,\n"
" GUESTFS_MKE2FS_TESTFS, int testfs,\n"
" GUESTFS_MKE2FS_DISCARD, int discard,\n"
" GUESTFS_MKE2FS_QUOTATYPE, int quotatype,\n"
" GUESTFS_MKE2FS_EXTENT, int extent,\n"
" GUESTFS_MKE2FS_FILETYPE, int filetype,\n"
" GUESTFS_MKE2FS_FLEXBG, int flexbg,\n"
" GUESTFS_MKE2FS_HASJOURNAL, int hasjournal,\n"
" GUESTFS_MKE2FS_JOURNALDEV, int journaldev,\n"
" GUESTFS_MKE2FS_LARGEFILE, int largefile,\n"
" GUESTFS_MKE2FS_QUOTA, int quota,\n"
" GUESTFS_MKE2FS_RESIZEINODE, int resizeinode,\n"
" GUESTFS_MKE2FS_SPARSESUPER, int sparsesuper,\n"
" GUESTFS_MKE2FS_UNINITBG, int uninitbg,\n"
"\n"
msgstr ""
" GUESTFS_MKE2FS_BLOCKSCOUNT, int64_t blockscount,\n"
" GUESTFS_MKE2FS_BLOCKSIZE, int64_t blocksize,\n"
" GUESTFS_MKE2FS_FRAGSIZE, int64_t fragsize,\n"
" GUESTFS_MKE2FS_BLOCKSPERGROUP, int64_t blockspergroup,\n"
" GUESTFS_MKE2FS_NUMBEROFGROUPS, int64_t numberofgroups,\n"
" GUESTFS_MKE2FS_BYTESPERINODE, int64_t bytesperinode,\n"
" GUESTFS_MKE2FS_INODESIZE, int64_t inodesize,\n"
" GUESTFS_MKE2FS_JOURNALSIZE, int64_t journalsize,\n"
" GUESTFS_MKE2FS_NUMBEROFINODES, int64_t numberofinodes,\n"
" GUESTFS_MKE2FS_STRIDESIZE, int64_t stridesize,\n"
" GUESTFS_MKE2FS_STRIPEWIDTH, int64_t stripewidth,\n"
" GUESTFS_MKE2FS_MAXONLINERESIZE, int64_t maxonlineresize,\n"
" GUESTFS_MKE2FS_RESERVEDBLOCKSPERCENTAGE, int reservedblockspercentage,\n"
" GUESTFS_MKE2FS_MMPUPDATEINTERVAL, int mmpupdateinterval,\n"
" GUESTFS_MKE2FS_JOURNALDEVICE, const char *journaldevice,\n"
" GUESTFS_MKE2FS_LABEL, const char *label,\n"
" GUESTFS_MKE2FS_LASTMOUNTEDDIR, const char *lastmounteddir,\n"
" GUESTFS_MKE2FS_CREATOROS, const char *creatoros,\n"
" GUESTFS_MKE2FS_FSTYPE, const char *fstype,\n"
" GUESTFS_MKE2FS_USAGETYPE, const char *usagetype,\n"
" GUESTFS_MKE2FS_UUID, const char *uuid,\n"
" GUESTFS_MKE2FS_FORCECREATE, int forcecreate,\n"
" GUESTFS_MKE2FS_WRITESBANDGROUPONLY, int writesbandgrouponly,\n"
" GUESTFS_MKE2FS_LAZYITABLEINIT, int lazyitableinit,\n"
" GUESTFS_MKE2FS_LAZYJOURNALINIT, int lazyjournalinit,\n"
" GUESTFS_MKE2FS_TESTFS, int testfs,\n"
" GUESTFS_MKE2FS_DISCARD, int discard,\n"
" GUESTFS_MKE2FS_QUOTATYPE, int quotatype,\n"
" GUESTFS_MKE2FS_EXTENT, int extent,\n"
" GUESTFS_MKE2FS_FILETYPE, int filetype,\n"
" GUESTFS_MKE2FS_FLEXBG, int flexbg,\n"
" GUESTFS_MKE2FS_HASJOURNAL, int hasjournal,\n"
" GUESTFS_MKE2FS_JOURNALDEV, int journaldev,\n"
" GUESTFS_MKE2FS_LARGEFILE, int largefile,\n"
" GUESTFS_MKE2FS_QUOTA, int quota,\n"
" GUESTFS_MKE2FS_RESIZEINODE, int resizeinode,\n"
" GUESTFS_MKE2FS_SPARSESUPER, int sparsesuper,\n"
" GUESTFS_MKE2FS_UNINITBG, int uninitbg,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10038
msgid "(Added in 1.19.44)"
msgstr "(Added in 1.19.44)"

#. type: =head2
#: ../lib/guestfs-actions.pod:10040
msgid "guestfs_mke2fs_va"
msgstr "guestfs_mke2fs_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10042
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2fs_va (guestfs_h *g,\n"
"                    const char *device,\n"
"                    va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2fs_va (guestfs_h *g,\n"
"                    const char *device,\n"
"                    va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10047
msgid "This is the \"va_list variant\" of L</guestfs_mke2fs>."
msgstr "This is the \"va_list variant\" of L</guestfs_mke2fs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10051
msgid "guestfs_mke2fs_argv"
msgstr "guestfs_mke2fs_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10053
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2fs_argv (guestfs_h *g,\n"
"                      const char *device,\n"
"                      const struct guestfs_mke2fs_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2fs_argv (guestfs_h *g,\n"
"                      const char *device,\n"
"                      const struct guestfs_mke2fs_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10058
msgid "This is the \"argv variant\" of L</guestfs_mke2fs>."
msgstr "This is the \"argv variant\" of L</guestfs_mke2fs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10062
msgid "guestfs_mke2fs_J"
msgstr "guestfs_mke2fs_J"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10064
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2fs_J (guestfs_h *g,\n"
"                   const char *fstype,\n"
"                   int blocksize,\n"
"                   const char *device,\n"
"                   const char *journal);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2fs_J (guestfs_h *g,\n"
"                   const char *fstype,\n"
"                   int blocksize,\n"
"                   const char *device,\n"
"                   const char *journal);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10071 ../lib/guestfs-actions.pod:10099
#: ../lib/guestfs-actions.pod:10124 ../lib/guestfs-actions.pod:10150
#: ../lib/guestfs-actions.pod:10174 ../lib/guestfs-actions.pod:10195
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_mke2fs> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_mke2fs> call "
"instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:10084
msgid "See also C<guestfs_mke2journal>."
msgstr "See also C<guestfs_mke2journal>."

#. type: textblock
#: ../lib/guestfs-actions.pod:10088 ../lib/guestfs-actions.pod:10113
#: ../lib/guestfs-actions.pod:10141 ../lib/guestfs-actions.pod:10164
#: ../lib/guestfs-actions.pod:10185 ../lib/guestfs-actions.pod:10209
#: ../lib/guestfs-actions.pod:10361 ../lib/guestfs-actions.pod:10833
msgid "(Added in 1.0.68)"
msgstr "(Added in 1.0.68)"

#. type: =head2
#: ../lib/guestfs-actions.pod:10090
msgid "guestfs_mke2fs_JL"
msgstr "guestfs_mke2fs_JL"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10092
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2fs_JL (guestfs_h *g,\n"
"                    const char *fstype,\n"
"                    int blocksize,\n"
"                    const char *device,\n"
"                    const char *label);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2fs_JL (guestfs_h *g,\n"
"                    const char *fstype,\n"
"                    int blocksize,\n"
"                    const char *device,\n"
"                    const char *label);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10109
msgid "See also C<guestfs_mke2journal_L>."
msgstr "See also C<guestfs_mke2journal_L>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10115
msgid "guestfs_mke2fs_JU"
msgstr "guestfs_mke2fs_JU"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10117
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2fs_JU (guestfs_h *g,\n"
"                    const char *fstype,\n"
"                    int blocksize,\n"
"                    const char *device,\n"
"                    const char *uuid);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2fs_JU (guestfs_h *g,\n"
"                    const char *fstype,\n"
"                    int blocksize,\n"
"                    const char *device,\n"
"                    const char *uuid);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10134
msgid "See also C<guestfs_mke2journal_U>."
msgstr "See also C<guestfs_mke2journal_U>."

#. type: textblock
#: ../lib/guestfs-actions.pod:10138 ../lib/guestfs-actions.pod:10206
#: ../lib/guestfs-actions.pod:10737 ../lib/guestfs-actions.pod:14338
#: ../lib/guestfs-actions.pod:14402
msgid ""
"This function depends on the feature C<linuxfsuuid>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:10143
msgid "guestfs_mke2journal"
msgstr "guestfs_mke2journal"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10145
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2journal (guestfs_h *g,\n"
"                      int blocksize,\n"
"                      const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2journal (guestfs_h *g,\n"
"                      int blocksize,\n"
"                      const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:10166
msgid "guestfs_mke2journal_L"
msgstr "guestfs_mke2journal_L"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10168
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2journal_L (guestfs_h *g,\n"
"                        int blocksize,\n"
"                        const char *label,\n"
"                        const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2journal_L (guestfs_h *g,\n"
"                        int blocksize,\n"
"                        const char *label,\n"
"                        const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:10187
msgid "guestfs_mke2journal_U"
msgstr "guestfs_mke2journal_U"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10189
#, no-wrap
msgid ""
" int\n"
" guestfs_mke2journal_U (guestfs_h *g,\n"
"                        int blocksize,\n"
"                        const char *uuid,\n"
"                        const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mke2journal_U (guestfs_h *g,\n"
"                        int blocksize,\n"
"                        const char *uuid,\n"
"                        const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:10211
msgid "guestfs_mkfifo"
msgstr "guestfs_mkfifo"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10213
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfifo (guestfs_h *g,\n"
"                 int mode,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfifo (guestfs_h *g,\n"
"                 int mode,\n"
"                 const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10218
msgid ""
"This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It "
"is just a convenient wrapper around C<guestfs_mknod>."
msgstr ""
"This call creates a FIFO (named pipe) called C<path> with mode C<mode>.  It "
"is just a convenient wrapper around C<guestfs_mknod>."

#. type: textblock
#: ../lib/guestfs-actions.pod:10222 ../lib/guestfs-actions.pod:10531
#: ../lib/guestfs-actions.pod:10556
msgid ""
"Unlike with C<guestfs_mknod>, C<mode> B<must> contain only permissions bits."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:10229 ../lib/guestfs-actions.pod:10513
#: ../lib/guestfs-actions.pod:10538 ../lib/guestfs-actions.pod:10563
msgid ""
"This function depends on the feature C<mknod>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:10234
msgid "guestfs_mkfs"
msgstr "guestfs_mkfs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10236
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfs (guestfs_h *g,\n"
"               const char *fstype,\n"
"               const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfs (guestfs_h *g,\n"
"               const char *fstype,\n"
"               const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10241
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_mkfs_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_mkfs_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:10248
msgid "guestfs_mkfs_opts"
msgstr "guestfs_mkfs_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10250
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfs_opts (guestfs_h *g,\n"
"                    const char *fstype,\n"
"                    const char *device,\n"
"                    ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfs_opts (guestfs_h *g,\n"
"                    const char *fstype,\n"
"                    const char *device,\n"
"                    ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10261
#, no-wrap
msgid ""
" GUESTFS_MKFS_OPTS_BLOCKSIZE, int blocksize,\n"
" GUESTFS_MKFS_OPTS_FEATURES, const char *features,\n"
" GUESTFS_MKFS_OPTS_INODE, int inode,\n"
" GUESTFS_MKFS_OPTS_SECTORSIZE, int sectorsize,\n"
" GUESTFS_MKFS_OPTS_LABEL, const char *label,\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:10312
msgid "guestfs_mkfs_opts_va"
msgstr "guestfs_mkfs_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10314
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfs_opts_va (guestfs_h *g,\n"
"                       const char *fstype,\n"
"                       const char *device,\n"
"                       va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfs_opts_va (guestfs_h *g,\n"
"                       const char *fstype,\n"
"                       const char *device,\n"
"                       va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10320
msgid "This is the \"va_list variant\" of L</guestfs_mkfs_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_mkfs_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10324
msgid "guestfs_mkfs_opts_argv"
msgstr "guestfs_mkfs_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10326
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfs_opts_argv (guestfs_h *g,\n"
"                         const char *fstype,\n"
"                         const char *device,\n"
"                         const struct guestfs_mkfs_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfs_opts_argv (guestfs_h *g,\n"
"                         const char *fstype,\n"
"                         const char *device,\n"
"                         const struct guestfs_mkfs_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10332
msgid "This is the \"argv variant\" of L</guestfs_mkfs_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_mkfs_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10336
msgid "guestfs_mkfs_b"
msgstr "guestfs_mkfs_b"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10338
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfs_b (guestfs_h *g,\n"
"                 const char *fstype,\n"
"                 int blocksize,\n"
"                 const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfs_b (guestfs_h *g,\n"
"                 const char *fstype,\n"
"                 int blocksize,\n"
"                 const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10344
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_mkfs> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_mkfs> call "
"instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:10351
msgid ""
"This call is similar to C<guestfs_mkfs>, but it allows you to control the "
"block size of the resulting filesystem.  Supported block sizes depend on the "
"filesystem type, but typically they are C<1024>, C<2048> or C<4096> only."
msgstr ""
"This call is similar to C<guestfs_mkfs>, but it allows you to control the "
"block size of the resulting filesystem.  Supported block sizes depend on the "
"filesystem type, but typically they are C<1024>, C<2048> or C<4096> only."

#. type: =head2
#: ../lib/guestfs-actions.pod:10363
msgid "guestfs_mkfs_btrfs"
msgstr "guestfs_mkfs_btrfs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10365
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfs_btrfs (guestfs_h *g,\n"
"                     char *const *devices,\n"
"                     ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfs_btrfs (guestfs_h *g,\n"
"                     char *const *devices,\n"
"                     ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10375
#, no-wrap
msgid ""
" GUESTFS_MKFS_BTRFS_ALLOCSTART, int64_t allocstart,\n"
" GUESTFS_MKFS_BTRFS_BYTECOUNT, int64_t bytecount,\n"
" GUESTFS_MKFS_BTRFS_DATATYPE, const char *datatype,\n"
" GUESTFS_MKFS_BTRFS_LEAFSIZE, int leafsize,\n"
" GUESTFS_MKFS_BTRFS_LABEL, const char *label,\n"
" GUESTFS_MKFS_BTRFS_METADATA, const char *metadata,\n"
" GUESTFS_MKFS_BTRFS_NODESIZE, int nodesize,\n"
" GUESTFS_MKFS_BTRFS_SECTORSIZE, int sectorsize,\n"
"\n"
msgstr ""
" GUESTFS_MKFS_BTRFS_ALLOCSTART, int64_t allocstart,\n"
" GUESTFS_MKFS_BTRFS_BYTECOUNT, int64_t bytecount,\n"
" GUESTFS_MKFS_BTRFS_DATATYPE, const char *datatype,\n"
" GUESTFS_MKFS_BTRFS_LEAFSIZE, int leafsize,\n"
" GUESTFS_MKFS_BTRFS_LABEL, const char *label,\n"
" GUESTFS_MKFS_BTRFS_METADATA, const char *metadata,\n"
" GUESTFS_MKFS_BTRFS_NODESIZE, int nodesize,\n"
" GUESTFS_MKFS_BTRFS_SECTORSIZE, int sectorsize,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10390
msgid "To create general filesystems, use C<guestfs_mkfs>."
msgstr "To create general filesystems, use C<guestfs_mkfs>."

#. type: textblock
#: ../lib/guestfs-actions.pod:10397
msgid "(Added in 1.17.25)"
msgstr "(Added in 1.17.25)"

#. type: =head2
#: ../lib/guestfs-actions.pod:10399
msgid "guestfs_mkfs_btrfs_va"
msgstr "guestfs_mkfs_btrfs_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10401
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfs_btrfs_va (guestfs_h *g,\n"
"                        char *const *devices,\n"
"                        va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfs_btrfs_va (guestfs_h *g,\n"
"                        char *const *devices,\n"
"                        va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10406
msgid "This is the \"va_list variant\" of L</guestfs_mkfs_btrfs>."
msgstr "This is the \"va_list variant\" of L</guestfs_mkfs_btrfs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10410
msgid "guestfs_mkfs_btrfs_argv"
msgstr "guestfs_mkfs_btrfs_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10412
#, no-wrap
msgid ""
" int\n"
" guestfs_mkfs_btrfs_argv (guestfs_h *g,\n"
"                          char *const *devices,\n"
"                          const struct guestfs_mkfs_btrfs_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkfs_btrfs_argv (guestfs_h *g,\n"
"                          char *const *devices,\n"
"                          const struct guestfs_mkfs_btrfs_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10417
msgid "This is the \"argv variant\" of L</guestfs_mkfs_btrfs>."
msgstr "This is the \"argv variant\" of L</guestfs_mkfs_btrfs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10421
msgid "guestfs_mklost_and_found"
msgstr "guestfs_mklost_and_found"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10423
#, no-wrap
msgid ""
" int\n"
" guestfs_mklost_and_found (guestfs_h *g,\n"
"                           const char *mountpoint);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mklost_and_found (guestfs_h *g,\n"
"                           const char *mountpoint);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:10435
msgid "guestfs_mkmountpoint"
msgstr "guestfs_mkmountpoint"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10437
#, no-wrap
msgid ""
" int\n"
" guestfs_mkmountpoint (guestfs_h *g,\n"
"                       const char *exemptpath);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkmountpoint (guestfs_h *g,\n"
"                       const char *exemptpath);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10441
msgid ""
"C<guestfs_mkmountpoint> and C<guestfs_rmmountpoint> are specialized calls "
"that can be used to create extra mountpoints before mounting the first "
"filesystem."
msgstr ""
"C<guestfs_mkmountpoint> and C<guestfs_rmmountpoint> are specialised calls "
"that can be used to create extra mountpoints before mounting the first "
"filesystem."

#. type: textblock
#: ../lib/guestfs-actions.pod:10465
msgid ""
"C<guestfs_mkmountpoint> is not compatible with C<guestfs_umount_all>.  You "
"may get unexpected errors if you try to mix these calls.  It is safest to "
"manually unmount filesystems and remove mountpoints after use."
msgstr ""
"C<guestfs_mkmountpoint> is not compatible with C<guestfs_umount_all>.  You "
"may get unexpected errors if you try to mix these calls.  It is safest to "
"manually unmount filesystems and remove mountpoints after use."

#. type: textblock
#: ../lib/guestfs-actions.pod:10469
msgid ""
"C<guestfs_umount_all> unmounts filesystems by sorting the paths longest "
"first, so for this to work for manual mountpoints, you must ensure that the "
"innermost mountpoints have the longest pathnames, as in the example code "
"above."
msgstr ""
"C<guestfs_umount_all> unmounts filesystems by sorting the paths longest "
"first, so for this to work for manual mountpoints, you must ensure that the "
"innermost mountpoints have the longest pathnames, as in the example code "
"above."

#. type: textblock
#: ../lib/guestfs-actions.pod:10476
msgid ""
"Autosync [see C<guestfs_set_autosync>, this is set by default on handles] "
"can cause C<guestfs_umount_all> to be called when the handle is closed which "
"can also trigger these issues."
msgstr ""
"Autosync [see C<guestfs_set_autosync>, this is set by default on handles] "
"can cause C<guestfs_umount_all> to be called when the handle is closed which "
"can also trigger these issues."

#. type: textblock
#: ../lib/guestfs-actions.pod:10482 ../lib/guestfs-actions.pod:11130
#: ../lib/guestfs-actions.pod:12762
msgid "(Added in 1.0.62)"
msgstr "(Added in 1.0.62)"

#. type: =head2
#: ../lib/guestfs-actions.pod:10484
msgid "guestfs_mknod"
msgstr "guestfs_mknod"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10486
#, no-wrap
msgid ""
" int\n"
" guestfs_mknod (guestfs_h *g,\n"
"                int mode,\n"
"                int devmajor,\n"
"                int devminor,\n"
"                const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mknod (guestfs_h *g,\n"
"                int mode,\n"
"                int devmajor,\n"
"                int devminor,\n"
"                const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10501
msgid ""
"Note that, just like L<mknod(2)>, the mode must be bitwise OR'd with "
"S_IFBLK, S_IFCHR, S_IFIFO or S_IFSOCK (otherwise this call just creates a "
"regular file).  These constants are available in the standard Linux header "
"files, or you can use C<guestfs_mknod_b>, C<guestfs_mknod_c> or "
"C<guestfs_mkfifo> which are wrappers around this command which bitwise OR in "
"the appropriate constant for you."
msgstr ""
"Note that, just like L<mknod(2)>, the mode must be bitwise OR'd with "
"S_IFBLK, S_IFCHR, S_IFIFO or S_IFSOCK (otherwise this call just creates a "
"regular file).  These constants are available in the standard Linux header "
"files, or you can use C<guestfs_mknod_b>, C<guestfs_mknod_c> or "
"C<guestfs_mkfifo> which are wrappers around this command which bitwise OR in "
"the appropriate constant for you."

#. type: =head2
#: ../lib/guestfs-actions.pod:10518
msgid "guestfs_mknod_b"
msgstr "guestfs_mknod_b"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10520
#, no-wrap
msgid ""
" int\n"
" guestfs_mknod_b (guestfs_h *g,\n"
"                  int mode,\n"
"                  int devmajor,\n"
"                  int devminor,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mknod_b (guestfs_h *g,\n"
"                  int mode,\n"
"                  int devmajor,\n"
"                  int devminor,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10527
msgid ""
"This call creates a block device node called C<path> with mode C<mode> and "
"device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
"wrapper around C<guestfs_mknod>."
msgstr ""
"This call creates a block device node called C<path> with mode C<mode> and "
"device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
"wrapper around C<guestfs_mknod>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10543
msgid "guestfs_mknod_c"
msgstr "guestfs_mknod_c"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10545
#, no-wrap
msgid ""
" int\n"
" guestfs_mknod_c (guestfs_h *g,\n"
"                  int mode,\n"
"                  int devmajor,\n"
"                  int devminor,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mknod_c (guestfs_h *g,\n"
"                  int mode,\n"
"                  int devmajor,\n"
"                  int devminor,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10552
msgid ""
"This call creates a char device node called C<path> with mode C<mode> and "
"device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
"wrapper around C<guestfs_mknod>."
msgstr ""
"This call creates a char device node called C<path> with mode C<mode> and "
"device major/minor C<devmajor> and C<devminor>.  It is just a convenient "
"wrapper around C<guestfs_mknod>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10568
msgid "guestfs_mksquashfs"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:10570
#, no-wrap
msgid ""
" int\n"
" guestfs_mksquashfs (guestfs_h *g,\n"
"                     const char *path,\n"
"                     const char *filename,\n"
"                     ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:10581
#, no-wrap
msgid ""
" GUESTFS_MKSQUASHFS_COMPRESS, const char *compress,\n"
" GUESTFS_MKSQUASHFS_EXCLUDES, char *const *excludes,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:10607
msgid ""
"This function depends on the feature C<squashfs>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:10610
msgid "(Added in 1.35.25)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:10612
msgid "guestfs_mksquashfs_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:10614
#, no-wrap
msgid ""
" int\n"
" guestfs_mksquashfs_va (guestfs_h *g,\n"
"                        const char *path,\n"
"                        const char *filename,\n"
"                        va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:10620
msgid "This is the \"va_list variant\" of L</guestfs_mksquashfs>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:10624
msgid "guestfs_mksquashfs_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:10626
#, no-wrap
msgid ""
" int\n"
" guestfs_mksquashfs_argv (guestfs_h *g,\n"
"                          const char *path,\n"
"                          const char *filename,\n"
"                          const struct guestfs_mksquashfs_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:10632
msgid "This is the \"argv variant\" of L</guestfs_mksquashfs>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:10636
msgid "guestfs_mkswap"
msgstr "guestfs_mkswap"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10638
#, no-wrap
msgid ""
" int\n"
" guestfs_mkswap (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkswap (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10642
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_mkswap_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_mkswap_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:10649
msgid "guestfs_mkswap_opts"
msgstr "guestfs_mkswap_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10651
#, no-wrap
msgid ""
" int\n"
" guestfs_mkswap_opts (guestfs_h *g,\n"
"                      const char *device,\n"
"                      ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkswap_opts (guestfs_h *g,\n"
"                      const char *device,\n"
"                      ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10661
#, no-wrap
msgid ""
" GUESTFS_MKSWAP_OPTS_LABEL, const char *label,\n"
" GUESTFS_MKSWAP_OPTS_UUID, const char *uuid,\n"
"\n"
msgstr ""
" GUESTFS_MKSWAP_OPTS_LABEL, const char *label,\n"
" GUESTFS_MKSWAP_OPTS_UUID, const char *uuid,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:10673
msgid "guestfs_mkswap_opts_va"
msgstr "guestfs_mkswap_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10675
#, no-wrap
msgid ""
" int\n"
" guestfs_mkswap_opts_va (guestfs_h *g,\n"
"                         const char *device,\n"
"                         va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkswap_opts_va (guestfs_h *g,\n"
"                         const char *device,\n"
"                         va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10680
msgid "This is the \"va_list variant\" of L</guestfs_mkswap_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_mkswap_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10684
msgid "guestfs_mkswap_opts_argv"
msgstr "guestfs_mkswap_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10686
#, no-wrap
msgid ""
" int\n"
" guestfs_mkswap_opts_argv (guestfs_h *g,\n"
"                           const char *device,\n"
"                           const struct guestfs_mkswap_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkswap_opts_argv (guestfs_h *g,\n"
"                           const char *device,\n"
"                           const struct guestfs_mkswap_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10691
msgid "This is the \"argv variant\" of L</guestfs_mkswap_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_mkswap_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10695
msgid "guestfs_mkswap_L"
msgstr "guestfs_mkswap_L"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10697
#, no-wrap
msgid ""
" int\n"
" guestfs_mkswap_L (guestfs_h *g,\n"
"                   const char *label,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkswap_L (guestfs_h *g,\n"
"                   const char *label,\n"
"                   const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10702 ../lib/guestfs-actions.pod:10726
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_mkswap> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_mkswap> call "
"instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:10719
msgid "guestfs_mkswap_U"
msgstr "guestfs_mkswap_U"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10721
#, no-wrap
msgid ""
" int\n"
" guestfs_mkswap_U (guestfs_h *g,\n"
"                   const char *uuid,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkswap_U (guestfs_h *g,\n"
"                   const char *uuid,\n"
"                   const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:10742
msgid "guestfs_mkswap_file"
msgstr "guestfs_mkswap_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10744
#, no-wrap
msgid ""
" int\n"
" guestfs_mkswap_file (guestfs_h *g,\n"
"                      const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mkswap_file (guestfs_h *g,\n"
"                      const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10750
msgid ""
"This command just writes a swap file signature to an existing file.  To "
"create the file itself, use something like C<guestfs_fallocate>."
msgstr ""
"This command just writes a swap file signature to an existing file.  To "
"create the file itself, use something like C<guestfs_fallocate>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10757
msgid "guestfs_mktemp"
msgstr "guestfs_mktemp"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10759
#, no-wrap
msgid ""
" char *\n"
" guestfs_mktemp (guestfs_h *g,\n"
"                 const char *tmpl,\n"
"                 ...);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_mktemp (guestfs_h *g,\n"
"                 const char *tmpl,\n"
"                 ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10769
#, no-wrap
msgid ""
" GUESTFS_MKTEMP_SUFFIX, const char *suffix,\n"
"\n"
msgstr ""
" GUESTFS_MKTEMP_SUFFIX, const char *suffix,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10791
msgid "See also: C<guestfs_mkdtemp>."
msgstr "See also: C<guestfs_mkdtemp>."

#. type: textblock
#: ../lib/guestfs-actions.pod:10796 ../lib/guestfs-actions.pod:11498
#: ../lib/guestfs-actions.pod:11517
msgid "(Added in 1.19.53)"
msgstr "(Added in 1.19.53)"

#. type: =head2
#: ../lib/guestfs-actions.pod:10798
msgid "guestfs_mktemp_va"
msgstr "guestfs_mktemp_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10800
#, no-wrap
msgid ""
" char *\n"
" guestfs_mktemp_va (guestfs_h *g,\n"
"                    const char *tmpl,\n"
"                    va_list args);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_mktemp_va (guestfs_h *g,\n"
"                    const char *tmpl,\n"
"                    va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10805
msgid "This is the \"va_list variant\" of L</guestfs_mktemp>."
msgstr "This is the \"va_list variant\" of L</guestfs_mktemp>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10809
msgid "guestfs_mktemp_argv"
msgstr "guestfs_mktemp_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10811
#, no-wrap
msgid ""
" char *\n"
" guestfs_mktemp_argv (guestfs_h *g,\n"
"                      const char *tmpl,\n"
"                      const struct guestfs_mktemp_argv *optargs);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_mktemp_argv (guestfs_h *g,\n"
"                      const char *tmpl,\n"
"                      const struct guestfs_mktemp_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10816
msgid "This is the \"argv variant\" of L</guestfs_mktemp>."
msgstr "This is the \"argv variant\" of L</guestfs_mktemp>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10820
msgid "guestfs_modprobe"
msgstr "guestfs_modprobe"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10822
#, no-wrap
msgid ""
" int\n"
" guestfs_modprobe (guestfs_h *g,\n"
"                   const char *modulename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_modprobe (guestfs_h *g,\n"
"                   const char *modulename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10830
msgid ""
"This function depends on the feature C<linuxmodules>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:10835
msgid "guestfs_mount"
msgstr "guestfs_mount"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10837
#, no-wrap
msgid ""
" int\n"
" guestfs_mount (guestfs_h *g,\n"
"                const char *mountable,\n"
"                const char *mountpoint);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount (guestfs_h *g,\n"
"                const char *mountable,\n"
"                const char *mountpoint);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10842
msgid ""
"Mount a guest disk at a position in the filesystem.  Block devices are named "
"F</dev/sda>, F</dev/sdb> and so on, as they were added to the guest.  If "
"those block devices contain partitions, they will have the usual names (eg. "
"F</dev/sda1>).  Also LVM F</dev/VG/LV>-style names can be used, or "
"‘mountable’ strings returned by C<guestfs_list_filesystems> or "
"C<guestfs_inspect_get_mountpoints>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:10857
msgid ""
"Before libguestfs 1.13.16, this call implicitly added the options C<sync> "
"and C<noatime>.  The C<sync> option greatly slowed writes and caused many "
"problems for users.  If your program might need to work with older versions "
"of libguestfs, use C<guestfs_mount_options> instead (using an empty string "
"for the first parameter if you don't want any options)."
msgstr ""
"Before libguestfs 1.13.16, this call implicitly added the options C<sync> "
"and C<noatime>.  The C<sync> option greatly slowed writes and caused many "
"problems for users.  If your program might need to work with older versions "
"of libguestfs, use C<guestfs_mount_options> instead (using an empty string "
"for the first parameter if you don't want any options)."

#. type: =head2
#: ../lib/guestfs-actions.pod:10868
msgid "guestfs_mount_9p"
msgstr "guestfs_mount_9p"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10870
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_9p (guestfs_h *g,\n"
"                   const char *mounttag,\n"
"                   const char *mountpoint,\n"
"                   ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_9p (guestfs_h *g,\n"
"                   const char *mounttag,\n"
"                   const char *mountpoint,\n"
"                   ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10881
#, no-wrap
msgid ""
" GUESTFS_MOUNT_9P_OPTIONS, const char *options,\n"
"\n"
msgstr ""
" GUESTFS_MOUNT_9P_OPTIONS, const char *options,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:10894
msgid "guestfs_mount_9p_va"
msgstr "guestfs_mount_9p_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10896
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_9p_va (guestfs_h *g,\n"
"                      const char *mounttag,\n"
"                      const char *mountpoint,\n"
"                      va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_9p_va (guestfs_h *g,\n"
"                      const char *mounttag,\n"
"                      const char *mountpoint,\n"
"                      va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10902
msgid "This is the \"va_list variant\" of L</guestfs_mount_9p>."
msgstr "This is the \"va_list variant\" of L</guestfs_mount_9p>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10906
msgid "guestfs_mount_9p_argv"
msgstr "guestfs_mount_9p_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10908
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_9p_argv (guestfs_h *g,\n"
"                        const char *mounttag,\n"
"                        const char *mountpoint,\n"
"                        const struct guestfs_mount_9p_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_9p_argv (guestfs_h *g,\n"
"                        const char *mounttag,\n"
"                        const char *mountpoint,\n"
"                        const struct guestfs_mount_9p_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10914
msgid "This is the \"argv variant\" of L</guestfs_mount_9p>."
msgstr "This is the \"argv variant\" of L</guestfs_mount_9p>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10918
msgid "guestfs_mount_local"
msgstr "guestfs_mount_local"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10920
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_local (guestfs_h *g,\n"
"                      const char *localmountpoint,\n"
"                      ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_local (guestfs_h *g,\n"
"                      const char *localmountpoint,\n"
"                      ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10930
#, no-wrap
msgid ""
" GUESTFS_MOUNT_LOCAL_READONLY, int readonly,\n"
" GUESTFS_MOUNT_LOCAL_OPTIONS, const char *options,\n"
" GUESTFS_MOUNT_LOCAL_CACHETIMEOUT, int cachetimeout,\n"
" GUESTFS_MOUNT_LOCAL_DEBUGCALLS, int debugcalls,\n"
"\n"
msgstr ""
" GUESTFS_MOUNT_LOCAL_READONLY, int readonly,\n"
" GUESTFS_MOUNT_LOCAL_OPTIONS, const char *options,\n"
" GUESTFS_MOUNT_LOCAL_CACHETIMEOUT, int cachetimeout,\n"
" GUESTFS_MOUNT_LOCAL_DEBUGCALLS, int debugcalls,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10953
msgid ""
"When C<guestfs_mount_local> returns, the filesystem is ready, but is not "
"processing requests (access to it will block).  You have to call "
"C<guestfs_mount_local_run> to run the main loop."
msgstr ""
"When C<guestfs_mount_local> returns, the filesystem is ready, but is not "
"processing requests (access to it will block).  You have to call "
"C<guestfs_mount_local_run> to run the main loop."

#. type: textblock
#: ../lib/guestfs-actions.pod:10961 ../lib/guestfs-actions.pod:11009
#: ../lib/guestfs-actions.pod:15126
msgid "(Added in 1.17.22)"
msgstr "(Added in 1.17.22)"

#. type: =head2
#: ../lib/guestfs-actions.pod:10963
msgid "guestfs_mount_local_va"
msgstr "guestfs_mount_local_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10965
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_local_va (guestfs_h *g,\n"
"                         const char *localmountpoint,\n"
"                         va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_local_va (guestfs_h *g,\n"
"                         const char *localmountpoint,\n"
"                         va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10970
msgid "This is the \"va_list variant\" of L</guestfs_mount_local>."
msgstr "This is the \"va_list variant\" of L</guestfs_mount_local>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10974
msgid "guestfs_mount_local_argv"
msgstr "guestfs_mount_local_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10976
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_local_argv (guestfs_h *g,\n"
"                           const char *localmountpoint,\n"
"                           const struct guestfs_mount_local_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_local_argv (guestfs_h *g,\n"
"                           const char *localmountpoint,\n"
"                           const struct guestfs_mount_local_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10981
msgid "This is the \"argv variant\" of L</guestfs_mount_local>."
msgstr "This is the \"argv variant\" of L</guestfs_mount_local>."

#. type: =head2
#: ../lib/guestfs-actions.pod:10985
msgid "guestfs_mount_local_run"
msgstr "guestfs_mount_local_run"

#. type: verbatim
#: ../lib/guestfs-actions.pod:10987
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_local_run (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_local_run (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:10993
msgid ""
"This should only be called after C<guestfs_mount_local> returns "
"successfully.  The call will not return until the filesystem is unmounted."
msgstr ""
"This should only be called after C<guestfs_mount_local> returns "
"successfully.  The call will not return until the filesystem is unmounted."

#. type: textblock
#: ../lib/guestfs-actions.pod:11000
msgid ""
"You may call this from a different thread than the one which called "
"C<guestfs_mount_local>, subject to the usual rules for threads and "
"libguestfs (see L<guestfs(3)/MULTIPLE HANDLES AND MULTIPLE THREADS>)."
msgstr ""
"You may call this from a different thread than the one which called "
"C<guestfs_mount_local>, subject to the usual rules for threads and "
"libguestfs (see L<guestfs(3)/MULTIPLE HANDLES AND MULTIPLE THREADS>)."

#. type: =head2
#: ../lib/guestfs-actions.pod:11011
msgid "guestfs_mount_loop"
msgstr "guestfs_mount_loop"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11013
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_loop (guestfs_h *g,\n"
"                     const char *file,\n"
"                     const char *mountpoint);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_loop (guestfs_h *g,\n"
"                     const char *file,\n"
"                     const char *mountpoint);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:11026
msgid "guestfs_mount_options"
msgstr "guestfs_mount_options"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11028
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_options (guestfs_h *g,\n"
"                        const char *options,\n"
"                        const char *mountable,\n"
"                        const char *mountpoint);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_options (guestfs_h *g,\n"
"                        const char *options,\n"
"                        const char *mountable,\n"
"                        const char *mountpoint);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11034
msgid ""
"This is the same as the C<guestfs_mount> command, but it allows you to set "
"the mount options as for the L<mount(8)> I<-o> flag."
msgstr ""
"This is the same as the C<guestfs_mount> command, but it allows you to set "
"the mount options as for the L<mount(8)> I<-o> flag."

#. type: textblock
#: ../lib/guestfs-actions.pod:11044 ../lib/guestfs-actions.pod:11058
#: ../lib/guestfs-actions.pod:11075
msgid "(Added in 1.0.10)"
msgstr "(Added in 1.0.10)"

#. type: =head2
#: ../lib/guestfs-actions.pod:11046
msgid "guestfs_mount_ro"
msgstr "guestfs_mount_ro"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11048
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_ro (guestfs_h *g,\n"
"                   const char *mountable,\n"
"                   const char *mountpoint);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_ro (guestfs_h *g,\n"
"                   const char *mountable,\n"
"                   const char *mountpoint);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11053
msgid ""
"This is the same as the C<guestfs_mount> command, but it mounts the "
"filesystem with the read-only (I<-o ro>) flag."
msgstr ""
"This is the same as the C<guestfs_mount> command, but it mounts the "
"filesystem with the read-only (I<-o ro>) flag."

#. type: =head2
#: ../lib/guestfs-actions.pod:11060
msgid "guestfs_mount_vfs"
msgstr "guestfs_mount_vfs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11062
#, no-wrap
msgid ""
" int\n"
" guestfs_mount_vfs (guestfs_h *g,\n"
"                    const char *options,\n"
"                    const char *vfstype,\n"
"                    const char *mountable,\n"
"                    const char *mountpoint);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mount_vfs (guestfs_h *g,\n"
"                    const char *options,\n"
"                    const char *vfstype,\n"
"                    const char *mountable,\n"
"                    const char *mountpoint);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11069
msgid ""
"This is the same as the C<guestfs_mount> command, but it allows you to set "
"both the mount options and the vfstype as for the L<mount(8)> I<-o> and I<-"
"t> flags."
msgstr ""
"This is the same as the C<guestfs_mount> command, but it allows you to set "
"both the mount options and the vfstype as for the L<mount(8)> I<-o> and I<-"
"t> flags."

#. type: =head2
#: ../lib/guestfs-actions.pod:11077
msgid "guestfs_mountable_device"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11079
#, no-wrap
msgid ""
" char *\n"
" guestfs_mountable_device (guestfs_h *g,\n"
"                           const char *mountable);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11086
msgid ""
"However this doesn't apply for btrfs subvolumes, where the mountable is a "
"combination of both the device name and the subvolume path (see also "
"C<guestfs_mountable_subvolume> to extract the subvolume path of the "
"mountable if any)."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11094 ../lib/guestfs-actions.pod:11113
msgid "(Added in 1.33.15)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11096
msgid "guestfs_mountable_subvolume"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11098
#, no-wrap
msgid ""
" char *\n"
" guestfs_mountable_subvolume (guestfs_h *g,\n"
"                              const char *mountable);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11102
msgid ""
"Returns the subvolume path of a mountable. Btrfs subvolumes mountables are a "
"combination of both the device name and the subvolume path (see also "
"C<guestfs_mountable_device> to extract the device of the mountable)."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11115
msgid "guestfs_mountpoints"
msgstr "guestfs_mountpoints"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11117
#, no-wrap
msgid ""
" char **\n"
" guestfs_mountpoints (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_mountpoints (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11120
msgid ""
"This call is similar to C<guestfs_mounts>.  That call returns a list of "
"devices.  This one returns a hash table (map) of device name to directory "
"where the device is mounted."
msgstr ""
"This call is similar to C<guestfs_mounts>.  That call returns a list of "
"devices.  This one returns a hash table (map) of device name to directory "
"where the device is mounted."

#. type: =head2
#: ../lib/guestfs-actions.pod:11132
msgid "guestfs_mounts"
msgstr "guestfs_mounts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11134
#, no-wrap
msgid ""
" char **\n"
" guestfs_mounts (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_mounts (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11142
msgid "See also: C<guestfs_mountpoints>"
msgstr "See also: C<guestfs_mountpoints>"

#. type: =head2
#: ../lib/guestfs-actions.pod:11150
msgid "guestfs_mv"
msgstr "guestfs_mv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11152
#, no-wrap
msgid ""
" int\n"
" guestfs_mv (guestfs_h *g,\n"
"             const char *src,\n"
"             const char *dest);\n"
"\n"
msgstr ""
" int\n"
" guestfs_mv (guestfs_h *g,\n"
"             const char *src,\n"
"             const char *dest);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11160
msgid "See also: C<guestfs_rename>."
msgstr "See also: C<guestfs_rename>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11166
msgid "guestfs_nr_devices"
msgstr "guestfs_nr_devices"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11168
#, no-wrap
msgid ""
" int\n"
" guestfs_nr_devices (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_nr_devices (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11171
msgid ""
"This returns the number of whole block devices that were added.  This is the "
"same as the number of devices that would be returned if you called "
"C<guestfs_list_devices>."
msgstr ""
"This returns the number of whole block devices that were added.  This is the "
"same as the number of devices that would be returned if you called "
"C<guestfs_list_devices>."

#. type: textblock
#: ../lib/guestfs-actions.pod:11175
msgid ""
"To find out the maximum number of devices that could be added, call "
"C<guestfs_max_disks>."
msgstr ""
"To find out the maximum number of devices that could be added, call "
"C<guestfs_max_disks>."

#. type: textblock
#: ../lib/guestfs-actions.pod:11180
msgid "(Added in 1.19.15)"
msgstr "(Added in 1.19.15)"

#. type: =head2
#: ../lib/guestfs-actions.pod:11182
msgid "guestfs_ntfs_3g_probe"
msgstr "guestfs_ntfs_3g_probe"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11184
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfs_3g_probe (guestfs_h *g,\n"
"                        int rw,\n"
"                        const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfs_3g_probe (guestfs_h *g,\n"
"                        int rw,\n"
"                        const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11203 ../lib/guestfs-actions.pod:11247
#: ../lib/guestfs-actions.pod:11288 ../lib/guestfs-actions.pod:11343
msgid ""
"This function depends on the feature C<ntfs3g>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11206
msgid "(Added in 1.0.43)"
msgstr "(Added in 1.0.43)"

#. type: =head2
#: ../lib/guestfs-actions.pod:11208
msgid "guestfs_ntfscat_i"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11210
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfscat_i (guestfs_h *g,\n"
"                    const char *device,\n"
"                    int64_t inode,\n"
"                    const char *filename);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11234
msgid "guestfs_ntfsclone_in"
msgstr "guestfs_ntfsclone_in"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11236
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsclone_in (guestfs_h *g,\n"
"                       const char *backupfile,\n"
"                       const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsclone_in (guestfs_h *g,\n"
"                       const char *backupfile,\n"
"                       const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11241
msgid ""
"Restore the C<backupfile> (from a previous call to C<guestfs_ntfsclone_out>) "
"to C<device>, overwriting any existing contents of this device."
msgstr ""
"Restore the C<backupfile> (from a previous call to C<guestfs_ntfsclone_out>) "
"to C<device>, overwriting any existing contents of this device."

#. type: textblock
#: ../lib/guestfs-actions.pod:11250 ../lib/guestfs-actions.pod:11291
#: ../lib/guestfs-actions.pod:11346 ../lib/guestfs-actions.pod:13508
msgid "(Added in 1.17.9)"
msgstr "(Added in 1.17.9)"

#. type: =head2
#: ../lib/guestfs-actions.pod:11252
msgid "guestfs_ntfsclone_out"
msgstr "guestfs_ntfsclone_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11254
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsclone_out (guestfs_h *g,\n"
"                        const char *device,\n"
"                        const char *backupfile,\n"
"                        ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsclone_out (guestfs_h *g,\n"
"                        const char *device,\n"
"                        const char *backupfile,\n"
"                        ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11265
#, no-wrap
msgid ""
" GUESTFS_NTFSCLONE_OUT_METADATAONLY, int metadataonly,\n"
" GUESTFS_NTFSCLONE_OUT_RESCUE, int rescue,\n"
" GUESTFS_NTFSCLONE_OUT_IGNOREFSCHECK, int ignorefscheck,\n"
" GUESTFS_NTFSCLONE_OUT_PRESERVETIMESTAMPS, int preservetimestamps,\n"
" GUESTFS_NTFSCLONE_OUT_FORCE, int force,\n"
"\n"
msgstr ""
" GUESTFS_NTFSCLONE_OUT_METADATAONLY, int metadataonly,\n"
" GUESTFS_NTFSCLONE_OUT_RESCUE, int rescue,\n"
" GUESTFS_NTFSCLONE_OUT_IGNOREFSCHECK, int ignorefscheck,\n"
" GUESTFS_NTFSCLONE_OUT_PRESERVETIMESTAMPS, int preservetimestamps,\n"
" GUESTFS_NTFSCLONE_OUT_FORCE, int force,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11283
msgid ""
"Use C<guestfs_ntfsclone_in> to restore the file back to a libguestfs device."
msgstr ""
"Use C<guestfs_ntfsclone_in> to restore the file back to a libguestfs device."

#. type: =head2
#: ../lib/guestfs-actions.pod:11293
msgid "guestfs_ntfsclone_out_va"
msgstr "guestfs_ntfsclone_out_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11295
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsclone_out_va (guestfs_h *g,\n"
"                           const char *device,\n"
"                           const char *backupfile,\n"
"                           va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsclone_out_va (guestfs_h *g,\n"
"                           const char *device,\n"
"                           const char *backupfile,\n"
"                           va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11301
msgid "This is the \"va_list variant\" of L</guestfs_ntfsclone_out>."
msgstr "This is the \"va_list variant\" of L</guestfs_ntfsclone_out>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11305
msgid "guestfs_ntfsclone_out_argv"
msgstr "guestfs_ntfsclone_out_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11307
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsclone_out_argv (guestfs_h *g,\n"
"                             const char *device,\n"
"                             const char *backupfile,\n"
"                             const struct guestfs_ntfsclone_out_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsclone_out_argv (guestfs_h *g,\n"
"                             const char *device,\n"
"                             const char *backupfile,\n"
"                             const struct guestfs_ntfsclone_out_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11313
msgid "This is the \"argv variant\" of L</guestfs_ntfsclone_out>."
msgstr "This is the \"argv variant\" of L</guestfs_ntfsclone_out>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11317
msgid "guestfs_ntfsfix"
msgstr "guestfs_ntfsfix"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11319
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsfix (guestfs_h *g,\n"
"                  const char *device,\n"
"                  ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsfix (guestfs_h *g,\n"
"                  const char *device,\n"
"                  ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11329
#, no-wrap
msgid ""
" GUESTFS_NTFSFIX_CLEARBADSECTORS, int clearbadsectors,\n"
"\n"
msgstr ""
" GUESTFS_NTFSFIX_CLEARBADSECTORS, int clearbadsectors,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:11348
msgid "guestfs_ntfsfix_va"
msgstr "guestfs_ntfsfix_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11350
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsfix_va (guestfs_h *g,\n"
"                     const char *device,\n"
"                     va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsfix_va (guestfs_h *g,\n"
"                     const char *device,\n"
"                     va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11355
msgid "This is the \"va_list variant\" of L</guestfs_ntfsfix>."
msgstr "This is the \"va_list variant\" of L</guestfs_ntfsfix>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11359
msgid "guestfs_ntfsfix_argv"
msgstr "guestfs_ntfsfix_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11361
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsfix_argv (guestfs_h *g,\n"
"                       const char *device,\n"
"                       const struct guestfs_ntfsfix_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsfix_argv (guestfs_h *g,\n"
"                       const char *device,\n"
"                       const struct guestfs_ntfsfix_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11366
msgid "This is the \"argv variant\" of L</guestfs_ntfsfix>."
msgstr "This is the \"argv variant\" of L</guestfs_ntfsfix>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11370
msgid "guestfs_ntfsresize"
msgstr "guestfs_ntfsresize"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11372
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsresize (guestfs_h *g,\n"
"                     const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsresize (guestfs_h *g,\n"
"                     const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11376
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_ntfsresize_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_ntfsresize_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:11383
msgid "guestfs_ntfsresize_opts"
msgstr "guestfs_ntfsresize_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11385
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsresize_opts (guestfs_h *g,\n"
"                          const char *device,\n"
"                          ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsresize_opts (guestfs_h *g,\n"
"                          const char *device,\n"
"                          ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11395
#, no-wrap
msgid ""
" GUESTFS_NTFSRESIZE_OPTS_SIZE, int64_t size,\n"
" GUESTFS_NTFSRESIZE_OPTS_FORCE, int force,\n"
"\n"
msgstr ""
" GUESTFS_NTFSRESIZE_OPTS_SIZE, int64_t size,\n"
" GUESTFS_NTFSRESIZE_OPTS_FORCE, int force,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11415
msgid ""
"After the resize operation, the filesystem is always marked as requiring a "
"consistency check (for safety).  You have to boot into Windows to perform "
"this check and clear this condition.  If you I<don't> set the C<force> "
"option then it is not possible to call C<guestfs_ntfsresize> multiple times "
"on a single filesystem without booting into Windows between each resize."
msgstr ""
"After the resize operation, the filesystem is always marked as requiring a "
"consistency check (for safety).  You have to boot into Windows to perform "
"this check and clear this condition.  If you I<don't> set the C<force> "
"option then it is not possible to call C<guestfs_ntfsresize> multiple times "
"on a single filesystem without booting into Windows between each resize."

#. type: textblock
#: ../lib/guestfs-actions.pod:11428 ../lib/guestfs-actions.pod:11474
msgid ""
"This function depends on the feature C<ntfsprogs>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11433
msgid "guestfs_ntfsresize_opts_va"
msgstr "guestfs_ntfsresize_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11435
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsresize_opts_va (guestfs_h *g,\n"
"                             const char *device,\n"
"                             va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsresize_opts_va (guestfs_h *g,\n"
"                             const char *device,\n"
"                             va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11440
msgid "This is the \"va_list variant\" of L</guestfs_ntfsresize_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_ntfsresize_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11444
msgid "guestfs_ntfsresize_opts_argv"
msgstr "guestfs_ntfsresize_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11446
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsresize_opts_argv (guestfs_h *g,\n"
"                               const char *device,\n"
"                               const struct guestfs_ntfsresize_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsresize_opts_argv (guestfs_h *g,\n"
"                               const char *device,\n"
"                               const struct guestfs_ntfsresize_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11451
msgid "This is the \"argv variant\" of L</guestfs_ntfsresize_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_ntfsresize_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11455
msgid "guestfs_ntfsresize_size"
msgstr "guestfs_ntfsresize_size"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11457
#, no-wrap
msgid ""
" int\n"
" guestfs_ntfsresize_size (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int64_t size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ntfsresize_size (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int64_t size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11462
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_ntfsresize> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_ntfsresize> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:11469
msgid ""
"This command is the same as C<guestfs_ntfsresize> except that it allows you "
"to specify the new size (in bytes) explicitly."
msgstr ""
"This command is the same as C<guestfs_ntfsresize> except that it allows you "
"to specify the new size (in bytes) explicitly."

#. type: textblock
#: ../lib/guestfs-actions.pod:11477 ../lib/guestfs-actions.pod:12262
#: ../lib/guestfs-actions.pod:12341 ../lib/guestfs-actions.pod:12691
#: ../lib/guestfs-actions.pod:15754
msgid "(Added in 1.3.14)"
msgstr "(Added in 1.3.14)"

#. type: =head2
#: ../lib/guestfs-actions.pod:11479
msgid "guestfs_parse_environment"
msgstr "guestfs_parse_environment"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11481
#, no-wrap
msgid ""
" int\n"
" guestfs_parse_environment (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_parse_environment (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11488
msgid ""
"I<Most programs do not need to call this>.  It is done implicitly when you "
"call C<guestfs_create>."
msgstr ""
"I<Most programs do not need to call this>.  It is done implicitly when you "
"call C<guestfs_create>."

#. type: textblock
#: ../lib/guestfs-actions.pod:11491
msgid ""
"See L<guestfs(3)/ENVIRONMENT VARIABLES> for a list of environment variables "
"that can affect libguestfs handles.  See also L<guestfs(3)/"
"guestfs_create_flags>, and C<guestfs_parse_environment_list>."
msgstr ""
"See L<guestfs(3)/ENVIRONMENT VARIABLES> for a list of environment variables "
"that can affect libguestfs handles.  See also L<guestfs(3)/"
"guestfs_create_flags>, and C<guestfs_parse_environment_list>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11500
msgid "guestfs_parse_environment_list"
msgstr "guestfs_parse_environment_list"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11502
#, no-wrap
msgid ""
" int\n"
" guestfs_parse_environment_list (guestfs_h *g,\n"
"                                 char *const *environment);\n"
"\n"
msgstr ""
" int\n"
" guestfs_parse_environment_list (guestfs_h *g,\n"
"                                 char *const *environment);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11511
msgid ""
"This is the same as C<guestfs_parse_environment> except that it parses an "
"explicit list of strings instead of the program's environment."
msgstr ""
"This is the same as C<guestfs_parse_environment> except that it parses an "
"explicit list of strings instead of the program's environment."

#. type: =head2
#: ../lib/guestfs-actions.pod:11519
msgid "guestfs_part_add"
msgstr "guestfs_part_add"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11521
#, no-wrap
msgid ""
" int\n"
" guestfs_part_add (guestfs_h *g,\n"
"                   const char *device,\n"
"                   const char *prlogex,\n"
"                   int64_t startsect,\n"
"                   int64_t endsect);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_add (guestfs_h *g,\n"
"                   const char *device,\n"
"                   const char *prlogex,\n"
"                   int64_t startsect,\n"
"                   int64_t endsect);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11528
msgid ""
"This command adds a partition to C<device>.  If there is no partition table "
"on the device, call C<guestfs_part_init> first."
msgstr ""
"This command adds a partition to C<device>.  If there is no partition table "
"on the device, call C<guestfs_part_init> first."

#. type: textblock
#: ../lib/guestfs-actions.pod:11540
msgid ""
"Creating a partition which covers the whole disk is not so easy.  Use "
"C<guestfs_part_disk> to do that."
msgstr ""
"Creating a partition which covers the whole disk is not so easy.  Use "
"C<guestfs_part_disk> to do that."

#. type: textblock
#: ../lib/guestfs-actions.pod:11545 ../lib/guestfs-actions.pod:11580
#: ../lib/guestfs-actions.pod:11758 ../lib/guestfs-actions.pod:11842
#: ../lib/guestfs-actions.pod:11880 ../lib/guestfs-actions.pod:11922
#: ../lib/guestfs-actions.pod:12059
msgid "(Added in 1.0.78)"
msgstr "(Added in 1.0.78)"

#. type: =head2
#: ../lib/guestfs-actions.pod:11547
msgid "guestfs_part_del"
msgstr "guestfs_part_del"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11549
#, no-wrap
msgid ""
" int\n"
" guestfs_part_del (guestfs_h *g,\n"
"                   const char *device,\n"
"                   int partnum);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_del (guestfs_h *g,\n"
"                   const char *device,\n"
"                   int partnum);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:11564
msgid "guestfs_part_disk"
msgstr "guestfs_part_disk"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11566
#, no-wrap
msgid ""
" int\n"
" guestfs_part_disk (guestfs_h *g,\n"
"                    const char *device,\n"
"                    const char *parttype);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_disk (guestfs_h *g,\n"
"                    const char *device,\n"
"                    const char *parttype);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11571
msgid ""
"This command is simply a combination of C<guestfs_part_init> followed by "
"C<guestfs_part_add> to create a single primary partition covering the whole "
"disk."
msgstr ""
"This command is simply a combination of C<guestfs_part_init> followed by "
"C<guestfs_part_add> to create a single primary partition covering the whole "
"disk."

#. type: textblock
#: ../lib/guestfs-actions.pod:11575
msgid ""
"C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other "
"possible values are described in C<guestfs_part_init>."
msgstr ""
"C<parttype> is the partition table type, usually C<mbr> or C<gpt>, but other "
"possible values are described in C<guestfs_part_init>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11582
msgid "guestfs_part_expand_gpt"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11584
#, no-wrap
msgid ""
" int\n"
" guestfs_part_expand_gpt (guestfs_h *g,\n"
"                          const char *device);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11597 ../lib/guestfs-actions.pod:11630
#: ../lib/guestfs-actions.pod:11647 ../lib/guestfs-actions.pod:11664
#: ../lib/guestfs-actions.pod:11683 ../lib/guestfs-actions.pod:11937
#: ../lib/guestfs-actions.pod:11954 ../lib/guestfs-actions.pod:11975
#: ../lib/guestfs-actions.pod:11994 ../lib/guestfs-actions.pod:12016
msgid ""
"This function depends on the feature C<gdisk>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11600 ../lib/guestfs-actions.pod:11633
#: ../lib/guestfs-actions.pod:11940 ../lib/guestfs-actions.pod:11957
msgid "(Added in 1.33.2)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11602
msgid "guestfs_part_get_bootable"
msgstr "guestfs_part_get_bootable"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11604
#, no-wrap
msgid ""
" int\n"
" guestfs_part_get_bootable (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_get_bootable (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11612
msgid "See also C<guestfs_part_set_bootable>."
msgstr "See also C<guestfs_part_set_bootable>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11618
msgid "guestfs_part_get_disk_guid"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11620
#, no-wrap
msgid ""
" char *\n"
" guestfs_part_get_disk_guid (guestfs_h *g,\n"
"                             const char *device);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11635
msgid "guestfs_part_get_gpt_attributes"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11637
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_part_get_gpt_attributes (guestfs_h *g,\n"
"                                  const char *device,\n"
"                                  int partnum);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11650 ../lib/guestfs-actions.pod:11686
#: ../lib/guestfs-actions.pod:11978 ../lib/guestfs-actions.pod:12019
msgid "(Added in 1.21.1)"
msgstr "(Added in 1.21.1)"

#. type: =head2
#: ../lib/guestfs-actions.pod:11652
msgid "guestfs_part_get_gpt_guid"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11654
#, no-wrap
msgid ""
" char *\n"
" guestfs_part_get_gpt_guid (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11667 ../lib/guestfs-actions.pod:11997
msgid "(Added in 1.29.25)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11669
msgid "guestfs_part_get_gpt_type"
msgstr "guestfs_part_get_gpt_type"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11671
#, no-wrap
msgid ""
" char *\n"
" guestfs_part_get_gpt_type (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_part_get_gpt_type (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:11688
msgid "guestfs_part_get_mbr_id"
msgstr "guestfs_part_get_mbr_id"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11690
#, no-wrap
msgid ""
" int\n"
" guestfs_part_get_mbr_id (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int partnum);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_get_mbr_id (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int partnum);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11698 ../lib/guestfs-actions.pod:12035
msgid ""
"Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
"undefined results for other partition table types (see "
"C<guestfs_part_get_parttype>)."
msgstr ""
"Note that only MBR (old DOS-style) partitions have type bytes.  You will get "
"undefined results for other partition table types (see "
"C<guestfs_part_get_parttype>)."

#. type: =head2
#: ../lib/guestfs-actions.pod:11706
msgid "guestfs_part_get_mbr_part_type"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11708
#, no-wrap
msgid ""
" char *\n"
" guestfs_part_get_mbr_part_type (guestfs_h *g,\n"
"                                 const char *device,\n"
"                                 int partnum);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11723
msgid "guestfs_part_get_name"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11725
#, no-wrap
msgid ""
" char *\n"
" guestfs_part_get_name (guestfs_h *g,\n"
"                        const char *device,\n"
"                        int partnum);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11739
msgid "(Added in 1.25.33)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11741
msgid "guestfs_part_get_parttype"
msgstr "guestfs_part_get_parttype"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11743
#, no-wrap
msgid ""
" char *\n"
" guestfs_part_get_parttype (guestfs_h *g,\n"
"                            const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_part_get_parttype (guestfs_h *g,\n"
"                            const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11750
msgid ""
"Common return values include: C<msdos> (a DOS/Windows style MBR partition "
"table), C<gpt> (a GPT/EFI-style partition table).  Other values are "
"possible, although unusual.  See C<guestfs_part_init> for a full list."
msgstr ""
"Common return values include: C<msdos> (a DOS/Windows style MBR partition "
"table), C<gpt> (a GPT/EFI-style partition table).  Other values are "
"possible, although unusual.  See C<guestfs_part_init> for a full list."

#. type: =head2
#: ../lib/guestfs-actions.pod:11760
msgid "guestfs_part_init"
msgstr "guestfs_part_init"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11762
#, no-wrap
msgid ""
" int\n"
" guestfs_part_init (guestfs_h *g,\n"
"                    const char *device,\n"
"                    const char *parttype);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_init (guestfs_h *g,\n"
"                    const char *device,\n"
"                    const char *parttype);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11771
msgid ""
"Initially there are no partitions.  Following this, you should call "
"C<guestfs_part_add> for each partition required."
msgstr ""
"Initially there are no partitions.  Following this, you should call "
"C<guestfs_part_add> for each partition required."

#. type: =head2
#: ../lib/guestfs-actions.pod:11844
msgid "guestfs_part_list"
msgstr "guestfs_part_list"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11846
#, no-wrap
msgid ""
" struct guestfs_partition_list *\n"
" guestfs_part_list (guestfs_h *g,\n"
"                    const char *device);\n"
"\n"
msgstr ""
" struct guestfs_partition_list *\n"
" guestfs_part_list (guestfs_h *g,\n"
"                    const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:11863
msgid ""
"Start of the partition I<in bytes>.  To get sectors you have to divide by "
"the device’s sector size, see C<guestfs_blockdev_getss>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11876
msgid ""
"This function returns a C<struct guestfs_partition_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_partition_list> after "
"use>."
msgstr ""
"This function returns a C<struct guestfs_partition_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_partition_list> after "
"use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:11882
msgid "guestfs_part_resize"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11884
#, no-wrap
msgid ""
" int\n"
" guestfs_part_resize (guestfs_h *g,\n"
"                      const char *device,\n"
"                      int partnum,\n"
"                      int64_t endsect);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11893
msgid ""
"Note that this does not modify any filesystem present in the partition.  If "
"you wish to do this, you will need to use filesystem resizing commands like "
"C<guestfs_resize2fs>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:11903
msgid "(Added in 1.37.20)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11905
msgid "guestfs_part_set_bootable"
msgstr "guestfs_part_set_bootable"

#. type: verbatim
#: ../lib/guestfs-actions.pod:11907
#, no-wrap
msgid ""
" int\n"
" guestfs_part_set_bootable (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum,\n"
"                            int bootable);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_set_bootable (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum,\n"
"                            int bootable);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:11924
msgid "guestfs_part_set_disk_guid"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11926
#, no-wrap
msgid ""
" int\n"
" guestfs_part_set_disk_guid (guestfs_h *g,\n"
"                             const char *device,\n"
"                             const char *guid);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11942
msgid "guestfs_part_set_disk_guid_random"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11944
#, no-wrap
msgid ""
" int\n"
" guestfs_part_set_disk_guid_random (guestfs_h *g,\n"
"                                    const char *device);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11959
msgid "guestfs_part_set_gpt_attributes"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11961
#, no-wrap
msgid ""
" int\n"
" guestfs_part_set_gpt_attributes (guestfs_h *g,\n"
"                                  const char *device,\n"
"                                  int partnum,\n"
"                                  int64_t attributes);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11980
msgid "guestfs_part_set_gpt_guid"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:11982
#, no-wrap
msgid ""
" int\n"
" guestfs_part_set_gpt_guid (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum,\n"
"                            const char *guid);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:11999
msgid "guestfs_part_set_gpt_type"
msgstr "guestfs_part_set_gpt_type"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12001
#, no-wrap
msgid ""
" int\n"
" guestfs_part_set_gpt_type (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum,\n"
"                            const char *guid);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_set_gpt_type (guestfs_h *g,\n"
"                            const char *device,\n"
"                            int partnum,\n"
"                            const char *guid);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12021
msgid "guestfs_part_set_mbr_id"
msgstr "guestfs_part_set_mbr_id"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12023
#, no-wrap
msgid ""
" int\n"
" guestfs_part_set_mbr_id (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int partnum,\n"
"                          int idbyte);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_set_mbr_id (guestfs_h *g,\n"
"                          const char *device,\n"
"                          int partnum,\n"
"                          int idbyte);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12043
msgid "guestfs_part_set_name"
msgstr "guestfs_part_set_name"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12045
#, no-wrap
msgid ""
" int\n"
" guestfs_part_set_name (guestfs_h *g,\n"
"                        const char *device,\n"
"                        int partnum,\n"
"                        const char *name);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_set_name (guestfs_h *g,\n"
"                        const char *device,\n"
"                        int partnum,\n"
"                        const char *name);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12061
msgid "guestfs_part_to_dev"
msgstr "guestfs_part_to_dev"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12063
#, no-wrap
msgid ""
" char *\n"
" guestfs_part_to_dev (guestfs_h *g,\n"
"                      const char *partition);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_part_to_dev (guestfs_h *g,\n"
"                      const char *partition);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12071 ../lib/guestfs-actions.pod:12090
msgid ""
"The named partition must exist, for example as a string returned from "
"C<guestfs_list_partitions>."
msgstr ""
"The named partition must exist, for example as a string returned from "
"C<guestfs_list_partitions>."

#. type: textblock
#: ../lib/guestfs-actions.pod:12074
msgid "See also C<guestfs_part_to_partnum>, C<guestfs_device_index>."
msgstr "See also C<guestfs_part_to_partnum>, C<guestfs_device_index>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12081
msgid "guestfs_part_to_partnum"
msgstr "guestfs_part_to_partnum"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12083
#, no-wrap
msgid ""
" int\n"
" guestfs_part_to_partnum (guestfs_h *g,\n"
"                          const char *partition);\n"
"\n"
msgstr ""
" int\n"
" guestfs_part_to_partnum (guestfs_h *g,\n"
"                          const char *partition);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12093
msgid "See also C<guestfs_part_to_dev>."
msgstr "See also C<guestfs_part_to_dev>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12099
msgid "guestfs_ping_daemon"
msgstr "guestfs_ping_daemon"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12101
#, no-wrap
msgid ""
" int\n"
" guestfs_ping_daemon (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_ping_daemon (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12113
msgid "guestfs_pread"
msgstr "guestfs_pread"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12115
#, no-wrap
msgid ""
" char *\n"
" guestfs_pread (guestfs_h *g,\n"
"                const char *path,\n"
"                int count,\n"
"                int64_t offset,\n"
"                size_t *size_r);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_pread (guestfs_h *g,\n"
"                const char *path,\n"
"                int count,\n"
"                int64_t offset,\n"
"                size_t *size_r);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12128
msgid "See also C<guestfs_pwrite>, C<guestfs_pread_device>."
msgstr "See also C<guestfs_pwrite>, C<guestfs_pread_device>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12139
msgid "guestfs_pread_device"
msgstr "guestfs_pread_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12141
#, no-wrap
msgid ""
" char *\n"
" guestfs_pread_device (guestfs_h *g,\n"
"                       const char *device,\n"
"                       int count,\n"
"                       int64_t offset,\n"
"                       size_t *size_r);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_pread_device (guestfs_h *g,\n"
"                       const char *device,\n"
"                       int count,\n"
"                       int64_t offset,\n"
"                       size_t *size_r);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12154
msgid "See also C<guestfs_pread>."
msgstr "See also C<guestfs_pread>."

#. type: textblock
#: ../lib/guestfs-actions.pod:12163
msgid "(Added in 1.5.21)"
msgstr "(Added in 1.5.21)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12165
msgid "guestfs_pvchange_uuid"
msgstr "guestfs_pvchange_uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12167
#, no-wrap
msgid ""
" int\n"
" guestfs_pvchange_uuid (guestfs_h *g,\n"
"                        const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_pvchange_uuid (guestfs_h *g,\n"
"                        const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12178 ../lib/guestfs-actions.pod:12192
#: ../lib/guestfs-actions.pod:15453 ../lib/guestfs-actions.pod:15467
msgid "(Added in 1.19.26)"
msgstr "(Added in 1.19.26)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12180
msgid "guestfs_pvchange_uuid_all"
msgstr "guestfs_pvchange_uuid_all"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12182
#, no-wrap
msgid ""
" int\n"
" guestfs_pvchange_uuid_all (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_pvchange_uuid_all (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12194
msgid "guestfs_pvcreate"
msgstr "guestfs_pvcreate"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12196
#, no-wrap
msgid ""
" int\n"
" guestfs_pvcreate (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_pvcreate (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12211
msgid "guestfs_pvremove"
msgstr "guestfs_pvremove"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12213
#, no-wrap
msgid ""
" int\n"
" guestfs_pvremove (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_pvremove (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12231
msgid "guestfs_pvresize"
msgstr "guestfs_pvresize"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12233
#, no-wrap
msgid ""
" int\n"
" guestfs_pvresize (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_pvresize (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12247
msgid "guestfs_pvresize_size"
msgstr "guestfs_pvresize_size"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12249
#, no-wrap
msgid ""
" int\n"
" guestfs_pvresize_size (guestfs_h *g,\n"
"                        const char *device,\n"
"                        int64_t size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_pvresize_size (guestfs_h *g,\n"
"                        const char *device,\n"
"                        int64_t size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12254
msgid ""
"This command is the same as C<guestfs_pvresize> except that it allows you to "
"specify the new size (in bytes) explicitly."
msgstr ""
"This command is the same as C<guestfs_pvresize> except that it allows you to "
"specify the new size (in bytes) explicitly."

#. type: =head2
#: ../lib/guestfs-actions.pod:12264
msgid "guestfs_pvs"
msgstr "guestfs_pvs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12266
#, no-wrap
msgid ""
" char **\n"
" guestfs_pvs (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_pvs (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12275
msgid "See also C<guestfs_pvs_full>."
msgstr "See also C<guestfs_pvs_full>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12286
msgid "guestfs_pvs_full"
msgstr "guestfs_pvs_full"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12288
#, no-wrap
msgid ""
" struct guestfs_lvm_pv_list *\n"
" guestfs_pvs_full (guestfs_h *g);\n"
"\n"
msgstr ""
" struct guestfs_lvm_pv_list *\n"
" guestfs_pvs_full (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12294
msgid ""
"This function returns a C<struct guestfs_lvm_pv_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_lvm_pv_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_lvm_pv_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_lvm_pv_list> after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12303
msgid "guestfs_pvuuid"
msgstr "guestfs_pvuuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12305
#, no-wrap
msgid ""
" char *\n"
" guestfs_pvuuid (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_pvuuid (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12316
msgid "guestfs_pwrite"
msgstr "guestfs_pwrite"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12318
#, no-wrap
msgid ""
" int\n"
" guestfs_pwrite (guestfs_h *g,\n"
"                 const char *path,\n"
"                 const char *content,\n"
"                 size_t content_size,\n"
"                 int64_t offset);\n"
"\n"
msgstr ""
" int\n"
" guestfs_pwrite (guestfs_h *g,\n"
"                 const char *path,\n"
"                 const char *content,\n"
"                 size_t content_size,\n"
"                 int64_t offset);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12334
msgid "See also C<guestfs_pread>, C<guestfs_pwrite_device>."
msgstr "See also C<guestfs_pread>, C<guestfs_pwrite_device>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12343
msgid "guestfs_pwrite_device"
msgstr "guestfs_pwrite_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12345
#, no-wrap
msgid ""
" int\n"
" guestfs_pwrite_device (guestfs_h *g,\n"
"                        const char *device,\n"
"                        const char *content,\n"
"                        size_t content_size,\n"
"                        int64_t offset);\n"
"\n"
msgstr ""
" int\n"
" guestfs_pwrite_device (guestfs_h *g,\n"
"                        const char *device,\n"
"                        const char *content,\n"
"                        size_t content_size,\n"
"                        int64_t offset);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12360
msgid "See also C<guestfs_pwrite>."
msgstr "See also C<guestfs_pwrite>."

#. type: textblock
#: ../lib/guestfs-actions.pod:12367
msgid "(Added in 1.5.20)"
msgstr "(Added in 1.5.20)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12369
msgid "guestfs_read_file"
msgstr "guestfs_read_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12371
#, no-wrap
msgid ""
" char *\n"
" guestfs_read_file (guestfs_h *g,\n"
"                    const char *path,\n"
"                    size_t *size_r);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_read_file (guestfs_h *g,\n"
"                    const char *path,\n"
"                    size_t *size_r);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12379
msgid ""
"Unlike C<guestfs_cat>, this function can correctly handle files that contain "
"embedded ASCII NUL characters."
msgstr ""
"Unlike C<guestfs_cat>, this function can correctly handle files that contain "
"embedded ASCII NUL characters."

#. type: textblock
#: ../lib/guestfs-actions.pod:12386
msgid "(Added in 1.0.63)"
msgstr "(Added in 1.0.63)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12388
msgid "guestfs_read_lines"
msgstr "guestfs_read_lines"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12390
#, no-wrap
msgid ""
" char **\n"
" guestfs_read_lines (guestfs_h *g,\n"
"                     const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_read_lines (guestfs_h *g,\n"
"                     const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12399
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> function and split the buffer "
"into lines yourself."
msgstr ""
"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> function and split the buffer "
"into lines yourself."

#. type: =head2
#: ../lib/guestfs-actions.pod:12410
msgid "guestfs_readdir"
msgstr "guestfs_readdir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12412
#, no-wrap
msgid ""
" struct guestfs_dirent_list *\n"
" guestfs_readdir (guestfs_h *g,\n"
"                  const char *dir);\n"
"\n"
msgstr ""
" struct guestfs_dirent_list *\n"
" guestfs_readdir (guestfs_h *g,\n"
"                  const char *dir);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12466
msgid ""
"This function is primarily intended for use by programs.  To get a simple "
"list of names, use C<guestfs_ls>.  To get a printable directory for human "
"consumption, use C<guestfs_ll>."
msgstr ""
"This function is primarily intended for use by programs.  To get a simple "
"list of names, use C<guestfs_ls>.  To get a printable directory for human "
"consumption, use C<guestfs_ll>."

#. type: textblock
#: ../lib/guestfs-actions.pod:12470
msgid ""
"This function returns a C<struct guestfs_dirent_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_dirent_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_dirent_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_dirent_list> after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12479
msgid "guestfs_readlink"
msgstr "guestfs_readlink"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12481
#, no-wrap
msgid ""
" char *\n"
" guestfs_readlink (guestfs_h *g,\n"
"                   const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_readlink (guestfs_h *g,\n"
"                   const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12492
msgid "guestfs_readlinklist"
msgstr "guestfs_readlinklist"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12494
#, no-wrap
msgid ""
" char **\n"
" guestfs_readlinklist (guestfs_h *g,\n"
"                       const char *path,\n"
"                       char *const *names);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_readlinklist (guestfs_h *g,\n"
"                       const char *path,\n"
"                       char *const *names);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12523
msgid "guestfs_realpath"
msgstr "guestfs_realpath"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12525
#, no-wrap
msgid ""
" char *\n"
" guestfs_realpath (guestfs_h *g,\n"
"                   const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_realpath (guestfs_h *g,\n"
"                   const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12537
msgid "guestfs_remount"
msgstr "guestfs_remount"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12539
#, no-wrap
msgid ""
" int\n"
" guestfs_remount (guestfs_h *g,\n"
"                  const char *mountpoint,\n"
"                  ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_remount (guestfs_h *g,\n"
"                  const char *mountpoint,\n"
"                  ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12549
#, no-wrap
msgid ""
" GUESTFS_REMOUNT_RW, int rw,\n"
"\n"
msgstr ""
" GUESTFS_REMOUNT_RW, int rw,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12560
msgid "(Added in 1.23.2)"
msgstr "(Added in 1.23.2)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12562
msgid "guestfs_remount_va"
msgstr "guestfs_remount_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12564
#, no-wrap
msgid ""
" int\n"
" guestfs_remount_va (guestfs_h *g,\n"
"                     const char *mountpoint,\n"
"                     va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_remount_va (guestfs_h *g,\n"
"                     const char *mountpoint,\n"
"                     va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12569
msgid "This is the \"va_list variant\" of L</guestfs_remount>."
msgstr "This is the \"va_list variant\" of L</guestfs_remount>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12573
msgid "guestfs_remount_argv"
msgstr "guestfs_remount_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12575
#, no-wrap
msgid ""
" int\n"
" guestfs_remount_argv (guestfs_h *g,\n"
"                       const char *mountpoint,\n"
"                       const struct guestfs_remount_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_remount_argv (guestfs_h *g,\n"
"                       const char *mountpoint,\n"
"                       const struct guestfs_remount_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12580
msgid "This is the \"argv variant\" of L</guestfs_remount>."
msgstr "This is the \"argv variant\" of L</guestfs_remount>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12584
msgid "guestfs_remove_drive"
msgstr "guestfs_remove_drive"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12586
#, no-wrap
msgid ""
" int\n"
" guestfs_remove_drive (guestfs_h *g,\n"
"                       const char *label);\n"
"\n"
msgstr ""
" int\n"
" guestfs_remove_drive (guestfs_h *g,\n"
"                       const char *label);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12590
msgid ""
"This function is conceptually the opposite of C<guestfs_add_drive_opts>.  It "
"removes the drive that was previously added with label C<label>."
msgstr ""
"This function is conceptually the opposite of C<guestfs_add_drive_opts>.  It "
"removes the drive that was previously added with label C<label>."

#. type: textblock
#: ../lib/guestfs-actions.pod:12593
msgid ""
"Note that in order to remove drives, you have to add them with labels (see "
"the optional C<label> argument to C<guestfs_add_drive_opts>).  If you didn't "
"use a label, then they cannot be removed."
msgstr ""
"Note that in order to remove drives, you have to add them with labels (see "
"the optional C<label> argument to C<guestfs_add_drive_opts>).  If you didn't "
"use a label, then they cannot be removed."

#. type: =head2
#: ../lib/guestfs-actions.pod:12607
msgid "guestfs_removexattr"
msgstr "guestfs_removexattr"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12609
#, no-wrap
msgid ""
" int\n"
" guestfs_removexattr (guestfs_h *g,\n"
"                      const char *xattr,\n"
"                      const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_removexattr (guestfs_h *g,\n"
"                      const char *xattr,\n"
"                      const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12617
msgid "See also: C<guestfs_lremovexattr>, L<attr(5)>."
msgstr "See also: C<guestfs_lremovexattr>, L<attr(5)>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12626
msgid "guestfs_rename"
msgstr "guestfs_rename"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12628
#, no-wrap
msgid ""
" int\n"
" guestfs_rename (guestfs_h *g,\n"
"                 const char *oldpath,\n"
"                 const char *newpath);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rename (guestfs_h *g,\n"
"                 const char *oldpath,\n"
"                 const char *newpath);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12633
msgid ""
"Rename a file to a new place on the same filesystem.  This is the same as "
"the Linux L<rename(2)> system call.  In most cases you are better to use "
"C<guestfs_mv> instead."
msgstr ""
"Rename a file to a new place on the same filesystem.  This is the same as "
"the Linux L<rename(2)> system call.  In most cases you are better to use "
"C<guestfs_mv> instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:12639
msgid "(Added in 1.21.5)"
msgstr "(Added in 1.21.5)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12641
msgid "guestfs_resize2fs"
msgstr "guestfs_resize2fs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12643
#, no-wrap
msgid ""
" int\n"
" guestfs_resize2fs (guestfs_h *g,\n"
"                    const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_resize2fs (guestfs_h *g,\n"
"                    const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12656
msgid "guestfs_resize2fs_M"
msgstr "guestfs_resize2fs_M"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12658
#, no-wrap
msgid ""
" int\n"
" guestfs_resize2fs_M (guestfs_h *g,\n"
"                      const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_resize2fs_M (guestfs_h *g,\n"
"                      const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12662
#, fuzzy
#| msgid ""
#| "This command is the same as C<guestfs_resize2fs>, but the filesystem is "
#| "resized to its minimum size.  This works like the I<-M> option to the "
#| "C<resize2fs> command."
msgid ""
"This command is the same as C<guestfs_resize2fs>, but the filesystem is "
"resized to its minimum size.  This works like the I<-M> option to the "
"L<resize2fs(8)> command."
msgstr ""
"This command is the same as C<guestfs_resize2fs>, but the filesystem is "
"resized to its minimum size.  This works like the I<-M> option to the "
"C<resize2fs> command."

#. type: textblock
#: ../lib/guestfs-actions.pod:12666
msgid ""
"To get the resulting size of the filesystem you should call "
"C<guestfs_tune2fs_l> and read the C<Block size> and C<Block count> values.  "
"These two numbers, multiplied together, give the resulting size of the "
"minimal filesystem in bytes."
msgstr ""
"To get the resulting size of the filesystem you should call "
"C<guestfs_tune2fs_l> and read the C<Block size> and C<Block count> values.  "
"These two numbers, multiplied together, give the resulting size of the "
"minimal filesystem in bytes."

#. type: =head2
#: ../lib/guestfs-actions.pod:12677
msgid "guestfs_resize2fs_size"
msgstr "guestfs_resize2fs_size"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12679
#, no-wrap
msgid ""
" int\n"
" guestfs_resize2fs_size (guestfs_h *g,\n"
"                         const char *device,\n"
"                         int64_t size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_resize2fs_size (guestfs_h *g,\n"
"                         const char *device,\n"
"                         int64_t size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12684
msgid ""
"This command is the same as C<guestfs_resize2fs> except that it allows you "
"to specify the new size (in bytes) explicitly."
msgstr ""
"This command is the same as C<guestfs_resize2fs> except that it allows you "
"to specify the new size (in bytes) explicitly."

#. type: =head2
#: ../lib/guestfs-actions.pod:12693
msgid "guestfs_rm"
msgstr "guestfs_rm"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12695
#, no-wrap
msgid ""
" int\n"
" guestfs_rm (guestfs_h *g,\n"
"             const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rm (guestfs_h *g,\n"
"             const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12705
msgid "guestfs_rm_f"
msgstr "guestfs_rm_f"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12707
#, no-wrap
msgid ""
" int\n"
" guestfs_rm_f (guestfs_h *g,\n"
"               const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rm_f (guestfs_h *g,\n"
"               const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12716
msgid ""
"This call cannot remove directories.  Use C<guestfs_rmdir> to remove an "
"empty directory, or C<guestfs_rm_rf> to remove directories recursively."
msgstr ""
"This call cannot remove directories.  Use C<guestfs_rmdir> to remove an "
"empty directory, or C<guestfs_rm_rf> to remove directories recursively."

#. type: textblock
#: ../lib/guestfs-actions.pod:12722
msgid "(Added in 1.19.42)"
msgstr "(Added in 1.19.42)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12724
msgid "guestfs_rm_rf"
msgstr "guestfs_rm_rf"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12726
#, no-wrap
msgid ""
" int\n"
" guestfs_rm_rf (guestfs_h *g,\n"
"                const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rm_rf (guestfs_h *g,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12738
msgid "guestfs_rmdir"
msgstr "guestfs_rmdir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12740
#, no-wrap
msgid ""
" int\n"
" guestfs_rmdir (guestfs_h *g,\n"
"                const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rmdir (guestfs_h *g,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:12750
msgid "guestfs_rmmountpoint"
msgstr "guestfs_rmmountpoint"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12752
#, no-wrap
msgid ""
" int\n"
" guestfs_rmmountpoint (guestfs_h *g,\n"
"                       const char *exemptpath);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rmmountpoint (guestfs_h *g,\n"
"                       const char *exemptpath);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12756
msgid ""
"This call removes a mountpoint that was previously created with "
"C<guestfs_mkmountpoint>.  See C<guestfs_mkmountpoint> for full details."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:12764
msgid "guestfs_rsync"
msgstr "guestfs_rsync"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12766
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync (guestfs_h *g,\n"
"                const char *src,\n"
"                const char *dest,\n"
"                ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync (guestfs_h *g,\n"
"                const char *src,\n"
"                const char *dest,\n"
"                ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12777
#, no-wrap
msgid ""
" GUESTFS_RSYNC_ARCHIVE, int archive,\n"
" GUESTFS_RSYNC_DELETEDEST, int deletedest,\n"
"\n"
msgstr ""
" GUESTFS_RSYNC_ARCHIVE, int archive,\n"
" GUESTFS_RSYNC_DELETEDEST, int deletedest,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12805 ../lib/guestfs-actions.pod:12870
#: ../lib/guestfs-actions.pod:12942
msgid ""
"This function depends on the feature C<rsync>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:12808 ../lib/guestfs-actions.pod:12873
#: ../lib/guestfs-actions.pod:12945
msgid "(Added in 1.19.29)"
msgstr "(Added in 1.19.29)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12810
msgid "guestfs_rsync_va"
msgstr "guestfs_rsync_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12812
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync_va (guestfs_h *g,\n"
"                   const char *src,\n"
"                   const char *dest,\n"
"                   va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync_va (guestfs_h *g,\n"
"                   const char *src,\n"
"                   const char *dest,\n"
"                   va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12818
msgid "This is the \"va_list variant\" of L</guestfs_rsync>."
msgstr "This is the \"va_list variant\" of L</guestfs_rsync>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12822
msgid "guestfs_rsync_argv"
msgstr "guestfs_rsync_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12824
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync_argv (guestfs_h *g,\n"
"                     const char *src,\n"
"                     const char *dest,\n"
"                     const struct guestfs_rsync_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync_argv (guestfs_h *g,\n"
"                     const char *src,\n"
"                     const char *dest,\n"
"                     const struct guestfs_rsync_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12830
msgid "This is the \"argv variant\" of L</guestfs_rsync>."
msgstr "This is the \"argv variant\" of L</guestfs_rsync>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12834
msgid "guestfs_rsync_in"
msgstr "guestfs_rsync_in"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12836
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync_in (guestfs_h *g,\n"
"                   const char *remote,\n"
"                   const char *dest,\n"
"                   ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync_in (guestfs_h *g,\n"
"                   const char *remote,\n"
"                   const char *dest,\n"
"                   ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12847
#, no-wrap
msgid ""
" GUESTFS_RSYNC_IN_ARCHIVE, int archive,\n"
" GUESTFS_RSYNC_IN_DELETEDEST, int deletedest,\n"
"\n"
msgstr ""
" GUESTFS_RSYNC_IN_ARCHIVE, int archive,\n"
" GUESTFS_RSYNC_IN_DELETEDEST, int deletedest,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12855 ../lib/guestfs-actions.pod:12920
msgid ""
"This call only works if the network is enabled.  See C<guestfs_set_network> "
"or the I<--network> option to various tools like L<guestfish(1)>."
msgstr ""
"This call only works if the network is enabled.  See C<guestfs_set_network> "
"or the I<--network> option to various tools like L<guestfish(1)>."

#. type: textblock
#: ../lib/guestfs-actions.pod:12866 ../lib/guestfs-actions.pod:12931
msgid "The optional arguments are the same as those of C<guestfs_rsync>."
msgstr "The optional arguments are the same as those of C<guestfs_rsync>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12875
msgid "guestfs_rsync_in_va"
msgstr "guestfs_rsync_in_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12877
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync_in_va (guestfs_h *g,\n"
"                      const char *remote,\n"
"                      const char *dest,\n"
"                      va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync_in_va (guestfs_h *g,\n"
"                      const char *remote,\n"
"                      const char *dest,\n"
"                      va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12883
msgid "This is the \"va_list variant\" of L</guestfs_rsync_in>."
msgstr "This is the \"va_list variant\" of L</guestfs_rsync_in>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12887
msgid "guestfs_rsync_in_argv"
msgstr "guestfs_rsync_in_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12889
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync_in_argv (guestfs_h *g,\n"
"                        const char *remote,\n"
"                        const char *dest,\n"
"                        const struct guestfs_rsync_in_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync_in_argv (guestfs_h *g,\n"
"                        const char *remote,\n"
"                        const char *dest,\n"
"                        const struct guestfs_rsync_in_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12895
msgid "This is the \"argv variant\" of L</guestfs_rsync_in>."
msgstr "This is the \"argv variant\" of L</guestfs_rsync_in>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12899
msgid "guestfs_rsync_out"
msgstr "guestfs_rsync_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12901
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync_out (guestfs_h *g,\n"
"                    const char *src,\n"
"                    const char *remote,\n"
"                    ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync_out (guestfs_h *g,\n"
"                    const char *src,\n"
"                    const char *remote,\n"
"                    ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12912
#, no-wrap
msgid ""
" GUESTFS_RSYNC_OUT_ARCHIVE, int archive,\n"
" GUESTFS_RSYNC_OUT_DELETEDEST, int deletedest,\n"
"\n"
msgstr ""
" GUESTFS_RSYNC_OUT_ARCHIVE, int archive,\n"
" GUESTFS_RSYNC_OUT_DELETEDEST, int deletedest,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12933
msgid ""
"Globbing does not happen on the C<src> parameter.  In programs which use the "
"API directly you have to expand wildcards yourself (see "
"C<guestfs_glob_expand>).  In guestfish you can use the C<glob> command (see "
"L<guestfish(1)/glob>), for example:"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:12947
msgid "guestfs_rsync_out_va"
msgstr "guestfs_rsync_out_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12949
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync_out_va (guestfs_h *g,\n"
"                       const char *src,\n"
"                       const char *remote,\n"
"                       va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync_out_va (guestfs_h *g,\n"
"                       const char *src,\n"
"                       const char *remote,\n"
"                       va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12955
msgid "This is the \"va_list variant\" of L</guestfs_rsync_out>."
msgstr "This is the \"va_list variant\" of L</guestfs_rsync_out>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12959
msgid "guestfs_rsync_out_argv"
msgstr "guestfs_rsync_out_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12961
#, no-wrap
msgid ""
" int\n"
" guestfs_rsync_out_argv (guestfs_h *g,\n"
"                         const char *src,\n"
"                         const char *remote,\n"
"                         const struct guestfs_rsync_out_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_rsync_out_argv (guestfs_h *g,\n"
"                         const char *src,\n"
"                         const char *remote,\n"
"                         const struct guestfs_rsync_out_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12967
msgid "This is the \"argv variant\" of L</guestfs_rsync_out>."
msgstr "This is the \"argv variant\" of L</guestfs_rsync_out>."

#. type: =head2
#: ../lib/guestfs-actions.pod:12971
msgid "guestfs_scrub_device"
msgstr "guestfs_scrub_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12973
#, no-wrap
msgid ""
" int\n"
" guestfs_scrub_device (guestfs_h *g,\n"
"                       const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_scrub_device (guestfs_h *g,\n"
"                       const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:12985 ../lib/guestfs-actions.pod:13006
#: ../lib/guestfs-actions.pod:13028
msgid ""
"This function depends on the feature C<scrub>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:12988 ../lib/guestfs-actions.pod:13009
#: ../lib/guestfs-actions.pod:13031
msgid "(Added in 1.0.52)"
msgstr "(Added in 1.0.52)"

#. type: =head2
#: ../lib/guestfs-actions.pod:12990
msgid "guestfs_scrub_file"
msgstr "guestfs_scrub_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:12992
#, no-wrap
msgid ""
" int\n"
" guestfs_scrub_file (guestfs_h *g,\n"
"                     const char *file);\n"
"\n"
msgstr ""
" int\n"
" guestfs_scrub_file (guestfs_h *g,\n"
"                     const char *file);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13011
msgid "guestfs_scrub_freespace"
msgstr "guestfs_scrub_freespace"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13013
#, no-wrap
msgid ""
" int\n"
" guestfs_scrub_freespace (guestfs_h *g,\n"
"                          const char *dir);\n"
"\n"
msgstr ""
" int\n"
" guestfs_scrub_freespace (guestfs_h *g,\n"
"                          const char *dir);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13017
msgid ""
"This command creates the directory C<dir> and then fills it with files until "
"the filesystem is full, and scrubs the files as for C<guestfs_scrub_file>, "
"and deletes them.  The intention is to scrub any free space on the partition "
"containing C<dir>."
msgstr ""
"This command creates the directory C<dir> and then fills it with files until "
"the filesystem is full, and scrubs the files as for C<guestfs_scrub_file>, "
"and deletes them.  The intention is to scrub any free space on the partition "
"containing C<dir>."

#. type: =head2
#: ../lib/guestfs-actions.pod:13033
msgid "guestfs_selinux_relabel"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13035
#, no-wrap
msgid ""
" int\n"
" guestfs_selinux_relabel (guestfs_h *g,\n"
"                          const char *specfile,\n"
"                          const char *path,\n"
"                          ...);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13046
#, no-wrap
msgid ""
" GUESTFS_SELINUX_RELABEL_FORCE, int force,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13065
msgid ""
"This function depends on the feature C<selinuxrelabel>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13068
msgid "(Added in 1.33.43)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13070
msgid "guestfs_selinux_relabel_va"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13072
#, no-wrap
msgid ""
" int\n"
" guestfs_selinux_relabel_va (guestfs_h *g,\n"
"                             const char *specfile,\n"
"                             const char *path,\n"
"                             va_list args);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13078
msgid "This is the \"va_list variant\" of L</guestfs_selinux_relabel>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13082
msgid "guestfs_selinux_relabel_argv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13084
#, no-wrap
msgid ""
" int\n"
" guestfs_selinux_relabel_argv (guestfs_h *g,\n"
"                               const char *specfile,\n"
"                               const char *path,\n"
"                               const struct guestfs_selinux_relabel_argv *optargs);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13090
msgid "This is the \"argv variant\" of L</guestfs_selinux_relabel>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13094
msgid "guestfs_set_append"
msgstr "guestfs_set_append"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13096
#, no-wrap
msgid ""
" int\n"
" guestfs_set_append (guestfs_h *g,\n"
"                     const char *append);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_append (guestfs_h *g,\n"
"                     const char *append);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13113
msgid "guestfs_set_attach_method"
msgstr "guestfs_set_attach_method"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13115
#, no-wrap
msgid ""
" int\n"
" guestfs_set_attach_method (guestfs_h *g,\n"
"                            const char *backend);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_attach_method (guestfs_h *g,\n"
"                            const char *backend);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13119
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_set_backend> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_set_backend> "
"call instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:13135
msgid "guestfs_set_autosync"
msgstr "guestfs_set_autosync"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13137
#, no-wrap
msgid ""
" int\n"
" guestfs_set_autosync (guestfs_h *g,\n"
"                       int autosync);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_autosync (guestfs_h *g,\n"
"                       int autosync);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13153
msgid "guestfs_set_backend"
msgstr "guestfs_set_backend"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13155
#, no-wrap
msgid ""
" int\n"
" guestfs_set_backend (guestfs_h *g,\n"
"                      const char *backend);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_backend (guestfs_h *g,\n"
"                      const char *backend);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13170
msgid "guestfs_set_backend_setting"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13172
#, no-wrap
msgid ""
" int\n"
" guestfs_set_backend_setting (guestfs_h *g,\n"
"                              const char *name,\n"
"                              const char *val);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13187
msgid "guestfs_set_backend_settings"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13189
#, no-wrap
msgid ""
" int\n"
" guestfs_set_backend_settings (guestfs_h *g,\n"
"                               char *const *settings);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13203
msgid ""
"This call replaces all backend settings.  If you want to replace a single "
"backend setting, see C<guestfs_set_backend_setting>.  If you want to clear a "
"single backend setting, see C<guestfs_clear_backend_setting>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13214
msgid "guestfs_set_cachedir"
msgstr "guestfs_set_cachedir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13216
#, no-wrap
msgid ""
" int\n"
" guestfs_set_cachedir (guestfs_h *g,\n"
"                       const char *cachedir);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_cachedir (guestfs_h *g,\n"
"                       const char *cachedir);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13234
msgid "guestfs_set_direct"
msgstr "guestfs_set_direct"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13236
#, no-wrap
msgid ""
" int\n"
" guestfs_set_direct (guestfs_h *g,\n"
"                     int direct);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_direct (guestfs_h *g,\n"
"                     int direct);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13251
msgid ""
"One consequence of this is that log messages aren't caught by the library "
"and handled by C<guestfs_set_log_message_callback>, but go straight to "
"stdout."
msgstr ""
"One consequence of this is that log messages aren't caught by the library "
"and handled by C<guestfs_set_log_message_callback>, but go straight to "
"stdout."

#. type: =head2
#: ../lib/guestfs-actions.pod:13264
msgid "guestfs_set_e2attrs"
msgstr "guestfs_set_e2attrs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13266
#, no-wrap
msgid ""
" int\n"
" guestfs_set_e2attrs (guestfs_h *g,\n"
"                      const char *file,\n"
"                      const char *attrs,\n"
"                      ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_e2attrs (guestfs_h *g,\n"
"                      const char *file,\n"
"                      const char *attrs,\n"
"                      ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13277
#, no-wrap
msgid ""
" GUESTFS_SET_E2ATTRS_CLEAR, int clear,\n"
"\n"
msgstr ""
" GUESTFS_SET_E2ATTRS_CLEAR, int clear,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13282
msgid ""
"C<attrs> is a string of characters representing file attributes.  See "
"C<guestfs_get_e2attrs> for a list of possible attributes.  Not all "
"attributes can be changed."
msgstr ""
"C<attrs> is a string of characters representing file attributes.  See "
"C<guestfs_get_e2attrs> for a list of possible attributes.  Not all "
"attributes can be changed."

#. type: =head2
#: ../lib/guestfs-actions.pod:13303
msgid "guestfs_set_e2attrs_va"
msgstr "guestfs_set_e2attrs_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13305
#, no-wrap
msgid ""
" int\n"
" guestfs_set_e2attrs_va (guestfs_h *g,\n"
"                         const char *file,\n"
"                         const char *attrs,\n"
"                         va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_e2attrs_va (guestfs_h *g,\n"
"                         const char *file,\n"
"                         const char *attrs,\n"
"                         va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13311
msgid "This is the \"va_list variant\" of L</guestfs_set_e2attrs>."
msgstr "This is the \"va_list variant\" of L</guestfs_set_e2attrs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:13315
msgid "guestfs_set_e2attrs_argv"
msgstr "guestfs_set_e2attrs_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13317
#, no-wrap
msgid ""
" int\n"
" guestfs_set_e2attrs_argv (guestfs_h *g,\n"
"                           const char *file,\n"
"                           const char *attrs,\n"
"                           const struct guestfs_set_e2attrs_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_e2attrs_argv (guestfs_h *g,\n"
"                           const char *file,\n"
"                           const char *attrs,\n"
"                           const struct guestfs_set_e2attrs_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13323
msgid "This is the \"argv variant\" of L</guestfs_set_e2attrs>."
msgstr "This is the \"argv variant\" of L</guestfs_set_e2attrs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:13327
msgid "guestfs_set_e2generation"
msgstr "guestfs_set_e2generation"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13329
#, no-wrap
msgid ""
" int\n"
" guestfs_set_e2generation (guestfs_h *g,\n"
"                           const char *file,\n"
"                           int64_t generation);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_e2generation (guestfs_h *g,\n"
"                           const char *file,\n"
"                           int64_t generation);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13336
msgid "See C<guestfs_get_e2generation>."
msgstr "See C<guestfs_get_e2generation>."

#. type: =head2
#: ../lib/guestfs-actions.pod:13342
msgid "guestfs_set_e2label"
msgstr "guestfs_set_e2label"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13344
#, no-wrap
msgid ""
" int\n"
" guestfs_set_e2label (guestfs_h *g,\n"
"                      const char *device,\n"
"                      const char *label);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_e2label (guestfs_h *g,\n"
"                      const char *device,\n"
"                      const char *label);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13349
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_set_label> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_set_label> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:13360
msgid ""
"You can use either C<guestfs_tune2fs_l> or C<guestfs_get_e2label> to return "
"the existing label on a filesystem."
msgstr ""
"You can use either C<guestfs_tune2fs_l> or C<guestfs_get_e2label> to return "
"the existing label on a filesystem."

#. type: =head2
#: ../lib/guestfs-actions.pod:13367
msgid "guestfs_set_e2uuid"
msgstr "guestfs_set_e2uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13369
#, no-wrap
msgid ""
" int\n"
" guestfs_set_e2uuid (guestfs_h *g,\n"
"                     const char *device,\n"
"                     const char *uuid);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_e2uuid (guestfs_h *g,\n"
"                     const char *device,\n"
"                     const char *uuid);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13374
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_set_uuid> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_set_uuid> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:13386
msgid ""
"You can use C<guestfs_vfs_uuid> to return the existing UUID of a filesystem."
msgstr ""
"You can use C<guestfs_vfs_uuid> to return the existing UUID of a filesystem."

#. type: =head2
#: ../lib/guestfs-actions.pod:13393
msgid "guestfs_set_hv"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13395
#, no-wrap
msgid ""
" int\n"
" guestfs_set_hv (guestfs_h *g,\n"
"                 const char *hv);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13422
msgid "guestfs_set_identifier"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13424
#, no-wrap
msgid ""
" int\n"
" guestfs_set_identifier (guestfs_h *g,\n"
"                         const char *identifier);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13449
msgid ""
"See also C<guestfs_set_program>, C<guestfs_set_trace>, "
"C<guestfs_get_identifier>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13456
msgid "guestfs_set_label"
msgstr "guestfs_set_label"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13458
#, no-wrap
msgid ""
" int\n"
" guestfs_set_label (guestfs_h *g,\n"
"                    const char *mountable,\n"
"                    const char *label);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_label (guestfs_h *g,\n"
"                    const char *mountable,\n"
"                    const char *label);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13504
msgid "To read the label on a filesystem, call C<guestfs_vfs_label>."
msgstr "To read the label on a filesystem, call C<guestfs_vfs_label>."

#. type: =head2
#: ../lib/guestfs-actions.pod:13510
msgid "guestfs_set_libvirt_requested_credential"
msgstr "guestfs_set_libvirt_requested_credential"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13512
#, no-wrap
msgid ""
" int\n"
" guestfs_set_libvirt_requested_credential (guestfs_h *g,\n"
"                                           int index,\n"
"                                           const char *cred,\n"
"                                           size_t cred_size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_libvirt_requested_credential (guestfs_h *g,\n"
"                                           int index,\n"
"                                           const char *cred,\n"
"                                           size_t cred_size);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13527
msgid "guestfs_set_libvirt_supported_credentials"
msgstr "guestfs_set_libvirt_supported_credentials"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13529
#, no-wrap
msgid ""
" int\n"
" guestfs_set_libvirt_supported_credentials (guestfs_h *g,\n"
"                                            char *const *creds);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_libvirt_supported_credentials (guestfs_h *g,\n"
"                                            char *const *creds);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13570
msgid "guestfs_set_memsize"
msgstr "guestfs_set_memsize"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13572
#, no-wrap
msgid ""
" int\n"
" guestfs_set_memsize (guestfs_h *g,\n"
"                      int memsize);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_memsize (guestfs_h *g,\n"
"                      int memsize);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13576
msgid ""
"This sets the memory size in megabytes allocated to the hypervisor.  This "
"only has any effect if called before C<guestfs_launch>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13591
msgid "guestfs_set_network"
msgstr "guestfs_set_network"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13593
#, no-wrap
msgid ""
" int\n"
" guestfs_set_network (guestfs_h *g,\n"
"                      int network);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_network (guestfs_h *g,\n"
"                      int network);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13603
msgid ""
"You must call this before calling C<guestfs_launch>, otherwise it has no "
"effect."
msgstr ""
"You must call this before calling C<guestfs_launch>, otherwise it has no "
"effect."

#. type: =head2
#: ../lib/guestfs-actions.pod:13610
msgid "guestfs_set_path"
msgstr "guestfs_set_path"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13612
#, no-wrap
msgid ""
" int\n"
" guestfs_set_path (guestfs_h *g,\n"
"                   const char *searchpath);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_path (guestfs_h *g,\n"
"                   const char *searchpath);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13627
msgid "guestfs_set_pgroup"
msgstr "guestfs_set_pgroup"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13629
#, no-wrap
msgid ""
" int\n"
" guestfs_set_pgroup (guestfs_h *g,\n"
"                     int pgroup);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_pgroup (guestfs_h *g,\n"
"                     int pgroup);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13639
msgid ""
"The default for this flag is false, because usually you want C<^C> to kill "
"the subprocess.  Guestfish sets this flag to true when used interactively, "
"so that C<^C> can cancel long-running commands gracefully (see "
"C<guestfs_user_cancel>)."
msgstr ""
"The default for this flag is false, because usually you want C<^C> to kill "
"the subprocess.  Guestfish sets this flag to true when used interactively, "
"so that C<^C> can cancel long-running commands gracefully (see "
"C<guestfs_user_cancel>)."

#. type: =head2
#: ../lib/guestfs-actions.pod:13648
msgid "guestfs_set_program"
msgstr "guestfs_set_program"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13650
#, no-wrap
msgid ""
" int\n"
" guestfs_set_program (guestfs_h *g,\n"
"                      const char *program);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_program (guestfs_h *g,\n"
"                      const char *program);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13665
msgid "guestfs_set_qemu"
msgstr "guestfs_set_qemu"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13667
#, no-wrap
msgid ""
" int\n"
" guestfs_set_qemu (guestfs_h *g,\n"
"                   const char *hv);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13671
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_set_hv> call "
"instead."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13700
msgid "guestfs_set_recovery_proc"
msgstr "guestfs_set_recovery_proc"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13702
#, no-wrap
msgid ""
" int\n"
" guestfs_set_recovery_proc (guestfs_h *g,\n"
"                            int recoveryproc);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_recovery_proc (guestfs_h *g,\n"
"                            int recoveryproc);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13706
msgid ""
"If this is called with the parameter C<false> then C<guestfs_launch> does "
"not create a recovery process.  The purpose of the recovery process is to "
"stop runaway hypervisor processes in the case where the main program aborts "
"abruptly."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13711
msgid ""
"This only has any effect if called before C<guestfs_launch>, and the default "
"is true."
msgstr ""
"This only has any effect if called before C<guestfs_launch>, and the default "
"is true."

#. type: =head2
#: ../lib/guestfs-actions.pod:13724
msgid "guestfs_set_selinux"
msgstr "guestfs_set_selinux"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13726
#, no-wrap
msgid ""
" int\n"
" guestfs_set_selinux (guestfs_h *g,\n"
"                      int selinux);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_selinux (guestfs_h *g,\n"
"                      int selinux);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13750
msgid "guestfs_set_smp"
msgstr "guestfs_set_smp"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13752
#, no-wrap
msgid ""
" int\n"
" guestfs_set_smp (guestfs_h *g,\n"
"                  int smp);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_smp (guestfs_h *g,\n"
"                  int smp);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13760
msgid "This function must be called before C<guestfs_launch>."
msgstr "This function must be called before C<guestfs_launch>."

#. type: =head2
#: ../lib/guestfs-actions.pod:13766
msgid "guestfs_set_tmpdir"
msgstr "guestfs_set_tmpdir"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13768
#, no-wrap
msgid ""
" int\n"
" guestfs_set_tmpdir (guestfs_h *g,\n"
"                     const char *tmpdir);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_tmpdir (guestfs_h *g,\n"
"                     const char *tmpdir);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13783
msgid "guestfs_set_trace"
msgstr "guestfs_set_trace"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13785
#, no-wrap
msgid ""
" int\n"
" guestfs_set_trace (guestfs_h *g,\n"
"                    int trace);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_trace (guestfs_h *g,\n"
"                    int trace);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13799
msgid ""
"Trace messages are normally sent to C<stderr>, unless you register a "
"callback to send them somewhere else (see C<guestfs_set_event_callback>)."
msgstr ""
"Trace messages are normally sent to C<stderr>, unless you register a "
"callback to send them somewhere else (see C<guestfs_set_event_callback>)."

#. type: =head2
#: ../lib/guestfs-actions.pod:13807
msgid "guestfs_set_uuid"
msgstr "guestfs_set_uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13809
#, no-wrap
msgid ""
" int\n"
" guestfs_set_uuid (guestfs_h *g,\n"
"                   const char *device,\n"
"                   const char *uuid);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_uuid (guestfs_h *g,\n"
"                   const char *device,\n"
"                   const char *uuid);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13821 ../lib/guestfs-actions.pod:13840
msgid "To read the UUID on a filesystem, call C<guestfs_vfs_uuid>."
msgstr "To read the UUID on a filesystem, call C<guestfs_vfs_uuid>."

#. type: =head2
#: ../lib/guestfs-actions.pod:13827
msgid "guestfs_set_uuid_random"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:13829
#, no-wrap
msgid ""
" int\n"
" guestfs_set_uuid_random (guestfs_h *g,\n"
"                          const char *device);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:13844
msgid "(Added in 1.29.50)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:13846
msgid "guestfs_set_verbose"
msgstr "guestfs_set_verbose"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13848
#, no-wrap
msgid ""
" int\n"
" guestfs_set_verbose (guestfs_h *g,\n"
"                      int verbose);\n"
"\n"
msgstr ""
" int\n"
" guestfs_set_verbose (guestfs_h *g,\n"
"                      int verbose);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13857
msgid ""
"Verbose messages are normally sent to C<stderr>, unless you register a "
"callback to send them somewhere else (see C<guestfs_set_event_callback>)."
msgstr ""
"Verbose messages are normally sent to C<stderr>, unless you register a "
"callback to send them somewhere else (see C<guestfs_set_event_callback>)."

#. type: =head2
#: ../lib/guestfs-actions.pod:13865
msgid "guestfs_setcon"
msgstr "guestfs_setcon"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13867
#, no-wrap
msgid ""
" int\n"
" guestfs_setcon (guestfs_h *g,\n"
"                 const char *context);\n"
"\n"
msgstr ""
" int\n"
" guestfs_setcon (guestfs_h *g,\n"
"                 const char *context);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:13890
msgid "guestfs_setxattr"
msgstr "guestfs_setxattr"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13892
#, no-wrap
msgid ""
" int\n"
" guestfs_setxattr (guestfs_h *g,\n"
"                   const char *xattr,\n"
"                   const char *val,\n"
"                   int vallen,\n"
"                   const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_setxattr (guestfs_h *g,\n"
"                   const char *xattr,\n"
"                   const char *val,\n"
"                   int vallen,\n"
"                   const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13903
msgid "See also: C<guestfs_lsetxattr>, L<attr(5)>."
msgstr "See also: C<guestfs_lsetxattr>, L<attr(5)>."

#. type: =head2
#: ../lib/guestfs-actions.pod:13912
msgid "guestfs_sfdisk"
msgstr "guestfs_sfdisk"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13914
#, no-wrap
msgid ""
" int\n"
" guestfs_sfdisk (guestfs_h *g,\n"
"                 const char *device,\n"
"                 int cyls,\n"
"                 int heads,\n"
"                 int sectors,\n"
"                 char *const *lines);\n"
"\n"
msgstr ""
" int\n"
" guestfs_sfdisk (guestfs_h *g,\n"
"                 const char *device,\n"
"                 int cyls,\n"
"                 int heads,\n"
"                 int sectors,\n"
"                 char *const *lines);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13922 ../lib/guestfs-actions.pod:13963
#: ../lib/guestfs-actions.pod:13994
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_part_add> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_part_add> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:13949
msgid ""
"See also: C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>"
msgstr ""
"See also: C<guestfs_sfdisk_l>, C<guestfs_sfdisk_N>, C<guestfs_part_init>"

#. type: =head2
#: ../lib/guestfs-actions.pod:13956
msgid "guestfs_sfdiskM"
msgstr "guestfs_sfdiskM"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13958
#, no-wrap
msgid ""
" int\n"
" guestfs_sfdiskM (guestfs_h *g,\n"
"                  const char *device,\n"
"                  char *const *lines);\n"
"\n"
msgstr ""
" int\n"
" guestfs_sfdiskM (guestfs_h *g,\n"
"                  const char *device,\n"
"                  char *const *lines);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:13970
msgid ""
"This is a simplified interface to the C<guestfs_sfdisk> command, where "
"partition sizes are specified in megabytes only (rounded to the nearest "
"cylinder) and you don't need to specify the cyls, heads and sectors "
"parameters which were rarely if ever used anyway."
msgstr ""
"This is a simplified interface to the C<guestfs_sfdisk> command, where "
"partition sizes are specified in megabytes only (rounded to the nearest "
"cylinder) and you don't need to specify the cyls, heads and sectors "
"parameters which were rarely if ever used anyway."

#. type: textblock
#: ../lib/guestfs-actions.pod:13976
msgid ""
"See also: C<guestfs_sfdisk>, the L<sfdisk(8)> manpage and "
"C<guestfs_part_disk>"
msgstr ""
"See also: C<guestfs_sfdisk>, the L<sfdisk(8)> manpage and "
"C<guestfs_part_disk>"

#. type: =head2
#: ../lib/guestfs-actions.pod:13983
msgid "guestfs_sfdisk_N"
msgstr "guestfs_sfdisk_N"

#. type: verbatim
#: ../lib/guestfs-actions.pod:13985
#, no-wrap
msgid ""
" int\n"
" guestfs_sfdisk_N (guestfs_h *g,\n"
"                   const char *device,\n"
"                   int partnum,\n"
"                   int cyls,\n"
"                   int heads,\n"
"                   int sectors,\n"
"                   const char *line);\n"
"\n"
msgstr ""
" int\n"
" guestfs_sfdisk_N (guestfs_h *g,\n"
"                   const char *device,\n"
"                   int partnum,\n"
"                   int cyls,\n"
"                   int heads,\n"
"                   int sectors,\n"
"                   const char *line);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14004
msgid ""
"For other parameters, see C<guestfs_sfdisk>.  You should usually pass C<0> "
"for the cyls/heads/sectors parameters."
msgstr ""
"For other parameters, see C<guestfs_sfdisk>.  You should usually pass C<0> "
"for the cyls/heads/sectors parameters."

#. type: textblock
#: ../lib/guestfs-actions.pod:14007
msgid "See also: C<guestfs_part_add>"
msgstr "See also: C<guestfs_part_add>"

#. type: =head2
#: ../lib/guestfs-actions.pod:14013
msgid "guestfs_sfdisk_disk_geometry"
msgstr "guestfs_sfdisk_disk_geometry"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14015
#, no-wrap
msgid ""
" char *\n"
" guestfs_sfdisk_disk_geometry (guestfs_h *g,\n"
"                               const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_sfdisk_disk_geometry (guestfs_h *g,\n"
"                               const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14019
msgid ""
"This displays the disk geometry of C<device> read from the partition table.  "
"Especially in the case where the underlying block device has been resized, "
"this can be different from the kernel’s idea of the geometry (see "
"C<guestfs_sfdisk_kernel_geometry>)."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:14032
msgid "guestfs_sfdisk_kernel_geometry"
msgstr "guestfs_sfdisk_kernel_geometry"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14034
#, no-wrap
msgid ""
" char *\n"
" guestfs_sfdisk_kernel_geometry (guestfs_h *g,\n"
"                                 const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_sfdisk_kernel_geometry (guestfs_h *g,\n"
"                                 const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14048
msgid "guestfs_sfdisk_l"
msgstr "guestfs_sfdisk_l"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14050
#, no-wrap
msgid ""
" char *\n"
" guestfs_sfdisk_l (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_sfdisk_l (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14054
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_part_list> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_part_list> "
"call instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:14065
msgid "See also: C<guestfs_part_list>"
msgstr "See also: C<guestfs_part_list>"

#. type: =head2
#: ../lib/guestfs-actions.pod:14072
msgid "guestfs_sh"
msgstr "guestfs_sh"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14074
#, no-wrap
msgid ""
" char *\n"
" guestfs_sh (guestfs_h *g,\n"
"             const char *command);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_sh (guestfs_h *g,\n"
"             const char *command);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14081
msgid "This is like C<guestfs_command>, but passes the command to:"
msgstr "This is like C<guestfs_command>, but passes the command to:"

#. type: textblock
#: ../lib/guestfs-actions.pod:14089
msgid "All the provisos about C<guestfs_command> apply to this call."
msgstr "All the provisos about C<guestfs_command> apply to this call."

#. type: =head2
#: ../lib/guestfs-actions.pod:14096
msgid "guestfs_sh_lines"
msgstr "guestfs_sh_lines"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14098
#, no-wrap
msgid ""
" char **\n"
" guestfs_sh_lines (guestfs_h *g,\n"
"                   const char *command);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_sh_lines (guestfs_h *g,\n"
"                   const char *command);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14102
msgid ""
"This is the same as C<guestfs_sh>, but splits the result into a list of "
"lines."
msgstr ""
"This is the same as C<guestfs_sh>, but splits the result into a list of "
"lines."

#. type: textblock
#: ../lib/guestfs-actions.pod:14105
msgid "See also: C<guestfs_command_lines>"
msgstr "See also: C<guestfs_command_lines>"

#. type: =head2
#: ../lib/guestfs-actions.pod:14113
msgid "guestfs_shutdown"
msgstr "guestfs_shutdown"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14115
#, no-wrap
msgid ""
" int\n"
" guestfs_shutdown (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_shutdown (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14118
msgid ""
"This is the opposite of C<guestfs_launch>.  It performs an orderly shutdown "
"of the backend process(es).  If the autosync flag is set (which is the "
"default) then the disk image is synchronized."
msgstr ""
"This is the opposite of C<guestfs_launch>.  It performs an orderly shutdown "
"of the backend process(es).  If the autosync flag is set (which is the "
"default) then the disk image is synchronised."

#. type: textblock
#: ../lib/guestfs-actions.pod:14128
msgid ""
"This call does I<not> close or free up the handle.  You still need to call "
"C<guestfs_close> afterwards."
msgstr ""
"This call does I<not> close or free up the handle.  You still need to call "
"C<guestfs_close> afterwards."

#. type: textblock
#: ../lib/guestfs-actions.pod:14131
msgid ""
"C<guestfs_close> will call this if you don't do it explicitly, but note that "
"any errors are ignored in that case."
msgstr ""
"C<guestfs_close> will call this if you don't do it explicitly, but note that "
"any errors are ignored in that case."

#. type: textblock
#: ../lib/guestfs-actions.pod:14136
msgid "(Added in 1.19.16)"
msgstr "(Added in 1.19.16)"

#. type: =head2
#: ../lib/guestfs-actions.pod:14138
msgid "guestfs_sleep"
msgstr "guestfs_sleep"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14140
#, no-wrap
msgid ""
" int\n"
" guestfs_sleep (guestfs_h *g,\n"
"                int secs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_sleep (guestfs_h *g,\n"
"                int secs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14148
msgid "(Added in 1.0.41)"
msgstr "(Added in 1.0.41)"

#. type: =head2
#: ../lib/guestfs-actions.pod:14150 ../lib/guestfs-structs.pod:159
msgid "guestfs_stat"
msgstr "guestfs_stat"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14152
#, no-wrap
msgid ""
" struct guestfs_stat *\n"
" guestfs_stat (guestfs_h *g,\n"
"               const char *path);\n"
"\n"
msgstr ""
" struct guestfs_stat *\n"
" guestfs_stat (guestfs_h *g,\n"
"               const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14156
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_statns> call "
"instead."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:14173 ../lib/guestfs-structs.pod:191
msgid "guestfs_statns"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:14175
#, no-wrap
msgid ""
" struct guestfs_statns *\n"
" guestfs_statns (guestfs_h *g,\n"
"                 const char *path);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:14189 ../lib/guestfs-structs.pod:232
msgid "guestfs_statvfs"
msgstr "guestfs_statvfs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14191
#, no-wrap
msgid ""
" struct guestfs_statvfs *\n"
" guestfs_statvfs (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" struct guestfs_statvfs *\n"
" guestfs_statvfs (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14201
msgid ""
"This function returns a C<struct guestfs_statvfs *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_statvfs> after use>."
msgstr ""
"This function returns a C<struct guestfs_statvfs *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_statvfs> after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14207
msgid "guestfs_strings"
msgstr "guestfs_strings"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14209
#, no-wrap
msgid ""
" char **\n"
" guestfs_strings (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_strings (guestfs_h *g,\n"
"                  const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14229
msgid "guestfs_strings_e"
msgstr "guestfs_strings_e"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14231
#, no-wrap
msgid ""
" char **\n"
" guestfs_strings_e (guestfs_h *g,\n"
"                    const char *encoding,\n"
"                    const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_strings_e (guestfs_h *g,\n"
"                    const char *encoding,\n"
"                    const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14236
msgid ""
"This is like the C<guestfs_strings> command, but allows you to specify the "
"encoding of strings that are looked for in the source file C<path>."
msgstr ""
"This is like the C<guestfs_strings> command, but allows you to specify the "
"encoding of strings that are looked for in the source file C<path>."

#. type: textblock
#: ../lib/guestfs-actions.pod:14246
msgid ""
"Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of "
"ISO-8859-X (this is what C<guestfs_strings> uses)."
msgstr ""
"Single 7-bit-byte characters like ASCII and the ASCII-compatible parts of "
"ISO-8859-X (this is what C<guestfs_strings> uses)."

#. type: =head2
#: ../lib/guestfs-actions.pod:14288
msgid "guestfs_swapoff_device"
msgstr "guestfs_swapoff_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14290
#, no-wrap
msgid ""
" int\n"
" guestfs_swapoff_device (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_swapoff_device (guestfs_h *g,\n"
"                         const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14294
msgid ""
"This command disables the libguestfs appliance swap device or partition "
"named C<device>.  See C<guestfs_swapon_device>."
msgstr ""
"This command disables the libguestfs appliance swap device or partition "
"named C<device>.  See C<guestfs_swapon_device>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14302
msgid "guestfs_swapoff_file"
msgstr "guestfs_swapoff_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14304
#, no-wrap
msgid ""
" int\n"
" guestfs_swapoff_file (guestfs_h *g,\n"
"                       const char *file);\n"
"\n"
msgstr ""
" int\n"
" guestfs_swapoff_file (guestfs_h *g,\n"
"                       const char *file);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14314
msgid "guestfs_swapoff_label"
msgstr "guestfs_swapoff_label"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14316
#, no-wrap
msgid ""
" int\n"
" guestfs_swapoff_label (guestfs_h *g,\n"
"                        const char *label);\n"
"\n"
msgstr ""
" int\n"
" guestfs_swapoff_label (guestfs_h *g,\n"
"                        const char *label);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14327
msgid "guestfs_swapoff_uuid"
msgstr "guestfs_swapoff_uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14329
#, no-wrap
msgid ""
" int\n"
" guestfs_swapoff_uuid (guestfs_h *g,\n"
"                       const char *uuid);\n"
"\n"
msgstr ""
" int\n"
" guestfs_swapoff_uuid (guestfs_h *g,\n"
"                       const char *uuid);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14343
msgid "guestfs_swapon_device"
msgstr "guestfs_swapon_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14345
#, no-wrap
msgid ""
" int\n"
" guestfs_swapon_device (guestfs_h *g,\n"
"                        const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_swapon_device (guestfs_h *g,\n"
"                        const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14349
msgid ""
"This command enables the libguestfs appliance to use the swap device or "
"partition named C<device>.  The increased memory is made available for all "
"commands, for example those run using C<guestfs_command> or C<guestfs_sh>."
msgstr ""
"This command enables the libguestfs appliance to use the swap device or "
"partition named C<device>.  The increased memory is made available for all "
"commands, for example those run using C<guestfs_command> or C<guestfs_sh>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14365
msgid "guestfs_swapon_file"
msgstr "guestfs_swapon_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14367
#, no-wrap
msgid ""
" int\n"
" guestfs_swapon_file (guestfs_h *g,\n"
"                      const char *file);\n"
"\n"
msgstr ""
" int\n"
" guestfs_swapon_file (guestfs_h *g,\n"
"                      const char *file);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14371
msgid ""
"This command enables swap to a file.  See C<guestfs_swapon_device> for other "
"notes."
msgstr ""
"This command enables swap to a file.  See C<guestfs_swapon_device> for other "
"notes."

#. type: =head2
#: ../lib/guestfs-actions.pod:14378
msgid "guestfs_swapon_label"
msgstr "guestfs_swapon_label"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14380
#, no-wrap
msgid ""
" int\n"
" guestfs_swapon_label (guestfs_h *g,\n"
"                       const char *label);\n"
"\n"
msgstr ""
" int\n"
" guestfs_swapon_label (guestfs_h *g,\n"
"                       const char *label);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14384
msgid ""
"This command enables swap to a labeled swap partition.  See "
"C<guestfs_swapon_device> for other notes."
msgstr ""
"This command enables swap to a labelled swap partition.  See "
"C<guestfs_swapon_device> for other notes."

#. type: =head2
#: ../lib/guestfs-actions.pod:14391
msgid "guestfs_swapon_uuid"
msgstr "guestfs_swapon_uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14393
#, no-wrap
msgid ""
" int\n"
" guestfs_swapon_uuid (guestfs_h *g,\n"
"                      const char *uuid);\n"
"\n"
msgstr ""
" int\n"
" guestfs_swapon_uuid (guestfs_h *g,\n"
"                      const char *uuid);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14397
msgid ""
"This command enables swap to a swap partition with the given UUID.  See "
"C<guestfs_swapon_device> for other notes."
msgstr ""
"This command enables swap to a swap partition with the given UUID.  See "
"C<guestfs_swapon_device> for other notes."

#. type: =head2
#: ../lib/guestfs-actions.pod:14407
msgid "guestfs_sync"
msgstr "guestfs_sync"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14409
#, no-wrap
msgid ""
" int\n"
" guestfs_sync (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_sync (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14422
msgid "guestfs_syslinux"
msgstr "guestfs_syslinux"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14424
#, no-wrap
msgid ""
" int\n"
" guestfs_syslinux (guestfs_h *g,\n"
"                   const char *device,\n"
"                   ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_syslinux (guestfs_h *g,\n"
"                   const char *device,\n"
"                   ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14434
#, no-wrap
msgid ""
" GUESTFS_SYSLINUX_DIRECTORY, const char *directory,\n"
"\n"
msgstr ""
" GUESTFS_SYSLINUX_DIRECTORY, const char *directory,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14438
msgid ""
"The device parameter must be either a whole disk formatted as a FAT "
"filesystem, or a partition formatted as a FAT filesystem.  In the latter "
"case, the partition should be marked as \"active"
"\" (C<guestfs_part_set_bootable>) and a Master Boot Record must be installed "
"(eg. using C<guestfs_pwrite_device>) on the first sector of the whole disk.  "
"The SYSLINUX package comes with some suitable Master Boot Records.  See the "
"L<syslinux(1)> man page for further information."
msgstr ""
"The device parameter must be either a whole disk formatted as a FAT "
"filesystem, or a partition formatted as a FAT filesystem.  In the latter "
"case, the partition should be marked as \"active"
"\" (C<guestfs_part_set_bootable>) and a Master Boot Record must be installed "
"(eg. using C<guestfs_pwrite_device>) on the first sector of the whole disk.  "
"The SYSLINUX package comes with some suitable Master Boot Records.  See the "
"L<syslinux(1)> man page for further information."

#. type: textblock
#: ../lib/guestfs-actions.pod:14464
msgid "See also C<guestfs_extlinux>."
msgstr "See also C<guestfs_extlinux>."

#. type: textblock
#: ../lib/guestfs-actions.pod:14468
msgid ""
"This function depends on the feature C<syslinux>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:14473
msgid "guestfs_syslinux_va"
msgstr "guestfs_syslinux_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14475
#, no-wrap
msgid ""
" int\n"
" guestfs_syslinux_va (guestfs_h *g,\n"
"                      const char *device,\n"
"                      va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_syslinux_va (guestfs_h *g,\n"
"                      const char *device,\n"
"                      va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14480
msgid "This is the \"va_list variant\" of L</guestfs_syslinux>."
msgstr "This is the \"va_list variant\" of L</guestfs_syslinux>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14484
msgid "guestfs_syslinux_argv"
msgstr "guestfs_syslinux_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14486
#, no-wrap
msgid ""
" int\n"
" guestfs_syslinux_argv (guestfs_h *g,\n"
"                        const char *device,\n"
"                        const struct guestfs_syslinux_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_syslinux_argv (guestfs_h *g,\n"
"                        const char *device,\n"
"                        const struct guestfs_syslinux_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14491
msgid "This is the \"argv variant\" of L</guestfs_syslinux>."
msgstr "This is the \"argv variant\" of L</guestfs_syslinux>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14495
msgid "guestfs_tail"
msgstr "guestfs_tail"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14497
#, no-wrap
msgid ""
" char **\n"
" guestfs_tail (guestfs_h *g,\n"
"               const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_tail (guestfs_h *g,\n"
"               const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14513
msgid "guestfs_tail_n"
msgstr "guestfs_tail_n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14515
#, no-wrap
msgid ""
" char **\n"
" guestfs_tail_n (guestfs_h *g,\n"
"                 int nrlines,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_tail_n (guestfs_h *g,\n"
"                 int nrlines,\n"
"                 const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14537
msgid "guestfs_tar_in"
msgstr "guestfs_tar_in"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14539
#, no-wrap
msgid ""
" int\n"
" guestfs_tar_in (guestfs_h *g,\n"
"                 const char *tarfile,\n"
"                 const char *directory);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tar_in (guestfs_h *g,\n"
"                 const char *tarfile,\n"
"                 const char *directory);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14544
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_tar_in_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_tar_in_opts> with no optional "
"arguments."

#. type: textblock
#: ../lib/guestfs-actions.pod:14548 ../lib/guestfs-actions.pod:14598
#: ../lib/guestfs-actions.pod:14635 ../lib/guestfs-actions.pod:14698
#: ../lib/guestfs-actions.pod:14743 ../lib/guestfs-actions.pod:14764
msgid "(Added in 1.0.3)"
msgstr "(Added in 1.0.3)"

#. type: =head2
#: ../lib/guestfs-actions.pod:14551
msgid "guestfs_tar_in_opts"
msgstr "guestfs_tar_in_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14553
#, no-wrap
msgid ""
" int\n"
" guestfs_tar_in_opts (guestfs_h *g,\n"
"                      const char *tarfile,\n"
"                      const char *directory,\n"
"                      ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tar_in_opts (guestfs_h *g,\n"
"                      const char *tarfile,\n"
"                      const char *directory,\n"
"                      ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14564
#, no-wrap
msgid ""
" GUESTFS_TAR_IN_OPTS_COMPRESS, const char *compress,\n"
" GUESTFS_TAR_IN_OPTS_XATTRS, int xattrs,\n"
" GUESTFS_TAR_IN_OPTS_SELINUX, int selinux,\n"
" GUESTFS_TAR_IN_OPTS_ACLS, int acls,\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:14600
msgid "guestfs_tar_in_opts_va"
msgstr "guestfs_tar_in_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14602
#, no-wrap
msgid ""
" int\n"
" guestfs_tar_in_opts_va (guestfs_h *g,\n"
"                         const char *tarfile,\n"
"                         const char *directory,\n"
"                         va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tar_in_opts_va (guestfs_h *g,\n"
"                         const char *tarfile,\n"
"                         const char *directory,\n"
"                         va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14608
msgid "This is the \"va_list variant\" of L</guestfs_tar_in_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_tar_in_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14612
msgid "guestfs_tar_in_opts_argv"
msgstr "guestfs_tar_in_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14614
#, no-wrap
msgid ""
" int\n"
" guestfs_tar_in_opts_argv (guestfs_h *g,\n"
"                           const char *tarfile,\n"
"                           const char *directory,\n"
"                           const struct guestfs_tar_in_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tar_in_opts_argv (guestfs_h *g,\n"
"                           const char *tarfile,\n"
"                           const char *directory,\n"
"                           const struct guestfs_tar_in_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14620
msgid "This is the \"argv variant\" of L</guestfs_tar_in_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_tar_in_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14624
msgid "guestfs_tar_out"
msgstr "guestfs_tar_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14626
#, no-wrap
msgid ""
" int\n"
" guestfs_tar_out (guestfs_h *g,\n"
"                  const char *directory,\n"
"                  const char *tarfile);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tar_out (guestfs_h *g,\n"
"                  const char *directory,\n"
"                  const char *tarfile);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14631
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_tar_out_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_tar_out_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:14638
msgid "guestfs_tar_out_opts"
msgstr "guestfs_tar_out_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14640
#, no-wrap
msgid ""
" int\n"
" guestfs_tar_out_opts (guestfs_h *g,\n"
"                       const char *directory,\n"
"                       const char *tarfile,\n"
"                       ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tar_out_opts (guestfs_h *g,\n"
"                       const char *directory,\n"
"                       const char *tarfile,\n"
"                       ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14651
#, no-wrap
msgid ""
" GUESTFS_TAR_OUT_OPTS_COMPRESS, const char *compress,\n"
" GUESTFS_TAR_OUT_OPTS_NUMERICOWNER, int numericowner,\n"
" GUESTFS_TAR_OUT_OPTS_EXCLUDES, char *const *excludes,\n"
" GUESTFS_TAR_OUT_OPTS_XATTRS, int xattrs,\n"
" GUESTFS_TAR_OUT_OPTS_SELINUX, int selinux,\n"
" GUESTFS_TAR_OUT_OPTS_ACLS, int acls,\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:14700
msgid "guestfs_tar_out_opts_va"
msgstr "guestfs_tar_out_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14702
#, no-wrap
msgid ""
" int\n"
" guestfs_tar_out_opts_va (guestfs_h *g,\n"
"                          const char *directory,\n"
"                          const char *tarfile,\n"
"                          va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tar_out_opts_va (guestfs_h *g,\n"
"                          const char *directory,\n"
"                          const char *tarfile,\n"
"                          va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14708
msgid "This is the \"va_list variant\" of L</guestfs_tar_out_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_tar_out_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14712
msgid "guestfs_tar_out_opts_argv"
msgstr "guestfs_tar_out_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14714
#, no-wrap
msgid ""
" int\n"
" guestfs_tar_out_opts_argv (guestfs_h *g,\n"
"                            const char *directory,\n"
"                            const char *tarfile,\n"
"                            const struct guestfs_tar_out_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tar_out_opts_argv (guestfs_h *g,\n"
"                            const char *directory,\n"
"                            const char *tarfile,\n"
"                            const struct guestfs_tar_out_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14720
msgid "This is the \"argv variant\" of L</guestfs_tar_out_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_tar_out_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14724
msgid "guestfs_tgz_in"
msgstr "guestfs_tgz_in"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14726
#, no-wrap
msgid ""
" int\n"
" guestfs_tgz_in (guestfs_h *g,\n"
"                 const char *tarball,\n"
"                 const char *directory);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tgz_in (guestfs_h *g,\n"
"                 const char *tarball,\n"
"                 const char *directory);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14731 ../lib/guestfs-actions.pod:14967
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_tar_in> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_tar_in> call "
"instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:14745
msgid "guestfs_tgz_out"
msgstr "guestfs_tgz_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14747
#, no-wrap
msgid ""
" int\n"
" guestfs_tgz_out (guestfs_h *g,\n"
"                  const char *directory,\n"
"                  const char *tarball);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tgz_out (guestfs_h *g,\n"
"                  const char *directory,\n"
"                  const char *tarball);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14752 ../lib/guestfs-actions.pod:14991
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_tar_out> "
"call instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_tar_out> "
"call instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:14766
msgid "guestfs_touch"
msgstr "guestfs_touch"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14768
#, no-wrap
msgid ""
" int\n"
" guestfs_touch (guestfs_h *g,\n"
"                const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_touch (guestfs_h *g,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14783
msgid "guestfs_truncate"
msgstr "guestfs_truncate"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14785
#, no-wrap
msgid ""
" int\n"
" guestfs_truncate (guestfs_h *g,\n"
"                   const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_truncate (guestfs_h *g,\n"
"                   const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14796
msgid "guestfs_truncate_size"
msgstr "guestfs_truncate_size"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14798
#, no-wrap
msgid ""
" int\n"
" guestfs_truncate_size (guestfs_h *g,\n"
"                        const char *path,\n"
"                        int64_t size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_truncate_size (guestfs_h *g,\n"
"                        const char *path,\n"
"                        int64_t size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14806
msgid ""
"If the current file size is less than C<size> then the file is extended to "
"the required size with zero bytes.  This creates a sparse file (ie. disk "
"blocks are not allocated for the file until you write to it).  To create a "
"non-sparse file of zeroes, use C<guestfs_fallocate64> instead."
msgstr ""
"If the current file size is less than C<size> then the file is extended to "
"the required size with zero bytes.  This creates a sparse file (ie. disk "
"blocks are not allocated for the file until you write to it).  To create a "
"non-sparse file of zeroes, use C<guestfs_fallocate64> instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:14816
msgid "guestfs_tune2fs"
msgstr "guestfs_tune2fs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14818
#, no-wrap
msgid ""
" int\n"
" guestfs_tune2fs (guestfs_h *g,\n"
"                  const char *device,\n"
"                  ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tune2fs (guestfs_h *g,\n"
"                  const char *device,\n"
"                  ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14828
#, no-wrap
msgid ""
" GUESTFS_TUNE2FS_FORCE, int force,\n"
" GUESTFS_TUNE2FS_MAXMOUNTCOUNT, int maxmountcount,\n"
" GUESTFS_TUNE2FS_MOUNTCOUNT, int mountcount,\n"
" GUESTFS_TUNE2FS_ERRORBEHAVIOR, const char *errorbehavior,\n"
" GUESTFS_TUNE2FS_GROUP, int64_t group,\n"
" GUESTFS_TUNE2FS_INTERVALBETWEENCHECKS, int intervalbetweenchecks,\n"
" GUESTFS_TUNE2FS_RESERVEDBLOCKSPERCENTAGE, int reservedblockspercentage,\n"
" GUESTFS_TUNE2FS_LASTMOUNTEDDIRECTORY, const char *lastmounteddirectory,\n"
" GUESTFS_TUNE2FS_RESERVEDBLOCKSCOUNT, int64_t reservedblockscount,\n"
" GUESTFS_TUNE2FS_USER, int64_t user,\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:14908
msgid ""
"To get the current values of filesystem parameters, see "
"C<guestfs_tune2fs_l>.  For precise details of how tune2fs works, see the "
"L<tune2fs(8)> man page."
msgstr ""
"To get the current values of filesystem parameters, see "
"C<guestfs_tune2fs_l>.  For precise details of how tune2fs works, see the "
"L<tune2fs(8)> man page."

#. type: =head2
#: ../lib/guestfs-actions.pod:14916
msgid "guestfs_tune2fs_va"
msgstr "guestfs_tune2fs_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14918
#, no-wrap
msgid ""
" int\n"
" guestfs_tune2fs_va (guestfs_h *g,\n"
"                     const char *device,\n"
"                     va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tune2fs_va (guestfs_h *g,\n"
"                     const char *device,\n"
"                     va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14923
msgid "This is the \"va_list variant\" of L</guestfs_tune2fs>."
msgstr "This is the \"va_list variant\" of L</guestfs_tune2fs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14927
msgid "guestfs_tune2fs_argv"
msgstr "guestfs_tune2fs_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14929
#, no-wrap
msgid ""
" int\n"
" guestfs_tune2fs_argv (guestfs_h *g,\n"
"                       const char *device,\n"
"                       const struct guestfs_tune2fs_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_tune2fs_argv (guestfs_h *g,\n"
"                       const char *device,\n"
"                       const struct guestfs_tune2fs_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14934
msgid "This is the \"argv variant\" of L</guestfs_tune2fs>."
msgstr "This is the \"argv variant\" of L</guestfs_tune2fs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:14938
msgid "guestfs_tune2fs_l"
msgstr "guestfs_tune2fs_l"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14940
#, no-wrap
msgid ""
" char **\n"
" guestfs_tune2fs_l (guestfs_h *g,\n"
"                    const char *device);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_tune2fs_l (guestfs_h *g,\n"
"                    const char *device);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:14960
msgid "guestfs_txz_in"
msgstr "guestfs_txz_in"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14962
#, no-wrap
msgid ""
" int\n"
" guestfs_txz_in (guestfs_h *g,\n"
"                 const char *tarball,\n"
"                 const char *directory);\n"
"\n"
msgstr ""
" int\n"
" guestfs_txz_in (guestfs_h *g,\n"
"                 const char *tarball,\n"
"                 const char *directory);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:14979 ../lib/guestfs-actions.pod:15003
msgid ""
"This function depends on the feature C<xz>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:14984
msgid "guestfs_txz_out"
msgstr "guestfs_txz_out"

#. type: verbatim
#: ../lib/guestfs-actions.pod:14986
#, no-wrap
msgid ""
" int\n"
" guestfs_txz_out (guestfs_h *g,\n"
"                  const char *directory,\n"
"                  const char *tarball);\n"
"\n"
msgstr ""
" int\n"
" guestfs_txz_out (guestfs_h *g,\n"
"                  const char *directory,\n"
"                  const char *tarball);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15008
msgid "guestfs_umask"
msgstr "guestfs_umask"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15010
#, no-wrap
msgid ""
" int\n"
" guestfs_umask (guestfs_h *g,\n"
"                int mask);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umask (guestfs_h *g,\n"
"                int mask);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15026
msgid ""
"See also C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>, "
"C<guestfs_mkdir>."
msgstr ""
"See also C<guestfs_get_umask>, L<umask(2)>, C<guestfs_mknod>, "
"C<guestfs_mkdir>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15035
msgid "guestfs_umount"
msgstr "guestfs_umount"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15037
#, no-wrap
msgid ""
" int\n"
" guestfs_umount (guestfs_h *g,\n"
"                 const char *pathordevice);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umount (guestfs_h *g,\n"
"                 const char *pathordevice);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15041
msgid ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_umount_opts> with no optional "
"arguments."
msgstr ""
"This function is provided for backwards compatibility with earlier versions "
"of libguestfs.  It simply calls L</guestfs_umount_opts> with no optional "
"arguments."

#. type: =head2
#: ../lib/guestfs-actions.pod:15048
msgid "guestfs_umount_opts"
msgstr "guestfs_umount_opts"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15050
#, no-wrap
msgid ""
" int\n"
" guestfs_umount_opts (guestfs_h *g,\n"
"                      const char *pathordevice,\n"
"                      ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umount_opts (guestfs_h *g,\n"
"                      const char *pathordevice,\n"
"                      ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15060
#, no-wrap
msgid ""
" GUESTFS_UMOUNT_OPTS_FORCE, int force,\n"
" GUESTFS_UMOUNT_OPTS_LAZYUNMOUNT, int lazyunmount,\n"
"\n"
msgstr ""
" GUESTFS_UMOUNT_OPTS_FORCE, int force,\n"
" GUESTFS_UMOUNT_OPTS_LAZYUNMOUNT, int lazyunmount,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15071
msgid "guestfs_umount_opts_va"
msgstr "guestfs_umount_opts_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15073
#, no-wrap
msgid ""
" int\n"
" guestfs_umount_opts_va (guestfs_h *g,\n"
"                         const char *pathordevice,\n"
"                         va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umount_opts_va (guestfs_h *g,\n"
"                         const char *pathordevice,\n"
"                         va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15078
msgid "This is the \"va_list variant\" of L</guestfs_umount_opts>."
msgstr "This is the \"va_list variant\" of L</guestfs_umount_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15082
msgid "guestfs_umount_opts_argv"
msgstr "guestfs_umount_opts_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15084
#, no-wrap
msgid ""
" int\n"
" guestfs_umount_opts_argv (guestfs_h *g,\n"
"                           const char *pathordevice,\n"
"                           const struct guestfs_umount_opts_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umount_opts_argv (guestfs_h *g,\n"
"                           const char *pathordevice,\n"
"                           const struct guestfs_umount_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15089
msgid "This is the \"argv variant\" of L</guestfs_umount_opts>."
msgstr "This is the \"argv variant\" of L</guestfs_umount_opts>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15093
msgid "guestfs_umount_all"
msgstr "guestfs_umount_all"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15095
#, no-wrap
msgid ""
" int\n"
" guestfs_umount_all (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umount_all (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15106
msgid "guestfs_umount_local"
msgstr "guestfs_umount_local"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15108
#, no-wrap
msgid ""
" int\n"
" guestfs_umount_local (guestfs_h *g,\n"
"                       ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umount_local (guestfs_h *g,\n"
"                       ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15117
#, no-wrap
msgid ""
" GUESTFS_UMOUNT_LOCAL_RETRY, int retry,\n"
"\n"
msgstr ""
" GUESTFS_UMOUNT_LOCAL_RETRY, int retry,\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15128
msgid "guestfs_umount_local_va"
msgstr "guestfs_umount_local_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15130
#, no-wrap
msgid ""
" int\n"
" guestfs_umount_local_va (guestfs_h *g,\n"
"                          va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umount_local_va (guestfs_h *g,\n"
"                          va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15134
msgid "This is the \"va_list variant\" of L</guestfs_umount_local>."
msgstr "This is the \"va_list variant\" of L</guestfs_umount_local>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15138
msgid "guestfs_umount_local_argv"
msgstr "guestfs_umount_local_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15140
#, no-wrap
msgid ""
" int\n"
" guestfs_umount_local_argv (guestfs_h *g,\n"
"                            const struct guestfs_umount_local_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_umount_local_argv (guestfs_h *g,\n"
"                            const struct guestfs_umount_local_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15144
msgid "This is the \"argv variant\" of L</guestfs_umount_local>."
msgstr "This is the \"argv variant\" of L</guestfs_umount_local>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15148
msgid "guestfs_upload"
msgstr "guestfs_upload"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15150
#, no-wrap
msgid ""
" int\n"
" guestfs_upload (guestfs_h *g,\n"
"                 const char *filename,\n"
"                 const char *remotefilename);\n"
"\n"
msgstr ""
" int\n"
" guestfs_upload (guestfs_h *g,\n"
"                 const char *filename,\n"
"                 const char *remotefilename);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15160
msgid "See also C<guestfs_download>."
msgstr "See also C<guestfs_download>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15171
msgid "guestfs_upload_offset"
msgstr "guestfs_upload_offset"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15173
#, no-wrap
msgid ""
" int\n"
" guestfs_upload_offset (guestfs_h *g,\n"
"                        const char *filename,\n"
"                        const char *remotefilename,\n"
"                        int64_t offset);\n"
"\n"
msgstr ""
" int\n"
" guestfs_upload_offset (guestfs_h *g,\n"
"                        const char *filename,\n"
"                        const char *remotefilename,\n"
"                        int64_t offset);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15189
msgid ""
"Note that there is no limit on the amount of data that can be uploaded with "
"this call, unlike with C<guestfs_pwrite>, and this call always writes the "
"full amount unless an error occurs."
msgstr ""
"Note that there is no limit on the amount of data that can be uploaded with "
"this call, unlike with C<guestfs_pwrite>, and this call always writes the "
"full amount unless an error occurs."

#. type: textblock
#: ../lib/guestfs-actions.pod:15194
msgid "See also C<guestfs_upload>, C<guestfs_pwrite>."
msgstr "See also C<guestfs_upload>, C<guestfs_pwrite>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15205
msgid "guestfs_user_cancel"
msgstr "guestfs_user_cancel"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15207
#, no-wrap
msgid ""
" int\n"
" guestfs_user_cancel (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_user_cancel (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15226
msgid "There are two common places that you might call C<guestfs_user_cancel>:"
msgstr ""
"There are two common places that you might call C<guestfs_user_cancel>:"

#. type: textblock
#: ../lib/guestfs-actions.pod:15228
#, fuzzy
#| msgid ""
#| "In an interactive text-based program, you might call it from a C<SIGINT> "
#| "signal handler so that pressing C<^C> cancels the current operation.  "
#| "(You also need to call L</guestfs_set_pgroup> so that child processes "
#| "don't receive the C<^C> signal)."
msgid ""
"In an interactive text-based program, you might call it from a C<SIGINT> "
"signal handler so that pressing C<^C> cancels the current operation.  (You "
"also need to call C<guestfs_set_pgroup> so that child processes don't "
"receive the C<^C> signal)."
msgstr ""
"In an interactive text-based program, you might call it from a C<SIGINT> "
"signal handler so that pressing C<^C> cancels the current operation.  (You "
"also need to call L</guestfs_set_pgroup> so that child processes don't "
"receive the C<^C> signal)."

#. type: =head2
#: ../lib/guestfs-actions.pod:15241
msgid "guestfs_utimens"
msgstr "guestfs_utimens"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15243
#, no-wrap
msgid ""
" int\n"
" guestfs_utimens (guestfs_h *g,\n"
"                  const char *path,\n"
"                  int64_t atsecs,\n"
"                  int64_t atnsecs,\n"
"                  int64_t mtsecs,\n"
"                  int64_t mtnsecs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_utimens (guestfs_h *g,\n"
"                  const char *path,\n"
"                  int64_t atsecs,\n"
"                  int64_t atnsecs,\n"
"                  int64_t mtsecs,\n"
"                  int64_t mtnsecs);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15272 ../lib/guestfs-structs.pod:647
msgid "guestfs_utsname"
msgstr "guestfs_utsname"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15274
#, no-wrap
msgid ""
" struct guestfs_utsname *\n"
" guestfs_utsname (guestfs_h *g);\n"
"\n"
msgstr ""
" struct guestfs_utsname *\n"
" guestfs_utsname (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15281
msgid ""
"This function returns a C<struct guestfs_utsname *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_utsname> after use>."
msgstr ""
"This function returns a C<struct guestfs_utsname *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_utsname> after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:15285
msgid "(Added in 1.19.27)"
msgstr "(Added in 1.19.27)"

#. type: =head2
#: ../lib/guestfs-actions.pod:15287 ../lib/guestfs-structs.pod:284
msgid "guestfs_version"
msgstr "guestfs_version"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15289
#, no-wrap
msgid ""
" struct guestfs_version *\n"
" guestfs_version (guestfs_h *g);\n"
"\n"
msgstr ""
" struct guestfs_version *\n"
" guestfs_version (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15317
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 "
"C<guestfs_available> or C<guestfs_feature_available> instead."
msgstr ""
"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 "
"C<guestfs_available> or C<guestfs_feature_available> instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:15323
msgid ""
"This function returns a C<struct guestfs_version *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_version> after use>."
msgstr ""
"This function returns a C<struct guestfs_version *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_version> after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:15327
msgid "(Added in 1.0.58)"
msgstr "(Added in 1.0.58)"

#. type: =head2
#: ../lib/guestfs-actions.pod:15329
msgid "guestfs_vfs_label"
msgstr "guestfs_vfs_label"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15331
#, no-wrap
msgid ""
" char *\n"
" guestfs_vfs_label (guestfs_h *g,\n"
"                    const char *mountable);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_vfs_label (guestfs_h *g,\n"
"                    const char *mountable);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15339
msgid "To find a filesystem from the label, use C<guestfs_findfs_label>."
msgstr "To find a filesystem from the label, use C<guestfs_findfs_label>."

#. type: textblock
#: ../lib/guestfs-actions.pod:15344 ../lib/guestfs-actions.pod:15398
msgid "(Added in 1.3.18)"
msgstr "(Added in 1.3.18)"

#. type: =head2
#: ../lib/guestfs-actions.pod:15346
msgid "guestfs_vfs_minimum_size"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:15348
#, no-wrap
msgid ""
" int64_t\n"
" guestfs_vfs_minimum_size (guestfs_h *g,\n"
"                           const char *mountable);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:15362
msgid "(Added in 1.31.18)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:15364
msgid "guestfs_vfs_type"
msgstr "guestfs_vfs_type"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15366
#, no-wrap
msgid ""
" char *\n"
" guestfs_vfs_type (guestfs_h *g,\n"
"                   const char *mountable);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_vfs_type (guestfs_h *g,\n"
"                   const char *mountable);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15383
msgid "guestfs_vfs_uuid"
msgstr "guestfs_vfs_uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15385
#, no-wrap
msgid ""
" char *\n"
" guestfs_vfs_uuid (guestfs_h *g,\n"
"                   const char *mountable);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_vfs_uuid (guestfs_h *g,\n"
"                   const char *mountable);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15393
msgid "To find a filesystem from the UUID, use C<guestfs_findfs_uuid>."
msgstr "To find a filesystem from the UUID, use C<guestfs_findfs_uuid>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15400
msgid "guestfs_vg_activate"
msgstr "guestfs_vg_activate"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15402
#, no-wrap
msgid ""
" int\n"
" guestfs_vg_activate (guestfs_h *g,\n"
"                      int activate,\n"
"                      char *const *volgroups);\n"
"\n"
msgstr ""
" int\n"
" guestfs_vg_activate (guestfs_h *g,\n"
"                      int activate,\n"
"                      char *const *volgroups);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15422
msgid "guestfs_vg_activate_all"
msgstr "guestfs_vg_activate_all"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15424
#, no-wrap
msgid ""
" int\n"
" guestfs_vg_activate_all (guestfs_h *g,\n"
"                          int activate);\n"
"\n"
msgstr ""
" int\n"
" guestfs_vg_activate_all (guestfs_h *g,\n"
"                          int activate);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15440
msgid "guestfs_vgchange_uuid"
msgstr "guestfs_vgchange_uuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15442
#, no-wrap
msgid ""
" int\n"
" guestfs_vgchange_uuid (guestfs_h *g,\n"
"                        const char *vg);\n"
"\n"
msgstr ""
" int\n"
" guestfs_vgchange_uuid (guestfs_h *g,\n"
"                        const char *vg);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15455
msgid "guestfs_vgchange_uuid_all"
msgstr "guestfs_vgchange_uuid_all"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15457
#, no-wrap
msgid ""
" int\n"
" guestfs_vgchange_uuid_all (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_vgchange_uuid_all (guestfs_h *g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15469
msgid "guestfs_vgcreate"
msgstr "guestfs_vgcreate"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15471
#, no-wrap
msgid ""
" int\n"
" guestfs_vgcreate (guestfs_h *g,\n"
"                   const char *volgroup,\n"
"                   char *const *physvols);\n"
"\n"
msgstr ""
" int\n"
" guestfs_vgcreate (guestfs_h *g,\n"
"                   const char *volgroup,\n"
"                   char *const *physvols);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15486
msgid "guestfs_vglvuuids"
msgstr "guestfs_vglvuuids"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15488
#, no-wrap
msgid ""
" char **\n"
" guestfs_vglvuuids (guestfs_h *g,\n"
"                    const char *vgname);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_vglvuuids (guestfs_h *g,\n"
"                    const char *vgname);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15495
msgid ""
"You can use this along with C<guestfs_lvs> and C<guestfs_lvuuid> calls to "
"associate logical volumes and volume groups."
msgstr ""
"You can use this along with C<guestfs_lvs> and C<guestfs_lvuuid> calls to "
"associate logical volumes and volume groups."

#. type: textblock
#: ../lib/guestfs-actions.pod:15498
msgid "See also C<guestfs_vgpvuuids>."
msgstr "See also C<guestfs_vgpvuuids>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15506
msgid "guestfs_vgmeta"
msgstr "guestfs_vgmeta"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15508
#, no-wrap
msgid ""
" char *\n"
" guestfs_vgmeta (guestfs_h *g,\n"
"                 const char *vgname,\n"
"                 size_t *size_r);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_vgmeta (guestfs_h *g,\n"
"                 const char *vgname,\n"
"                 size_t *size_r);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15526
msgid "(Added in 1.17.20)"
msgstr "(Added in 1.17.20)"

#. type: =head2
#: ../lib/guestfs-actions.pod:15528
msgid "guestfs_vgpvuuids"
msgstr "guestfs_vgpvuuids"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15530
#, no-wrap
msgid ""
" char **\n"
" guestfs_vgpvuuids (guestfs_h *g,\n"
"                    const char *vgname);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_vgpvuuids (guestfs_h *g,\n"
"                    const char *vgname);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15537
msgid ""
"You can use this along with C<guestfs_pvs> and C<guestfs_pvuuid> calls to "
"associate physical volumes and volume groups."
msgstr ""
"You can use this along with C<guestfs_pvs> and C<guestfs_pvuuid> calls to "
"associate physical volumes and volume groups."

#. type: textblock
#: ../lib/guestfs-actions.pod:15540
msgid "See also C<guestfs_vglvuuids>."
msgstr "See also C<guestfs_vglvuuids>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15548
msgid "guestfs_vgremove"
msgstr "guestfs_vgremove"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15550
#, no-wrap
msgid ""
" int\n"
" guestfs_vgremove (guestfs_h *g,\n"
"                   const char *vgname);\n"
"\n"
msgstr ""
" int\n"
" guestfs_vgremove (guestfs_h *g,\n"
"                   const char *vgname);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15566
msgid "guestfs_vgrename"
msgstr "guestfs_vgrename"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15568
#, no-wrap
msgid ""
" int\n"
" guestfs_vgrename (guestfs_h *g,\n"
"                   const char *volgroup,\n"
"                   const char *newvolgroup);\n"
"\n"
msgstr ""
" int\n"
" guestfs_vgrename (guestfs_h *g,\n"
"                   const char *volgroup,\n"
"                   const char *newvolgroup);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15579
msgid "guestfs_vgs"
msgstr "guestfs_vgs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15581
#, no-wrap
msgid ""
" char **\n"
" guestfs_vgs (guestfs_h *g);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_vgs (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15590
msgid "See also C<guestfs_vgs_full>."
msgstr "See also C<guestfs_vgs_full>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15601
msgid "guestfs_vgs_full"
msgstr "guestfs_vgs_full"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15603
#, no-wrap
msgid ""
" struct guestfs_lvm_vg_list *\n"
" guestfs_vgs_full (guestfs_h *g);\n"
"\n"
msgstr ""
" struct guestfs_lvm_vg_list *\n"
" guestfs_vgs_full (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15609
msgid ""
"This function returns a C<struct guestfs_lvm_vg_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_lvm_vg_list> after use>."
msgstr ""
"This function returns a C<struct guestfs_lvm_vg_list *>, or NULL if there "
"was an error.  I<The caller must call C<guestfs_free_lvm_vg_list> after use>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15618
msgid "guestfs_vgscan"
msgstr "guestfs_vgscan"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15620
#, no-wrap
msgid ""
" int\n"
" guestfs_vgscan (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_vgscan (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15623
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_lvm_scan> "
"call instead."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:15637
msgid "guestfs_vguuid"
msgstr "guestfs_vguuid"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15639
#, no-wrap
msgid ""
" char *\n"
" guestfs_vguuid (guestfs_h *g,\n"
"                 const char *vgname);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_vguuid (guestfs_h *g,\n"
"                 const char *vgname);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15650
msgid "guestfs_wait_ready"
msgstr "guestfs_wait_ready"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15652
#, no-wrap
msgid ""
" int\n"
" guestfs_wait_ready (guestfs_h *g);\n"
"\n"
msgstr ""
" int\n"
" guestfs_wait_ready (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15663
msgid "This function is a no op."
msgstr "This function is a no op."

#. type: textblock
#: ../lib/guestfs-actions.pod:15665
msgid ""
"In versions of the API E<lt> 1.0.71 you had to call this function just after "
"calling C<guestfs_launch> to wait for the launch to complete.  However this "
"is no longer necessary because C<guestfs_launch> now does the waiting."
msgstr ""
"In versions of the API E<lt> 1.0.71 you had to call this function just after "
"calling C<guestfs_launch> to wait for the launch to complete.  However this "
"is no longer necessary because C<guestfs_launch> now does the waiting."

#. type: textblock
#: ../lib/guestfs-actions.pod:15670
msgid ""
"If you see any calls to this function in code then you can just remove them, "
"unless you want to retain compatibility with older versions of the API."
msgstr ""
"If you see any calls to this function in code then you can just remove them, "
"unless you want to retain compatibility with older versions of the API."

#. type: =head2
#: ../lib/guestfs-actions.pod:15678
msgid "guestfs_wc_c"
msgstr "guestfs_wc_c"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15680
#, no-wrap
msgid ""
" int\n"
" guestfs_wc_c (guestfs_h *g,\n"
"               const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_wc_c (guestfs_h *g,\n"
"               const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15691
msgid "guestfs_wc_l"
msgstr "guestfs_wc_l"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15693
#, no-wrap
msgid ""
" int\n"
" guestfs_wc_l (guestfs_h *g,\n"
"               const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_wc_l (guestfs_h *g,\n"
"               const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15704
msgid "guestfs_wc_w"
msgstr "guestfs_wc_w"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15706
#, no-wrap
msgid ""
" int\n"
" guestfs_wc_w (guestfs_h *g,\n"
"               const char *path);\n"
"\n"
msgstr ""
" int\n"
" guestfs_wc_w (guestfs_h *g,\n"
"               const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:15717
msgid "guestfs_wipefs"
msgstr "guestfs_wipefs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15719
#, no-wrap
msgid ""
" int\n"
" guestfs_wipefs (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_wipefs (guestfs_h *g,\n"
"                 const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15729
msgid ""
"Compare with C<guestfs_zero> which zeroes the first few blocks of a device."
msgstr ""
"Compare with C<guestfs_zero> which zeroes the first few blocks of a device."

#. type: textblock
#: ../lib/guestfs-actions.pod:15734
msgid ""
"This function depends on the feature C<wipefs>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:15739
msgid "guestfs_write"
msgstr "guestfs_write"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15741
#, no-wrap
msgid ""
" int\n"
" guestfs_write (guestfs_h *g,\n"
"                const char *path,\n"
"                const char *content,\n"
"                size_t content_size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_write (guestfs_h *g,\n"
"                const char *path,\n"
"                const char *content,\n"
"                size_t content_size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15750
msgid "See also C<guestfs_write_append>."
msgstr "See also C<guestfs_write_append>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15756
msgid "guestfs_write_append"
msgstr "guestfs_write_append"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15758
#, no-wrap
msgid ""
" int\n"
" guestfs_write_append (guestfs_h *g,\n"
"                       const char *path,\n"
"                       const char *content,\n"
"                       size_t content_size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_write_append (guestfs_h *g,\n"
"                       const char *path,\n"
"                       const char *content,\n"
"                       size_t content_size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15767
msgid "See also C<guestfs_write>."
msgstr "See also C<guestfs_write>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15773
msgid "guestfs_write_file"
msgstr "guestfs_write_file"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15775
#, no-wrap
msgid ""
" int\n"
" guestfs_write_file (guestfs_h *g,\n"
"                     const char *path,\n"
"                     const char *content,\n"
"                     int size);\n"
"\n"
msgstr ""
" int\n"
" guestfs_write_file (guestfs_h *g,\n"
"                     const char *path,\n"
"                     const char *content,\n"
"                     int size);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15781
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_write> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_write> call "
"instead."

#. type: =head2
#: ../lib/guestfs-actions.pod:15806
msgid "guestfs_xfs_admin"
msgstr "guestfs_xfs_admin"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15808
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_admin (guestfs_h *g,\n"
"                    const char *device,\n"
"                    ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_admin (guestfs_h *g,\n"
"                    const char *device,\n"
"                    ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15818
#, no-wrap
msgid ""
" GUESTFS_XFS_ADMIN_EXTUNWRITTEN, int extunwritten,\n"
" GUESTFS_XFS_ADMIN_IMGFILE, int imgfile,\n"
" GUESTFS_XFS_ADMIN_V2LOG, int v2log,\n"
" GUESTFS_XFS_ADMIN_PROJID32BIT, int projid32bit,\n"
" GUESTFS_XFS_ADMIN_LAZYCOUNTER, int lazycounter,\n"
" GUESTFS_XFS_ADMIN_LABEL, const char *label,\n"
" GUESTFS_XFS_ADMIN_UUID, const char *uuid,\n"
"\n"
msgstr ""
" GUESTFS_XFS_ADMIN_EXTUNWRITTEN, int extunwritten,\n"
" GUESTFS_XFS_ADMIN_IMGFILE, int imgfile,\n"
" GUESTFS_XFS_ADMIN_V2LOG, int v2log,\n"
" GUESTFS_XFS_ADMIN_PROJID32BIT, int projid32bit,\n"
" GUESTFS_XFS_ADMIN_LAZYCOUNTER, int lazycounter,\n"
" GUESTFS_XFS_ADMIN_LABEL, const char *label,\n"
" GUESTFS_XFS_ADMIN_UUID, const char *uuid,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15832
msgid ""
"Some of the parameters of a mounted filesystem can be examined and modified "
"using the C<guestfs_xfs_info> and C<guestfs_xfs_growfs> calls."
msgstr ""
"Some of the parameters of a mounted filesystem can be examined and modified "
"using the C<guestfs_xfs_info> and C<guestfs_xfs_growfs> calls."

#. type: textblock
#: ../lib/guestfs-actions.pod:15838 ../lib/guestfs-actions.pod:15894
#: ../lib/guestfs-actions.pod:15938 ../lib/guestfs-actions.pod:15982
msgid ""
"This function depends on the feature C<xfs>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:15841
msgid "(Added in 1.19.33)"
msgstr "(Added in 1.19.33)"

#. type: =head2
#: ../lib/guestfs-actions.pod:15843
msgid "guestfs_xfs_admin_va"
msgstr "guestfs_xfs_admin_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15845
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_admin_va (guestfs_h *g,\n"
"                       const char *device,\n"
"                       va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_admin_va (guestfs_h *g,\n"
"                       const char *device,\n"
"                       va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15850
msgid "This is the \"va_list variant\" of L</guestfs_xfs_admin>."
msgstr "This is the \"va_list variant\" of L</guestfs_xfs_admin>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15854
msgid "guestfs_xfs_admin_argv"
msgstr "guestfs_xfs_admin_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15856
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_admin_argv (guestfs_h *g,\n"
"                         const char *device,\n"
"                         const struct guestfs_xfs_admin_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_admin_argv (guestfs_h *g,\n"
"                         const char *device,\n"
"                         const struct guestfs_xfs_admin_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15861
msgid "This is the \"argv variant\" of L</guestfs_xfs_admin>."
msgstr "This is the \"argv variant\" of L</guestfs_xfs_admin>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15865
msgid "guestfs_xfs_growfs"
msgstr "guestfs_xfs_growfs"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15867
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_growfs (guestfs_h *g,\n"
"                     const char *path,\n"
"                     ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_growfs (guestfs_h *g,\n"
"                     const char *path,\n"
"                     ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15877
#, no-wrap
msgid ""
" GUESTFS_XFS_GROWFS_DATASEC, int datasec,\n"
" GUESTFS_XFS_GROWFS_LOGSEC, int logsec,\n"
" GUESTFS_XFS_GROWFS_RTSEC, int rtsec,\n"
" GUESTFS_XFS_GROWFS_DATASIZE, int64_t datasize,\n"
" GUESTFS_XFS_GROWFS_LOGSIZE, int64_t logsize,\n"
" GUESTFS_XFS_GROWFS_RTSIZE, int64_t rtsize,\n"
" GUESTFS_XFS_GROWFS_RTEXTSIZE, int64_t rtextsize,\n"
" GUESTFS_XFS_GROWFS_MAXPCT, int maxpct,\n"
"\n"
msgstr ""
" GUESTFS_XFS_GROWFS_DATASEC, int datasec,\n"
" GUESTFS_XFS_GROWFS_LOGSEC, int logsec,\n"
" GUESTFS_XFS_GROWFS_RTSEC, int rtsec,\n"
" GUESTFS_XFS_GROWFS_DATASIZE, int64_t datasize,\n"
" GUESTFS_XFS_GROWFS_LOGSIZE, int64_t logsize,\n"
" GUESTFS_XFS_GROWFS_RTSIZE, int64_t rtsize,\n"
" GUESTFS_XFS_GROWFS_RTEXTSIZE, int64_t rtextsize,\n"
" GUESTFS_XFS_GROWFS_MAXPCT, int maxpct,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15897
msgid "(Added in 1.19.28)"
msgstr "(Added in 1.19.28)"

#. type: =head2
#: ../lib/guestfs-actions.pod:15899
msgid "guestfs_xfs_growfs_va"
msgstr "guestfs_xfs_growfs_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15901
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_growfs_va (guestfs_h *g,\n"
"                        const char *path,\n"
"                        va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_growfs_va (guestfs_h *g,\n"
"                        const char *path,\n"
"                        va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15906
msgid "This is the \"va_list variant\" of L</guestfs_xfs_growfs>."
msgstr "This is the \"va_list variant\" of L</guestfs_xfs_growfs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15910
msgid "guestfs_xfs_growfs_argv"
msgstr "guestfs_xfs_growfs_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15912
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_growfs_argv (guestfs_h *g,\n"
"                          const char *path,\n"
"                          const struct guestfs_xfs_growfs_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_growfs_argv (guestfs_h *g,\n"
"                          const char *path,\n"
"                          const struct guestfs_xfs_growfs_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15917
msgid "This is the \"argv variant\" of L</guestfs_xfs_growfs>."
msgstr "This is the \"argv variant\" of L</guestfs_xfs_growfs>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15921
msgid "guestfs_xfs_info"
msgstr "guestfs_xfs_info"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15923
#, no-wrap
msgid ""
" struct guestfs_xfsinfo *\n"
" guestfs_xfs_info (guestfs_h *g,\n"
"                   const char *pathordevice);\n"
"\n"
msgstr ""
" struct guestfs_xfsinfo *\n"
" guestfs_xfs_info (guestfs_h *g,\n"
"                   const char *pathordevice);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15934
msgid ""
"This function returns a C<struct guestfs_xfsinfo *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_xfsinfo> after use>."
msgstr ""
"This function returns a C<struct guestfs_xfsinfo *>, or NULL if there was an "
"error.  I<The caller must call C<guestfs_free_xfsinfo> after use>."

#. type: textblock
#: ../lib/guestfs-actions.pod:15941
msgid "(Added in 1.19.21)"
msgstr "(Added in 1.19.21)"

#. type: =head2
#: ../lib/guestfs-actions.pod:15943
msgid "guestfs_xfs_repair"
msgstr "guestfs_xfs_repair"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15945
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_repair (guestfs_h *g,\n"
"                     const char *device,\n"
"                     ...);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_repair (guestfs_h *g,\n"
"                     const char *device,\n"
"                     ...);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15955
#, no-wrap
msgid ""
" GUESTFS_XFS_REPAIR_FORCELOGZERO, int forcelogzero,\n"
" GUESTFS_XFS_REPAIR_NOMODIFY, int nomodify,\n"
" GUESTFS_XFS_REPAIR_NOPREFETCH, int noprefetch,\n"
" GUESTFS_XFS_REPAIR_FORCEGEOMETRY, int forcegeometry,\n"
" GUESTFS_XFS_REPAIR_MAXMEM, int64_t maxmem,\n"
" GUESTFS_XFS_REPAIR_IHASHSIZE, int64_t ihashsize,\n"
" GUESTFS_XFS_REPAIR_BHASHSIZE, int64_t bhashsize,\n"
" GUESTFS_XFS_REPAIR_AGSTRIDE, int64_t agstride,\n"
" GUESTFS_XFS_REPAIR_LOGDEV, const char *logdev,\n"
" GUESTFS_XFS_REPAIR_RTDEV, const char *rtdev,\n"
"\n"
msgstr ""
" GUESTFS_XFS_REPAIR_FORCELOGZERO, int forcelogzero,\n"
" GUESTFS_XFS_REPAIR_NOMODIFY, int nomodify,\n"
" GUESTFS_XFS_REPAIR_NOPREFETCH, int noprefetch,\n"
" GUESTFS_XFS_REPAIR_FORCEGEOMETRY, int forcegeometry,\n"
" GUESTFS_XFS_REPAIR_MAXMEM, int64_t maxmem,\n"
" GUESTFS_XFS_REPAIR_IHASHSIZE, int64_t ihashsize,\n"
" GUESTFS_XFS_REPAIR_BHASHSIZE, int64_t bhashsize,\n"
" GUESTFS_XFS_REPAIR_AGSTRIDE, int64_t agstride,\n"
" GUESTFS_XFS_REPAIR_LOGDEV, const char *logdev,\n"
" GUESTFS_XFS_REPAIR_RTDEV, const char *rtdev,\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15985
msgid "(Added in 1.19.36)"
msgstr "(Added in 1.19.36)"

#. type: =head2
#: ../lib/guestfs-actions.pod:15987
msgid "guestfs_xfs_repair_va"
msgstr "guestfs_xfs_repair_va"

#. type: verbatim
#: ../lib/guestfs-actions.pod:15989
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_repair_va (guestfs_h *g,\n"
"                        const char *device,\n"
"                        va_list args);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_repair_va (guestfs_h *g,\n"
"                        const char *device,\n"
"                        va_list args);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:15994
msgid "This is the \"va_list variant\" of L</guestfs_xfs_repair>."
msgstr "This is the \"va_list variant\" of L</guestfs_xfs_repair>."

#. type: =head2
#: ../lib/guestfs-actions.pod:15998
msgid "guestfs_xfs_repair_argv"
msgstr "guestfs_xfs_repair_argv"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16000
#, no-wrap
msgid ""
" int\n"
" guestfs_xfs_repair_argv (guestfs_h *g,\n"
"                          const char *device,\n"
"                          const struct guestfs_xfs_repair_argv *optargs);\n"
"\n"
msgstr ""
" int\n"
" guestfs_xfs_repair_argv (guestfs_h *g,\n"
"                          const char *device,\n"
"                          const struct guestfs_xfs_repair_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:16005
msgid "This is the \"argv variant\" of L</guestfs_xfs_repair>."
msgstr "This is the \"argv variant\" of L</guestfs_xfs_repair>."

#. type: =head2
#: ../lib/guestfs-actions.pod:16009
msgid "guestfs_yara_destroy"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:16011
#, no-wrap
msgid ""
" int\n"
" guestfs_yara_destroy (guestfs_h *g);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:16018 ../lib/guestfs-actions.pod:16051
#: ../lib/guestfs-actions.pod:16089
msgid ""
"This function depends on the feature C<libyara>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:16021 ../lib/guestfs-actions.pod:16054
#: ../lib/guestfs-actions.pod:16092
msgid "(Added in 1.37.13)"
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:16023
msgid "guestfs_yara_load"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:16025
#, no-wrap
msgid ""
" int\n"
" guestfs_yara_load (guestfs_h *g,\n"
"                    const char *filename);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:16031
msgid ""
"Yara rules allow to categorize files based on textual or binary patterns "
"within their content.  See C<guestfs_yara_scan> to see how to scan files "
"with the loaded rules."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:16056
msgid "guestfs_yara_scan"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-actions.pod:16058
#, no-wrap
msgid ""
" struct guestfs_yara_detection_list *\n"
" guestfs_yara_scan (guestfs_h *g,\n"
"                    const char *path);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs-actions.pod:16080
msgid ""
"This function returns a C<struct guestfs_yara_detection_list *>, or NULL if "
"there was an error.  I<The caller must call "
"C<guestfs_free_yara_detection_list> after use>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:16094
msgid "guestfs_zegrep"
msgstr "guestfs_zegrep"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16096
#, no-wrap
msgid ""
" char **\n"
" guestfs_zegrep (guestfs_h *g,\n"
"                 const char *regex,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_zegrep (guestfs_h *g,\n"
"                 const char *regex,\n"
"                 const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:16120
msgid "guestfs_zegrepi"
msgstr "guestfs_zegrepi"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16122
#, no-wrap
msgid ""
" char **\n"
" guestfs_zegrepi (guestfs_h *g,\n"
"                  const char *regex,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_zegrepi (guestfs_h *g,\n"
"                  const char *regex,\n"
"                  const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:16146
msgid "guestfs_zero"
msgstr "guestfs_zero"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16148
#, no-wrap
msgid ""
" int\n"
" guestfs_zero (guestfs_h *g,\n"
"               const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_zero (guestfs_h *g,\n"
"               const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:16162
msgid ""
"See also: C<guestfs_zero_device>, C<guestfs_scrub_device>, "
"C<guestfs_is_zero_device>"
msgstr ""
"See also: C<guestfs_zero_device>, C<guestfs_scrub_device>, "
"C<guestfs_is_zero_device>"

#. type: =head2
#: ../lib/guestfs-actions.pod:16174
msgid "guestfs_zero_device"
msgstr "guestfs_zero_device"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16176
#, no-wrap
msgid ""
" int\n"
" guestfs_zero_device (guestfs_h *g,\n"
"                      const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_zero_device (guestfs_h *g,\n"
"                      const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:16180
msgid ""
"This command writes zeroes over the entire C<device>.  Compare with "
"C<guestfs_zero> which just zeroes the first few blocks of a device."
msgstr ""
"This command writes zeroes over the entire C<device>.  Compare with "
"C<guestfs_zero> which just zeroes the first few blocks of a device."

#. type: textblock
#: ../lib/guestfs-actions.pod:16195
msgid "(Added in 1.3.1)"
msgstr "(Added in 1.3.1)"

#. type: =head2
#: ../lib/guestfs-actions.pod:16197
msgid "guestfs_zero_free_space"
msgstr "guestfs_zero_free_space"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16199
#, no-wrap
msgid ""
" int\n"
" guestfs_zero_free_space (guestfs_h *g,\n"
"                          const char *directory);\n"
"\n"
msgstr ""
" int\n"
" guestfs_zero_free_space (guestfs_h *g,\n"
"                          const char *directory);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:16209
msgid ""
"Free space is not \"trimmed\".  You may want to call C<guestfs_fstrim> "
"either as an alternative to this, or after calling this, depending on your "
"requirements."
msgstr ""
"Free space is not \"trimmed\".  You may want to call C<guestfs_fstrim> "
"either as an alternative to this, or after calling this, depending on your "
"requirements."

#. type: =head2
#: ../lib/guestfs-actions.pod:16222
msgid "guestfs_zerofree"
msgstr "guestfs_zerofree"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16224
#, no-wrap
msgid ""
" int\n"
" guestfs_zerofree (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"
msgstr ""
" int\n"
" guestfs_zerofree (guestfs_h *g,\n"
"                   const char *device);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:16241
msgid ""
"This function depends on the feature C<zerofree>.  See also L</"
"guestfs_feature_available>."
msgstr ""

#. type: =head2
#: ../lib/guestfs-actions.pod:16246
msgid "guestfs_zfgrep"
msgstr "guestfs_zfgrep"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16248
#, no-wrap
msgid ""
" char **\n"
" guestfs_zfgrep (guestfs_h *g,\n"
"                 const char *pattern,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_zfgrep (guestfs_h *g,\n"
"                 const char *pattern,\n"
"                 const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:16272
msgid "guestfs_zfgrepi"
msgstr "guestfs_zfgrepi"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16274
#, no-wrap
msgid ""
" char **\n"
" guestfs_zfgrepi (guestfs_h *g,\n"
"                  const char *pattern,\n"
"                  const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_zfgrepi (guestfs_h *g,\n"
"                  const char *pattern,\n"
"                  const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:16298
msgid "guestfs_zfile"
msgstr "guestfs_zfile"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16300
#, no-wrap
msgid ""
" char *\n"
" guestfs_zfile (guestfs_h *g,\n"
"                const char *meth,\n"
"                const char *path);\n"
"\n"
msgstr ""
" char *\n"
" guestfs_zfile (guestfs_h *g,\n"
"                const char *meth,\n"
"                const char *path);\n"
"\n"

#. type: textblock
#: ../lib/guestfs-actions.pod:16305
msgid ""
"I<This function is deprecated.> In new code, use the L</guestfs_file> call "
"instead."
msgstr ""
"I<This function is deprecated.> In new code, use the L</guestfs_file> call "
"instead."

#. type: textblock
#: ../lib/guestfs-actions.pod:16317
msgid ""
"Since 1.0.63, use C<guestfs_file> instead which can now process compressed "
"files."
msgstr ""
"Since 1.0.63, use C<guestfs_file> instead which can now process compressed "
"files."

#. type: =head2
#: ../lib/guestfs-actions.pod:16325
msgid "guestfs_zgrep"
msgstr "guestfs_zgrep"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16327
#, no-wrap
msgid ""
" char **\n"
" guestfs_zgrep (guestfs_h *g,\n"
"                const char *regex,\n"
"                const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_zgrep (guestfs_h *g,\n"
"                const char *regex,\n"
"                const char *path);\n"
"\n"

#. type: =head2
#: ../lib/guestfs-actions.pod:16351
msgid "guestfs_zgrepi"
msgstr "guestfs_zgrepi"

#. type: verbatim
#: ../lib/guestfs-actions.pod:16353
#, no-wrap
msgid ""
" char **\n"
" guestfs_zgrepi (guestfs_h *g,\n"
"                 const char *regex,\n"
"                 const char *path);\n"
"\n"
msgstr ""
" char **\n"
" guestfs_zgrepi (guestfs_h *g,\n"
"                 const char *regex,\n"
"                 const char *path);\n"
"\n"

#. type: =item
#: ../lib/guestfs-availability.pod:29
msgid "B<acl>"
msgstr "B<acl>"

#. type: textblock
#: ../lib/guestfs-availability.pod:31
msgid ""
"The following functions: L</guestfs_acl_delete_def_file> L</"
"guestfs_acl_get_file> L</guestfs_acl_set_file>"
msgstr ""
"The following functions: L</guestfs_acl_delete_def_file> L</"
"guestfs_acl_get_file> L</guestfs_acl_set_file>"

#. type: =item
#: ../lib/guestfs-availability.pod:36
msgid "B<blkdiscard>"
msgstr ""

#. type: textblock
#: ../lib/guestfs-availability.pod:38
msgid "The following functions: L</guestfs_blkdiscard>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:41
msgid "B<blkdiscardzeroes>"
msgstr ""

#. type: textblock
#: ../lib/guestfs-availability.pod:43
msgid "The following functions: L</guestfs_blkdiscardzeroes>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:46
msgid "B<btrfs>"
msgstr "B<btrfs>"

#. type: textblock
#: ../lib/guestfs-availability.pod:48
msgid ""
"The following functions: L</guestfs_btrfs_balance_cancel> L</"
"guestfs_btrfs_balance_pause> L</guestfs_btrfs_balance_resume> L</"
"guestfs_btrfs_balance_status> L</guestfs_btrfs_device_add> L</"
"guestfs_btrfs_device_delete> L</guestfs_btrfs_filesystem_balance> L</"
"guestfs_btrfs_filesystem_defragment> L</guestfs_btrfs_filesystem_resize> L</"
"guestfs_btrfs_filesystem_show> L</guestfs_btrfs_filesystem_sync> L</"
"guestfs_btrfs_fsck> L</guestfs_btrfs_image> L</guestfs_btrfs_qgroup_assign> "
"L</guestfs_btrfs_qgroup_create> L</guestfs_btrfs_qgroup_destroy> L</"
"guestfs_btrfs_qgroup_limit> L</guestfs_btrfs_qgroup_remove> L</"
"guestfs_btrfs_qgroup_show> L</guestfs_btrfs_quota_enable> L</"
"guestfs_btrfs_quota_rescan> L</guestfs_btrfs_replace> L</"
"guestfs_btrfs_rescue_chunk_recover> L</guestfs_btrfs_rescue_super_recover> "
"L</guestfs_btrfs_scrub_cancel> L</guestfs_btrfs_scrub_resume> L</"
"guestfs_btrfs_scrub_start> L</guestfs_btrfs_scrub_status> L</"
"guestfs_btrfs_set_seeding> L</guestfs_btrfs_subvolume_create> L</"
"guestfs_btrfs_subvolume_delete> L</guestfs_btrfs_subvolume_get_default> L</"
"guestfs_btrfs_subvolume_list> L</guestfs_btrfs_subvolume_set_default> L</"
"guestfs_btrfs_subvolume_show> L</guestfs_btrfs_subvolume_snapshot> L</"
"guestfs_btrfstune_enable_extended_inode_refs> L</"
"guestfs_btrfstune_enable_skinny_metadata_extent_refs> L</"
"guestfs_btrfstune_seeding> L</guestfs_mkfs_btrfs>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:90
msgid "B<extlinux>"
msgstr "B<extlinux>"

#. type: textblock
#: ../lib/guestfs-availability.pod:92
msgid "The following functions: L</guestfs_extlinux>"
msgstr "The following functions: L</guestfs_extlinux>"

#. type: =item
#: ../lib/guestfs-availability.pod:95
msgid "B<f2fs>"
msgstr ""

#. type: textblock
#: ../lib/guestfs-availability.pod:97
msgid "The following functions: L</guestfs_f2fs_expand>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:100
msgid "B<fstrim>"
msgstr "B<fstrim>"

#. type: textblock
#: ../lib/guestfs-availability.pod:102
msgid "The following functions: L</guestfs_fstrim>"
msgstr "The following functions: L</guestfs_fstrim>"

#. type: =item
#: ../lib/guestfs-availability.pod:105
msgid "B<gdisk>"
msgstr "B<gdisk>"

#. type: textblock
#: ../lib/guestfs-availability.pod:107
msgid ""
"The following functions: L</guestfs_part_expand_gpt> L</"
"guestfs_part_get_disk_guid> L</guestfs_part_get_gpt_attributes> L</"
"guestfs_part_get_gpt_guid> L</guestfs_part_get_gpt_type> L</"
"guestfs_part_set_disk_guid> L</guestfs_part_set_disk_guid_random> L</"
"guestfs_part_set_gpt_attributes> L</guestfs_part_set_gpt_guid> L</"
"guestfs_part_set_gpt_type>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:119
msgid "B<grub>"
msgstr "B<grub>"

#. type: textblock
#: ../lib/guestfs-availability.pod:121
msgid "The following functions: L</guestfs_grub_install>"
msgstr "The following functions: L</guestfs_grub_install>"

#. type: =item
#: ../lib/guestfs-availability.pod:124
msgid "B<hivex>"
msgstr "B<hivex>"

#. type: textblock
#: ../lib/guestfs-availability.pod:126
msgid ""
"The following functions: L</guestfs_hivex_close> L</guestfs_hivex_commit> L</"
"guestfs_hivex_node_add_child> L</guestfs_hivex_node_children> L</"
"guestfs_hivex_node_delete_child> L</guestfs_hivex_node_get_child> L</"
"guestfs_hivex_node_get_value> L</guestfs_hivex_node_name> L</"
"guestfs_hivex_node_parent> L</guestfs_hivex_node_set_value> L</"
"guestfs_hivex_node_values> L</guestfs_hivex_open> L</guestfs_hivex_root> L</"
"guestfs_hivex_value_key> L</guestfs_hivex_value_string> L</"
"guestfs_hivex_value_type> L</guestfs_hivex_value_utf8> L</"
"guestfs_hivex_value_value>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:146
msgid "B<inotify>"
msgstr "B<inotify>"

#. type: textblock
#: ../lib/guestfs-availability.pod:148
msgid ""
"The following functions: L</guestfs_inotify_add_watch> L</"
"guestfs_inotify_close> L</guestfs_inotify_files> L</guestfs_inotify_init> L</"
"guestfs_inotify_read> L</guestfs_inotify_rm_watch>"
msgstr ""
"The following functions: L</guestfs_inotify_add_watch> L</"
"guestfs_inotify_close> L</guestfs_inotify_files> L</guestfs_inotify_init> L</"
"guestfs_inotify_read> L</guestfs_inotify_rm_watch>"

#. type: =item
#: ../lib/guestfs-availability.pod:156
msgid "B<journal>"
msgstr "B<journal>"

#. type: textblock
#: ../lib/guestfs-availability.pod:158
msgid ""
"The following functions: L</guestfs_internal_journal_get> L</"
"guestfs_journal_close> L</guestfs_journal_get_data_threshold> L</"
"guestfs_journal_get_realtime_usec> L</guestfs_journal_next> L</"
"guestfs_journal_open> L</guestfs_journal_set_data_threshold> L</"
"guestfs_journal_skip>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:168
msgid "B<ldm>"
msgstr "B<ldm>"

#. type: textblock
#: ../lib/guestfs-availability.pod:170
msgid ""
"The following functions: L</guestfs_ldmtool_create_all> L</"
"guestfs_ldmtool_diskgroup_disks> L</guestfs_ldmtool_diskgroup_name> L</"
"guestfs_ldmtool_diskgroup_volumes> L</guestfs_ldmtool_remove_all> L</"
"guestfs_ldmtool_scan> L</guestfs_ldmtool_scan_devices> L</"
"guestfs_ldmtool_volume_hint> L</guestfs_ldmtool_volume_partitions> L</"
"guestfs_ldmtool_volume_type> L</guestfs_list_ldm_partitions> L</"
"guestfs_list_ldm_volumes>"
msgstr ""
"The following functions: L</guestfs_ldmtool_create_all> L</"
"guestfs_ldmtool_diskgroup_disks> L</guestfs_ldmtool_diskgroup_name> L</"
"guestfs_ldmtool_diskgroup_volumes> L</guestfs_ldmtool_remove_all> L</"
"guestfs_ldmtool_scan> L</guestfs_ldmtool_scan_devices> L</"
"guestfs_ldmtool_volume_hint> L</guestfs_ldmtool_volume_partitions> L</"
"guestfs_ldmtool_volume_type> L</guestfs_list_ldm_partitions> L</"
"guestfs_list_ldm_volumes>"

#. type: =item
#: ../lib/guestfs-availability.pod:184
msgid "B<libtsk>"
msgstr ""

#. type: textblock
#: ../lib/guestfs-availability.pod:186
msgid ""
"The following functions: L</guestfs_internal_filesystem_walk> L</"
"guestfs_internal_find_inode>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:190
msgid "B<libyara>"
msgstr ""

#. type: textblock
#: ../lib/guestfs-availability.pod:192
msgid ""
"The following functions: L</guestfs_internal_yara_scan> L</"
"guestfs_yara_destroy> L</guestfs_yara_load>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:197
msgid "B<linuxcaps>"
msgstr "B<linuxcaps>"

#. type: textblock
#: ../lib/guestfs-availability.pod:199
msgid ""
"The following functions: L</guestfs_cap_get_file> L</guestfs_cap_set_file>"
msgstr ""
"The following functions: L</guestfs_cap_get_file> L</guestfs_cap_set_file>"

#. type: =item
#: ../lib/guestfs-availability.pod:203
msgid "B<linuxfsuuid>"
msgstr "B<linuxfsuuid>"

#. type: textblock
#: ../lib/guestfs-availability.pod:205
msgid ""
"The following functions: L</guestfs_mke2fs_JU> L</guestfs_mke2journal_U> L</"
"guestfs_mkswap_U> L</guestfs_swapoff_uuid> L</guestfs_swapon_uuid>"
msgstr ""
"The following functions: L</guestfs_mke2fs_JU> L</guestfs_mke2journal_U> L</"
"guestfs_mkswap_U> L</guestfs_swapoff_uuid> L</guestfs_swapon_uuid>"

#. type: =item
#: ../lib/guestfs-availability.pod:212
msgid "B<linuxmodules>"
msgstr "B<linuxmodules>"

#. type: textblock
#: ../lib/guestfs-availability.pod:214
msgid "The following functions: L</guestfs_modprobe>"
msgstr "The following functions: L</guestfs_modprobe>"

#. type: =item
#: ../lib/guestfs-availability.pod:217
msgid "B<linuxxattrs>"
msgstr "B<linuxxattrs>"

#. type: textblock
#: ../lib/guestfs-availability.pod:219
msgid ""
"The following functions: L</guestfs_getxattr> L</guestfs_getxattrs> L</"
"guestfs_internal_lxattrlist> L</guestfs_lgetxattr> L</guestfs_lgetxattrs> L</"
"guestfs_lremovexattr> L</guestfs_lsetxattr> L</guestfs_removexattr> L</"
"guestfs_setxattr>"
msgstr ""
"The following functions: L</guestfs_getxattr> L</guestfs_getxattrs> L</"
"guestfs_internal_lxattrlist> L</guestfs_lgetxattr> L</guestfs_lgetxattrs> L</"
"guestfs_lremovexattr> L</guestfs_lsetxattr> L</guestfs_removexattr> L</"
"guestfs_setxattr>"

#. type: =item
#: ../lib/guestfs-availability.pod:230
msgid "B<luks>"
msgstr "B<luks>"

#. type: textblock
#: ../lib/guestfs-availability.pod:232
#, fuzzy
#| msgid ""
#| "The following functions: L</guestfs_luks_add_key> L</guestfs_luks_close> "
#| "L</guestfs_luks_format> L</guestfs_luks_format_cipher> L</"
#| "guestfs_luks_kill_slot> L</guestfs_luks_open> L</guestfs_luks_open_ro>"
msgid ""
"The following functions: L</guestfs_luks_add_key> L</guestfs_luks_close> L</"
"guestfs_luks_format> L</guestfs_luks_format_cipher> L</"
"guestfs_luks_kill_slot> L</guestfs_luks_open> L</guestfs_luks_open_ro> L</"
"guestfs_luks_uuid>"
msgstr ""
"The following functions: L</guestfs_luks_add_key> L</guestfs_luks_close> L</"
"guestfs_luks_format> L</guestfs_luks_format_cipher> L</"
"guestfs_luks_kill_slot> L</guestfs_luks_open> L</guestfs_luks_open_ro>"

#. type: =item
#: ../lib/guestfs-availability.pod:242
msgid "B<lvm2>"
msgstr "B<lvm2>"

#. type: textblock
#: ../lib/guestfs-availability.pod:244
msgid ""
"The following functions: L</guestfs_lvcreate> L</guestfs_lvcreate_free> L</"
"guestfs_lvm_remove_all> L</guestfs_lvm_set_filter> L</guestfs_lvremove> L</"
"guestfs_lvresize> L</guestfs_lvresize_free> L</guestfs_lvs> L</"
"guestfs_lvs_full> L</guestfs_pvchange_uuid> L</guestfs_pvchange_uuid_all> L</"
"guestfs_pvcreate> L</guestfs_pvremove> L</guestfs_pvresize> L</"
"guestfs_pvresize_size> L</guestfs_pvs> L</guestfs_pvs_full> L</"
"guestfs_vg_activate> L</guestfs_vg_activate_all> L</guestfs_vgchange_uuid> "
"L</guestfs_vgchange_uuid_all> L</guestfs_vgcreate> L</guestfs_vgmeta> L</"
"guestfs_vgremove> L</guestfs_vgs> L</guestfs_vgs_full>"
msgstr ""
"The following functions: L</guestfs_lvcreate> L</guestfs_lvcreate_free> L</"
"guestfs_lvm_remove_all> L</guestfs_lvm_set_filter> L</guestfs_lvremove> L</"
"guestfs_lvresize> L</guestfs_lvresize_free> L</guestfs_lvs> L</"
"guestfs_lvs_full> L</guestfs_pvchange_uuid> L</guestfs_pvchange_uuid_all> L</"
"guestfs_pvcreate> L</guestfs_pvremove> L</guestfs_pvresize> L</"
"guestfs_pvresize_size> L</guestfs_pvs> L</guestfs_pvs_full> L</"
"guestfs_vg_activate> L</guestfs_vg_activate_all> L</guestfs_vgchange_uuid> "
"L</guestfs_vgchange_uuid_all> L</guestfs_vgcreate> L</guestfs_vgmeta> L</"
"guestfs_vgremove> L</guestfs_vgs> L</guestfs_vgs_full>"

#. type: =item
#: ../lib/guestfs-availability.pod:272
msgid "B<mdadm>"
msgstr "B<mdadm>"

#. type: textblock
#: ../lib/guestfs-availability.pod:274
msgid ""
"The following functions: L</guestfs_md_create> L</guestfs_md_detail> L</"
"guestfs_md_stat> L</guestfs_md_stop>"
msgstr ""
"The following functions: L</guestfs_md_create> L</guestfs_md_detail> L</"
"guestfs_md_stat> L</guestfs_md_stop>"

#. type: =item
#: ../lib/guestfs-availability.pod:280
msgid "B<mknod>"
msgstr "B<mknod>"

#. type: textblock
#: ../lib/guestfs-availability.pod:282
msgid ""
"The following functions: L</guestfs_mkfifo> L</guestfs_mknod> L</"
"guestfs_mknod_b> L</guestfs_mknod_c>"
msgstr ""
"The following functions: L</guestfs_mkfifo> L</guestfs_mknod> L</"
"guestfs_mknod_b> L</guestfs_mknod_c>"

#. type: =item
#: ../lib/guestfs-availability.pod:288
msgid "B<ntfs3g>"
msgstr "B<ntfs3g>"

#. type: textblock
#: ../lib/guestfs-availability.pod:290
msgid ""
"The following functions: L</guestfs_ntfs_3g_probe> L</guestfs_ntfsclone_in> "
"L</guestfs_ntfsclone_out> L</guestfs_ntfsfix>"
msgstr ""
"The following functions: L</guestfs_ntfs_3g_probe> L</guestfs_ntfsclone_in> "
"L</guestfs_ntfsclone_out> L</guestfs_ntfsfix>"

#. type: =item
#: ../lib/guestfs-availability.pod:296
msgid "B<ntfsprogs>"
msgstr "B<ntfsprogs>"

#. type: textblock
#: ../lib/guestfs-availability.pod:298
msgid ""
"The following functions: L</guestfs_ntfsresize> L</guestfs_ntfsresize_size>"
msgstr ""
"The following functions: L</guestfs_ntfsresize> L</guestfs_ntfsresize_size>"

#. type: =item
#: ../lib/guestfs-availability.pod:302
msgid "B<rsync>"
msgstr "B<rsync>"

#. type: textblock
#: ../lib/guestfs-availability.pod:304
msgid ""
"The following functions: L</guestfs_rsync> L</guestfs_rsync_in> L</"
"guestfs_rsync_out>"
msgstr ""
"The following functions: L</guestfs_rsync> L</guestfs_rsync_in> L</"
"guestfs_rsync_out>"

#. type: =item
#: ../lib/guestfs-availability.pod:309
msgid "B<scrub>"
msgstr "B<scrub>"

#. type: textblock
#: ../lib/guestfs-availability.pod:311
msgid ""
"The following functions: L</guestfs_scrub_device> L</guestfs_scrub_file> L</"
"guestfs_scrub_freespace>"
msgstr ""
"The following functions: L</guestfs_scrub_device> L</guestfs_scrub_file> L</"
"guestfs_scrub_freespace>"

#. type: =item
#: ../lib/guestfs-availability.pod:316
msgid "B<selinux>"
msgstr "B<selinux>"

#. type: textblock
#: ../lib/guestfs-availability.pod:318
msgid "The following functions: L</guestfs_getcon> L</guestfs_setcon>"
msgstr "The following functions: L</guestfs_getcon> L</guestfs_setcon>"

#. type: =item
#: ../lib/guestfs-availability.pod:322
msgid "B<selinuxrelabel>"
msgstr ""

#. type: textblock
#: ../lib/guestfs-availability.pod:324
msgid "The following functions: L</guestfs_selinux_relabel>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:327
msgid "B<sleuthkit>"
msgstr ""

#. type: textblock
#: ../lib/guestfs-availability.pod:329
msgid ""
"The following functions: L</guestfs_download_blocks> L</"
"guestfs_download_inode>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:333
msgid "B<squashfs>"
msgstr ""

#. type: textblock
#: ../lib/guestfs-availability.pod:335
msgid "The following functions: L</guestfs_mksquashfs>"
msgstr ""

#. type: =item
#: ../lib/guestfs-availability.pod:338
msgid "B<syslinux>"
msgstr "B<syslinux>"

#. type: textblock
#: ../lib/guestfs-availability.pod:340
msgid "The following functions: L</guestfs_syslinux>"
msgstr "The following functions: L</guestfs_syslinux>"

#. type: =item
#: ../lib/guestfs-availability.pod:343
msgid "B<wipefs>"
msgstr "B<wipefs>"

#. type: textblock
#: ../lib/guestfs-availability.pod:345
msgid "The following functions: L</guestfs_wipefs>"
msgstr "The following functions: L</guestfs_wipefs>"

#. type: =item
#: ../lib/guestfs-availability.pod:348
msgid "B<xfs>"
msgstr "B<xfs>"

#. type: textblock
#: ../lib/guestfs-availability.pod:350
msgid ""
"The following functions: L</guestfs_xfs_admin> L</guestfs_xfs_growfs> L</"
"guestfs_xfs_info> L</guestfs_xfs_repair>"
msgstr ""
"The following functions: L</guestfs_xfs_admin> L</guestfs_xfs_growfs> L</"
"guestfs_xfs_info> L</guestfs_xfs_repair>"

#. type: =item
#: ../lib/guestfs-availability.pod:356
msgid "B<xz>"
msgstr "B<xz>"

#. type: textblock
#: ../lib/guestfs-availability.pod:358
msgid "The following functions: L</guestfs_txz_in> L</guestfs_txz_out>"
msgstr "The following functions: L</guestfs_txz_in> L</guestfs_txz_out>"

#. type: =item
#: ../lib/guestfs-availability.pod:362
msgid "B<zerofree>"
msgstr "B<zerofree>"

#. type: textblock
#: ../lib/guestfs-availability.pod:364
msgid "The following functions: L</guestfs_zerofree>"
msgstr "The following functions: L</guestfs_zerofree>"

#. type: =head2
#: ../lib/guestfs-structs.pod:27
msgid "guestfs_int_bool"
msgstr "guestfs_int_bool"

#. type: verbatim
#: ../lib/guestfs-structs.pod:29
#, no-wrap
msgid ""
" struct guestfs_int_bool {\n"
"   int32_t i;\n"
"   int32_t b;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_int_bool {\n"
"   int32_t i;\n"
"   int32_t b;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:34
#, no-wrap
msgid ""
" struct guestfs_int_bool_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_int_bool *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:39
#, no-wrap
msgid ""
" int guestfs_compare_int_bool (const struct guestfs_int_bool *, const struct guestfs_int_bool *);\n"
" int guestfs_compare_int_bool_list (const struct guestfs_int_bool_list *, const struct guestfs_int_bool_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:42
#, no-wrap
msgid ""
" struct guestfs_int_bool *guestfs_copy_int_bool (const struct guestfs_int_bool *);\n"
" struct guestfs_int_bool_list *guestfs_copy_int_bool_list (const struct guestfs_int_bool_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:45
#, no-wrap
msgid ""
" void guestfs_free_int_bool (struct guestfs_int_bool *);\n"
" void guestfs_free_int_bool_list (struct guestfs_int_bool_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:48
msgid "guestfs_lvm_pv"
msgstr "guestfs_lvm_pv"

#. type: verbatim
#: ../lib/guestfs-structs.pod:50
#, no-wrap
msgid ""
" struct guestfs_lvm_pv {\n"
"   char *pv_name;\n"
"   /* The next field is NOT nul-terminated, be careful when printing it: */\n"
"   char pv_uuid[32];\n"
"   char *pv_fmt;\n"
"   uint64_t pv_size;\n"
"   uint64_t dev_size;\n"
"   uint64_t pv_free;\n"
"   uint64_t pv_used;\n"
"   char *pv_attr;\n"
"   int64_t pv_pe_count;\n"
"   int64_t pv_pe_alloc_count;\n"
"   char *pv_tags;\n"
"   uint64_t pe_start;\n"
"   int64_t pv_mda_count;\n"
"   uint64_t pv_mda_free;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_lvm_pv {\n"
"   char *pv_name;\n"
"   /* The next field is NOT nul-terminated, be careful when printing it: */\n"
"   char pv_uuid[32];\n"
"   char *pv_fmt;\n"
"   uint64_t pv_size;\n"
"   uint64_t dev_size;\n"
"   uint64_t pv_free;\n"
"   uint64_t pv_used;\n"
"   char *pv_attr;\n"
"   int64_t pv_pe_count;\n"
"   int64_t pv_pe_alloc_count;\n"
"   char *pv_tags;\n"
"   uint64_t pe_start;\n"
"   int64_t pv_mda_count;\n"
"   uint64_t pv_mda_free;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:68
#, no-wrap
msgid ""
" struct guestfs_lvm_pv_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_lvm_pv *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:73
#, no-wrap
msgid ""
" int guestfs_compare_lvm_pv (const struct guestfs_lvm_pv *, const struct guestfs_lvm_pv *);\n"
" int guestfs_compare_lvm_pv_list (const struct guestfs_lvm_pv_list *, const struct guestfs_lvm_pv_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:76
#, no-wrap
msgid ""
" struct guestfs_lvm_pv *guestfs_copy_lvm_pv (const struct guestfs_lvm_pv *);\n"
" struct guestfs_lvm_pv_list *guestfs_copy_lvm_pv_list (const struct guestfs_lvm_pv_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:79
#, no-wrap
msgid ""
" void guestfs_free_lvm_pv (struct guestfs_lvm_pv *);\n"
" void guestfs_free_lvm_pv_list (struct guestfs_lvm_pv_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:82
msgid "guestfs_lvm_vg"
msgstr "guestfs_lvm_vg"

#. type: verbatim
#: ../lib/guestfs-structs.pod:84
#, no-wrap
msgid ""
" struct guestfs_lvm_vg {\n"
"   char *vg_name;\n"
"   /* The next field is NOT nul-terminated, be careful when printing it: */\n"
"   char vg_uuid[32];\n"
"   char *vg_fmt;\n"
"   char *vg_attr;\n"
"   uint64_t vg_size;\n"
"   uint64_t vg_free;\n"
"   char *vg_sysid;\n"
"   uint64_t vg_extent_size;\n"
"   int64_t vg_extent_count;\n"
"   int64_t vg_free_count;\n"
"   int64_t max_lv;\n"
"   int64_t max_pv;\n"
"   int64_t pv_count;\n"
"   int64_t lv_count;\n"
"   int64_t snap_count;\n"
"   int64_t vg_seqno;\n"
"   char *vg_tags;\n"
"   int64_t vg_mda_count;\n"
"   uint64_t vg_mda_free;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_lvm_vg {\n"
"   char *vg_name;\n"
"   /* The next field is NOT nul-terminated, be careful when printing it: */\n"
"   char vg_uuid[32];\n"
"   char *vg_fmt;\n"
"   char *vg_attr;\n"
"   uint64_t vg_size;\n"
"   uint64_t vg_free;\n"
"   char *vg_sysid;\n"
"   uint64_t vg_extent_size;\n"
"   int64_t vg_extent_count;\n"
"   int64_t vg_free_count;\n"
"   int64_t max_lv;\n"
"   int64_t max_pv;\n"
"   int64_t pv_count;\n"
"   int64_t lv_count;\n"
"   int64_t snap_count;\n"
"   int64_t vg_seqno;\n"
"   char *vg_tags;\n"
"   int64_t vg_mda_count;\n"
"   uint64_t vg_mda_free;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:107
#, no-wrap
msgid ""
" struct guestfs_lvm_vg_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_lvm_vg *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:112
#, no-wrap
msgid ""
" int guestfs_compare_lvm_vg (const struct guestfs_lvm_vg *, const struct guestfs_lvm_vg *);\n"
" int guestfs_compare_lvm_vg_list (const struct guestfs_lvm_vg_list *, const struct guestfs_lvm_vg_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:115
#, no-wrap
msgid ""
" struct guestfs_lvm_vg *guestfs_copy_lvm_vg (const struct guestfs_lvm_vg *);\n"
" struct guestfs_lvm_vg_list *guestfs_copy_lvm_vg_list (const struct guestfs_lvm_vg_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:118
#, no-wrap
msgid ""
" void guestfs_free_lvm_vg (struct guestfs_lvm_vg *);\n"
" void guestfs_free_lvm_vg_list (struct guestfs_lvm_vg_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:121
msgid "guestfs_lvm_lv"
msgstr "guestfs_lvm_lv"

#. type: verbatim
#: ../lib/guestfs-structs.pod:123
#, no-wrap
msgid ""
" struct guestfs_lvm_lv {\n"
"   char *lv_name;\n"
"   /* The next field is NOT nul-terminated, be careful when printing it: */\n"
"   char lv_uuid[32];\n"
"   char *lv_attr;\n"
"   int64_t lv_major;\n"
"   int64_t lv_minor;\n"
"   int64_t lv_kernel_major;\n"
"   int64_t lv_kernel_minor;\n"
"   uint64_t lv_size;\n"
"   int64_t seg_count;\n"
"   char *origin;\n"
"   /* The next field is [0..100] or -1 meaning 'not present': */\n"
"   float snap_percent;\n"
"   /* The next field is [0..100] or -1 meaning 'not present': */\n"
"   float copy_percent;\n"
"   char *move_pv;\n"
"   char *lv_tags;\n"
"   char *mirror_log;\n"
"   char *modules;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_lvm_lv {\n"
"   char *lv_name;\n"
"   /* The next field is NOT nul-terminated, be careful when printing it: */\n"
"   char lv_uuid[32];\n"
"   char *lv_attr;\n"
"   int64_t lv_major;\n"
"   int64_t lv_minor;\n"
"   int64_t lv_kernel_major;\n"
"   int64_t lv_kernel_minor;\n"
"   uint64_t lv_size;\n"
"   int64_t seg_count;\n"
"   char *origin;\n"
"   /* The next field is [0..100] or -1 meaning 'not present': */\n"
"   float snap_percent;\n"
"   /* The next field is [0..100] or -1 meaning 'not present': */\n"
"   float copy_percent;\n"
"   char *move_pv;\n"
"   char *lv_tags;\n"
"   char *mirror_log;\n"
"   char *modules;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:145
#, no-wrap
msgid ""
" struct guestfs_lvm_lv_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_lvm_lv *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:150
#, no-wrap
msgid ""
" int guestfs_compare_lvm_lv (const struct guestfs_lvm_lv *, const struct guestfs_lvm_lv *);\n"
" int guestfs_compare_lvm_lv_list (const struct guestfs_lvm_lv_list *, const struct guestfs_lvm_lv_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:153
#, no-wrap
msgid ""
" struct guestfs_lvm_lv *guestfs_copy_lvm_lv (const struct guestfs_lvm_lv *);\n"
" struct guestfs_lvm_lv_list *guestfs_copy_lvm_lv_list (const struct guestfs_lvm_lv_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:156
#, no-wrap
msgid ""
" void guestfs_free_lvm_lv (struct guestfs_lvm_lv *);\n"
" void guestfs_free_lvm_lv_list (struct guestfs_lvm_lv_list *);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:161
#, no-wrap
msgid ""
" struct guestfs_stat {\n"
"   int64_t dev;\n"
"   int64_t ino;\n"
"   int64_t mode;\n"
"   int64_t nlink;\n"
"   int64_t uid;\n"
"   int64_t gid;\n"
"   int64_t rdev;\n"
"   int64_t size;\n"
"   int64_t blksize;\n"
"   int64_t blocks;\n"
"   int64_t atime;\n"
"   int64_t mtime;\n"
"   int64_t ctime;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_stat {\n"
"   int64_t dev;\n"
"   int64_t ino;\n"
"   int64_t mode;\n"
"   int64_t nlink;\n"
"   int64_t uid;\n"
"   int64_t gid;\n"
"   int64_t rdev;\n"
"   int64_t size;\n"
"   int64_t blksize;\n"
"   int64_t blocks;\n"
"   int64_t atime;\n"
"   int64_t mtime;\n"
"   int64_t ctime;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:177
#, no-wrap
msgid ""
" struct guestfs_stat_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_stat *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:182
#, no-wrap
msgid ""
" int guestfs_compare_stat (const struct guestfs_stat *, const struct guestfs_stat *);\n"
" int guestfs_compare_stat_list (const struct guestfs_stat_list *, const struct guestfs_stat_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:185
#, no-wrap
msgid ""
" struct guestfs_stat *guestfs_copy_stat (const struct guestfs_stat *);\n"
" struct guestfs_stat_list *guestfs_copy_stat_list (const struct guestfs_stat_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:188
#, no-wrap
msgid ""
" void guestfs_free_stat (struct guestfs_stat *);\n"
" void guestfs_free_stat_list (struct guestfs_stat_list *);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:193
#, no-wrap
msgid ""
" struct guestfs_statns {\n"
"   int64_t st_dev;\n"
"   int64_t st_ino;\n"
"   int64_t st_mode;\n"
"   int64_t st_nlink;\n"
"   int64_t st_uid;\n"
"   int64_t st_gid;\n"
"   int64_t st_rdev;\n"
"   int64_t st_size;\n"
"   int64_t st_blksize;\n"
"   int64_t st_blocks;\n"
"   int64_t st_atime_sec;\n"
"   int64_t st_atime_nsec;\n"
"   int64_t st_mtime_sec;\n"
"   int64_t st_mtime_nsec;\n"
"   int64_t st_ctime_sec;\n"
"   int64_t st_ctime_nsec;\n"
"   int64_t st_spare1;\n"
"   int64_t st_spare2;\n"
"   int64_t st_spare3;\n"
"   int64_t st_spare4;\n"
"   int64_t st_spare5;\n"
"   int64_t st_spare6;\n"
" };\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:218
#, no-wrap
msgid ""
" struct guestfs_statns_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_statns *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:223
#, no-wrap
msgid ""
" int guestfs_compare_statns (const struct guestfs_statns *, const struct guestfs_statns *);\n"
" int guestfs_compare_statns_list (const struct guestfs_statns_list *, const struct guestfs_statns_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:226
#, no-wrap
msgid ""
" struct guestfs_statns *guestfs_copy_statns (const struct guestfs_statns *);\n"
" struct guestfs_statns_list *guestfs_copy_statns_list (const struct guestfs_statns_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:229
#, no-wrap
msgid ""
" void guestfs_free_statns (struct guestfs_statns *);\n"
" void guestfs_free_statns_list (struct guestfs_statns_list *);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:234
#, no-wrap
msgid ""
" struct guestfs_statvfs {\n"
"   int64_t bsize;\n"
"   int64_t frsize;\n"
"   int64_t blocks;\n"
"   int64_t bfree;\n"
"   int64_t bavail;\n"
"   int64_t files;\n"
"   int64_t ffree;\n"
"   int64_t favail;\n"
"   int64_t fsid;\n"
"   int64_t flag;\n"
"   int64_t namemax;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_statvfs {\n"
"   int64_t bsize;\n"
"   int64_t frsize;\n"
"   int64_t blocks;\n"
"   int64_t bfree;\n"
"   int64_t bavail;\n"
"   int64_t files;\n"
"   int64_t ffree;\n"
"   int64_t favail;\n"
"   int64_t fsid;\n"
"   int64_t flag;\n"
"   int64_t namemax;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:248
#, no-wrap
msgid ""
" struct guestfs_statvfs_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_statvfs *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:253
#, no-wrap
msgid ""
" int guestfs_compare_statvfs (const struct guestfs_statvfs *, const struct guestfs_statvfs *);\n"
" int guestfs_compare_statvfs_list (const struct guestfs_statvfs_list *, const struct guestfs_statvfs_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:256
#, no-wrap
msgid ""
" struct guestfs_statvfs *guestfs_copy_statvfs (const struct guestfs_statvfs *);\n"
" struct guestfs_statvfs_list *guestfs_copy_statvfs_list (const struct guestfs_statvfs_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:259
#, no-wrap
msgid ""
" void guestfs_free_statvfs (struct guestfs_statvfs *);\n"
" void guestfs_free_statvfs_list (struct guestfs_statvfs_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:262
msgid "guestfs_dirent"
msgstr "guestfs_dirent"

#. type: verbatim
#: ../lib/guestfs-structs.pod:264
#, no-wrap
msgid ""
" struct guestfs_dirent {\n"
"   int64_t ino;\n"
"   char ftyp;\n"
"   char *name;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_dirent {\n"
"   int64_t ino;\n"
"   char ftyp;\n"
"   char *name;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:270
#, no-wrap
msgid ""
" struct guestfs_dirent_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_dirent *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:275
#, no-wrap
msgid ""
" int guestfs_compare_dirent (const struct guestfs_dirent *, const struct guestfs_dirent *);\n"
" int guestfs_compare_dirent_list (const struct guestfs_dirent_list *, const struct guestfs_dirent_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:278
#, no-wrap
msgid ""
" struct guestfs_dirent *guestfs_copy_dirent (const struct guestfs_dirent *);\n"
" struct guestfs_dirent_list *guestfs_copy_dirent_list (const struct guestfs_dirent_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:281
#, no-wrap
msgid ""
" void guestfs_free_dirent (struct guestfs_dirent *);\n"
" void guestfs_free_dirent_list (struct guestfs_dirent_list *);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:286
#, no-wrap
msgid ""
" struct guestfs_version {\n"
"   int64_t major;\n"
"   int64_t minor;\n"
"   int64_t release;\n"
"   char *extra;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_version {\n"
"   int64_t major;\n"
"   int64_t minor;\n"
"   int64_t release;\n"
"   char *extra;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:293
#, no-wrap
msgid ""
" struct guestfs_version_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_version *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:298
#, no-wrap
msgid ""
" int guestfs_compare_version (const struct guestfs_version *, const struct guestfs_version *);\n"
" int guestfs_compare_version_list (const struct guestfs_version_list *, const struct guestfs_version_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:301
#, no-wrap
msgid ""
" struct guestfs_version *guestfs_copy_version (const struct guestfs_version *);\n"
" struct guestfs_version_list *guestfs_copy_version_list (const struct guestfs_version_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:304
#, no-wrap
msgid ""
" void guestfs_free_version (struct guestfs_version *);\n"
" void guestfs_free_version_list (struct guestfs_version_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:307
msgid "guestfs_xattr"
msgstr "guestfs_xattr"

#. type: verbatim
#: ../lib/guestfs-structs.pod:309
#, no-wrap
msgid ""
" struct guestfs_xattr {\n"
"   char *attrname;\n"
"   /* The next two fields describe a byte array. */\n"
"   uint32_t attrval_len;\n"
"   char *attrval;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_xattr {\n"
"   char *attrname;\n"
"   /* The next two fields describe a byte array. */\n"
"   uint32_t attrval_len;\n"
"   char *attrval;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:316
#, no-wrap
msgid ""
" struct guestfs_xattr_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_xattr *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:321
#, no-wrap
msgid ""
" int guestfs_compare_xattr (const struct guestfs_xattr *, const struct guestfs_xattr *);\n"
" int guestfs_compare_xattr_list (const struct guestfs_xattr_list *, const struct guestfs_xattr_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:324
#, no-wrap
msgid ""
" struct guestfs_xattr *guestfs_copy_xattr (const struct guestfs_xattr *);\n"
" struct guestfs_xattr_list *guestfs_copy_xattr_list (const struct guestfs_xattr_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:327
#, no-wrap
msgid ""
" void guestfs_free_xattr (struct guestfs_xattr *);\n"
" void guestfs_free_xattr_list (struct guestfs_xattr_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:330
msgid "guestfs_inotify_event"
msgstr "guestfs_inotify_event"

#. type: verbatim
#: ../lib/guestfs-structs.pod:332
#, no-wrap
msgid ""
" struct guestfs_inotify_event {\n"
"   int64_t in_wd;\n"
"   uint32_t in_mask;\n"
"   uint32_t in_cookie;\n"
"   char *in_name;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_inotify_event {\n"
"   int64_t in_wd;\n"
"   uint32_t in_mask;\n"
"   uint32_t in_cookie;\n"
"   char *in_name;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:339
#, no-wrap
msgid ""
" struct guestfs_inotify_event_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_inotify_event *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:344
#, no-wrap
msgid ""
" int guestfs_compare_inotify_event (const struct guestfs_inotify_event *, const struct guestfs_inotify_event *);\n"
" int guestfs_compare_inotify_event_list (const struct guestfs_inotify_event_list *, const struct guestfs_inotify_event_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:347
#, no-wrap
msgid ""
" struct guestfs_inotify_event *guestfs_copy_inotify_event (const struct guestfs_inotify_event *);\n"
" struct guestfs_inotify_event_list *guestfs_copy_inotify_event_list (const struct guestfs_inotify_event_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:350
#, no-wrap
msgid ""
" void guestfs_free_inotify_event (struct guestfs_inotify_event *);\n"
" void guestfs_free_inotify_event_list (struct guestfs_inotify_event_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:353
msgid "guestfs_partition"
msgstr "guestfs_partition"

#. type: verbatim
#: ../lib/guestfs-structs.pod:355
#, no-wrap
msgid ""
" struct guestfs_partition {\n"
"   int32_t part_num;\n"
"   uint64_t part_start;\n"
"   uint64_t part_end;\n"
"   uint64_t part_size;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_partition {\n"
"   int32_t part_num;\n"
"   uint64_t part_start;\n"
"   uint64_t part_end;\n"
"   uint64_t part_size;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:362
#, no-wrap
msgid ""
" struct guestfs_partition_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_partition *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:367
#, no-wrap
msgid ""
" int guestfs_compare_partition (const struct guestfs_partition *, const struct guestfs_partition *);\n"
" int guestfs_compare_partition_list (const struct guestfs_partition_list *, const struct guestfs_partition_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:370
#, no-wrap
msgid ""
" struct guestfs_partition *guestfs_copy_partition (const struct guestfs_partition *);\n"
" struct guestfs_partition_list *guestfs_copy_partition_list (const struct guestfs_partition_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:373
#, no-wrap
msgid ""
" void guestfs_free_partition (struct guestfs_partition *);\n"
" void guestfs_free_partition_list (struct guestfs_partition_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:376
msgid "guestfs_application"
msgstr "guestfs_application"

#. type: verbatim
#: ../lib/guestfs-structs.pod:378
#, no-wrap
msgid ""
" struct guestfs_application {\n"
"   char *app_name;\n"
"   char *app_display_name;\n"
"   int32_t app_epoch;\n"
"   char *app_version;\n"
"   char *app_release;\n"
"   char *app_install_path;\n"
"   char *app_trans_path;\n"
"   char *app_publisher;\n"
"   char *app_url;\n"
"   char *app_source_package;\n"
"   char *app_summary;\n"
"   char *app_description;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_application {\n"
"   char *app_name;\n"
"   char *app_display_name;\n"
"   int32_t app_epoch;\n"
"   char *app_version;\n"
"   char *app_release;\n"
"   char *app_install_path;\n"
"   char *app_trans_path;\n"
"   char *app_publisher;\n"
"   char *app_url;\n"
"   char *app_source_package;\n"
"   char *app_summary;\n"
"   char *app_description;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:393
#, no-wrap
msgid ""
" struct guestfs_application_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_application *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:398
#, no-wrap
msgid ""
" int guestfs_compare_application (const struct guestfs_application *, const struct guestfs_application *);\n"
" int guestfs_compare_application_list (const struct guestfs_application_list *, const struct guestfs_application_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:401
#, no-wrap
msgid ""
" struct guestfs_application *guestfs_copy_application (const struct guestfs_application *);\n"
" struct guestfs_application_list *guestfs_copy_application_list (const struct guestfs_application_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:404
#, no-wrap
msgid ""
" void guestfs_free_application (struct guestfs_application *);\n"
" void guestfs_free_application_list (struct guestfs_application_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:407
msgid "guestfs_application2"
msgstr "guestfs_application2"

#. type: verbatim
#: ../lib/guestfs-structs.pod:409
#, no-wrap
msgid ""
" struct guestfs_application2 {\n"
"   char *app2_name;\n"
"   char *app2_display_name;\n"
"   int32_t app2_epoch;\n"
"   char *app2_version;\n"
"   char *app2_release;\n"
"   char *app2_arch;\n"
"   char *app2_install_path;\n"
"   char *app2_trans_path;\n"
"   char *app2_publisher;\n"
"   char *app2_url;\n"
"   char *app2_source_package;\n"
"   char *app2_summary;\n"
"   char *app2_description;\n"
"   char *app2_spare1;\n"
"   char *app2_spare2;\n"
"   char *app2_spare3;\n"
"   char *app2_spare4;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_application2 {\n"
"   char *app2_name;\n"
"   char *app2_display_name;\n"
"   int32_t app2_epoch;\n"
"   char *app2_version;\n"
"   char *app2_release;\n"
"   char *app2_arch;\n"
"   char *app2_install_path;\n"
"   char *app2_trans_path;\n"
"   char *app2_publisher;\n"
"   char *app2_url;\n"
"   char *app2_source_package;\n"
"   char *app2_summary;\n"
"   char *app2_description;\n"
"   char *app2_spare1;\n"
"   char *app2_spare2;\n"
"   char *app2_spare3;\n"
"   char *app2_spare4;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:429
#, no-wrap
msgid ""
" struct guestfs_application2_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_application2 *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:434
#, no-wrap
msgid ""
" int guestfs_compare_application2 (const struct guestfs_application2 *, const struct guestfs_application2 *);\n"
" int guestfs_compare_application2_list (const struct guestfs_application2_list *, const struct guestfs_application2_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:437
#, no-wrap
msgid ""
" struct guestfs_application2 *guestfs_copy_application2 (const struct guestfs_application2 *);\n"
" struct guestfs_application2_list *guestfs_copy_application2_list (const struct guestfs_application2_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:440
#, no-wrap
msgid ""
" void guestfs_free_application2 (struct guestfs_application2 *);\n"
" void guestfs_free_application2_list (struct guestfs_application2_list *);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:445
#, no-wrap
msgid ""
" struct guestfs_isoinfo {\n"
"   char *iso_system_id;\n"
"   char *iso_volume_id;\n"
"   uint32_t iso_volume_space_size;\n"
"   uint32_t iso_volume_set_size;\n"
"   uint32_t iso_volume_sequence_number;\n"
"   uint32_t iso_logical_block_size;\n"
"   char *iso_volume_set_id;\n"
"   char *iso_publisher_id;\n"
"   char *iso_data_preparer_id;\n"
"   char *iso_application_id;\n"
"   char *iso_copyright_file_id;\n"
"   char *iso_abstract_file_id;\n"
"   char *iso_bibliographic_file_id;\n"
"   int64_t iso_volume_creation_t;\n"
"   int64_t iso_volume_modification_t;\n"
"   int64_t iso_volume_expiration_t;\n"
"   int64_t iso_volume_effective_t;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_isoinfo {\n"
"   char *iso_system_id;\n"
"   char *iso_volume_id;\n"
"   uint32_t iso_volume_space_size;\n"
"   uint32_t iso_volume_set_size;\n"
"   uint32_t iso_volume_sequence_number;\n"
"   uint32_t iso_logical_block_size;\n"
"   char *iso_volume_set_id;\n"
"   char *iso_publisher_id;\n"
"   char *iso_data_preparer_id;\n"
"   char *iso_application_id;\n"
"   char *iso_copyright_file_id;\n"
"   char *iso_abstract_file_id;\n"
"   char *iso_bibliographic_file_id;\n"
"   int64_t iso_volume_creation_t;\n"
"   int64_t iso_volume_modification_t;\n"
"   int64_t iso_volume_expiration_t;\n"
"   int64_t iso_volume_effective_t;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:465
#, no-wrap
msgid ""
" struct guestfs_isoinfo_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_isoinfo *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:470
#, no-wrap
msgid ""
" int guestfs_compare_isoinfo (const struct guestfs_isoinfo *, const struct guestfs_isoinfo *);\n"
" int guestfs_compare_isoinfo_list (const struct guestfs_isoinfo_list *, const struct guestfs_isoinfo_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:473
#, no-wrap
msgid ""
" struct guestfs_isoinfo *guestfs_copy_isoinfo (const struct guestfs_isoinfo *);\n"
" struct guestfs_isoinfo_list *guestfs_copy_isoinfo_list (const struct guestfs_isoinfo_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:476
#, no-wrap
msgid ""
" void guestfs_free_isoinfo (struct guestfs_isoinfo *);\n"
" void guestfs_free_isoinfo_list (struct guestfs_isoinfo_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:479
msgid "guestfs_mdstat"
msgstr "guestfs_mdstat"

#. type: verbatim
#: ../lib/guestfs-structs.pod:481
#, no-wrap
msgid ""
" struct guestfs_mdstat {\n"
"   char *mdstat_device;\n"
"   int32_t mdstat_index;\n"
"   char *mdstat_flags;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_mdstat {\n"
"   char *mdstat_device;\n"
"   int32_t mdstat_index;\n"
"   char *mdstat_flags;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:487
#, no-wrap
msgid ""
" struct guestfs_mdstat_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_mdstat *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:492
#, no-wrap
msgid ""
" int guestfs_compare_mdstat (const struct guestfs_mdstat *, const struct guestfs_mdstat *);\n"
" int guestfs_compare_mdstat_list (const struct guestfs_mdstat_list *, const struct guestfs_mdstat_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:495
#, no-wrap
msgid ""
" struct guestfs_mdstat *guestfs_copy_mdstat (const struct guestfs_mdstat *);\n"
" struct guestfs_mdstat_list *guestfs_copy_mdstat_list (const struct guestfs_mdstat_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:498
#, no-wrap
msgid ""
" void guestfs_free_mdstat (struct guestfs_mdstat *);\n"
" void guestfs_free_mdstat_list (struct guestfs_mdstat_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:501
msgid "guestfs_btrfssubvolume"
msgstr "guestfs_btrfssubvolume"

#. type: verbatim
#: ../lib/guestfs-structs.pod:503
#, no-wrap
msgid ""
" struct guestfs_btrfssubvolume {\n"
"   uint64_t btrfssubvolume_id;\n"
"   uint64_t btrfssubvolume_top_level_id;\n"
"   char *btrfssubvolume_path;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_btrfssubvolume {\n"
"   uint64_t btrfssubvolume_id;\n"
"   uint64_t btrfssubvolume_top_level_id;\n"
"   char *btrfssubvolume_path;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:509
#, no-wrap
msgid ""
" struct guestfs_btrfssubvolume_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_btrfssubvolume *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:514
#, no-wrap
msgid ""
" int guestfs_compare_btrfssubvolume (const struct guestfs_btrfssubvolume *, const struct guestfs_btrfssubvolume *);\n"
" int guestfs_compare_btrfssubvolume_list (const struct guestfs_btrfssubvolume_list *, const struct guestfs_btrfssubvolume_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:517
#, no-wrap
msgid ""
" struct guestfs_btrfssubvolume *guestfs_copy_btrfssubvolume (const struct guestfs_btrfssubvolume *);\n"
" struct guestfs_btrfssubvolume_list *guestfs_copy_btrfssubvolume_list (const struct guestfs_btrfssubvolume_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:520
#, no-wrap
msgid ""
" void guestfs_free_btrfssubvolume (struct guestfs_btrfssubvolume *);\n"
" void guestfs_free_btrfssubvolume_list (struct guestfs_btrfssubvolume_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:523
msgid "guestfs_btrfsqgroup"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:525
#, no-wrap
msgid ""
" struct guestfs_btrfsqgroup {\n"
"   char *btrfsqgroup_id;\n"
"   uint64_t btrfsqgroup_rfer;\n"
"   uint64_t btrfsqgroup_excl;\n"
" };\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:531
#, no-wrap
msgid ""
" struct guestfs_btrfsqgroup_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_btrfsqgroup *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:536
#, no-wrap
msgid ""
" int guestfs_compare_btrfsqgroup (const struct guestfs_btrfsqgroup *, const struct guestfs_btrfsqgroup *);\n"
" int guestfs_compare_btrfsqgroup_list (const struct guestfs_btrfsqgroup_list *, const struct guestfs_btrfsqgroup_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:539
#, no-wrap
msgid ""
" struct guestfs_btrfsqgroup *guestfs_copy_btrfsqgroup (const struct guestfs_btrfsqgroup *);\n"
" struct guestfs_btrfsqgroup_list *guestfs_copy_btrfsqgroup_list (const struct guestfs_btrfsqgroup_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:542
#, no-wrap
msgid ""
" void guestfs_free_btrfsqgroup (struct guestfs_btrfsqgroup *);\n"
" void guestfs_free_btrfsqgroup_list (struct guestfs_btrfsqgroup_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:545
msgid "guestfs_btrfsbalance"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:547
#, no-wrap
msgid ""
" struct guestfs_btrfsbalance {\n"
"   char *btrfsbalance_status;\n"
"   uint64_t btrfsbalance_total;\n"
"   uint64_t btrfsbalance_balanced;\n"
"   uint64_t btrfsbalance_considered;\n"
"   uint64_t btrfsbalance_left;\n"
" };\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:555
#, no-wrap
msgid ""
" struct guestfs_btrfsbalance_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_btrfsbalance *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:560
#, no-wrap
msgid ""
" int guestfs_compare_btrfsbalance (const struct guestfs_btrfsbalance *, const struct guestfs_btrfsbalance *);\n"
" int guestfs_compare_btrfsbalance_list (const struct guestfs_btrfsbalance_list *, const struct guestfs_btrfsbalance_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:563
#, no-wrap
msgid ""
" struct guestfs_btrfsbalance *guestfs_copy_btrfsbalance (const struct guestfs_btrfsbalance *);\n"
" struct guestfs_btrfsbalance_list *guestfs_copy_btrfsbalance_list (const struct guestfs_btrfsbalance_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:566
#, no-wrap
msgid ""
" void guestfs_free_btrfsbalance (struct guestfs_btrfsbalance *);\n"
" void guestfs_free_btrfsbalance_list (struct guestfs_btrfsbalance_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:569
msgid "guestfs_btrfsscrub"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:571
#, no-wrap
msgid ""
" struct guestfs_btrfsscrub {\n"
"   uint64_t btrfsscrub_data_extents_scrubbed;\n"
"   uint64_t btrfsscrub_tree_extents_scrubbed;\n"
"   uint64_t btrfsscrub_data_bytes_scrubbed;\n"
"   uint64_t btrfsscrub_tree_bytes_scrubbed;\n"
"   uint64_t btrfsscrub_read_errors;\n"
"   uint64_t btrfsscrub_csum_errors;\n"
"   uint64_t btrfsscrub_verify_errors;\n"
"   uint64_t btrfsscrub_no_csum;\n"
"   uint64_t btrfsscrub_csum_discards;\n"
"   uint64_t btrfsscrub_super_errors;\n"
"   uint64_t btrfsscrub_malloc_errors;\n"
"   uint64_t btrfsscrub_uncorrectable_errors;\n"
"   uint64_t btrfsscrub_unverified_errors;\n"
"   uint64_t btrfsscrub_corrected_errors;\n"
"   uint64_t btrfsscrub_last_physical;\n"
" };\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:589
#, no-wrap
msgid ""
" struct guestfs_btrfsscrub_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_btrfsscrub *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:594
#, no-wrap
msgid ""
" int guestfs_compare_btrfsscrub (const struct guestfs_btrfsscrub *, const struct guestfs_btrfsscrub *);\n"
" int guestfs_compare_btrfsscrub_list (const struct guestfs_btrfsscrub_list *, const struct guestfs_btrfsscrub_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:597
#, no-wrap
msgid ""
" struct guestfs_btrfsscrub *guestfs_copy_btrfsscrub (const struct guestfs_btrfsscrub *);\n"
" struct guestfs_btrfsscrub_list *guestfs_copy_btrfsscrub_list (const struct guestfs_btrfsscrub_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:600
#, no-wrap
msgid ""
" void guestfs_free_btrfsscrub (struct guestfs_btrfsscrub *);\n"
" void guestfs_free_btrfsscrub_list (struct guestfs_btrfsscrub_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:603
msgid "guestfs_xfsinfo"
msgstr "guestfs_xfsinfo"

#. type: verbatim
#: ../lib/guestfs-structs.pod:605
#, no-wrap
msgid ""
" struct guestfs_xfsinfo {\n"
"   char *xfs_mntpoint;\n"
"   uint32_t xfs_inodesize;\n"
"   uint32_t xfs_agcount;\n"
"   uint32_t xfs_agsize;\n"
"   uint32_t xfs_sectsize;\n"
"   uint32_t xfs_attr;\n"
"   uint32_t xfs_blocksize;\n"
"   uint64_t xfs_datablocks;\n"
"   uint32_t xfs_imaxpct;\n"
"   uint32_t xfs_sunit;\n"
"   uint32_t xfs_swidth;\n"
"   uint32_t xfs_dirversion;\n"
"   uint32_t xfs_dirblocksize;\n"
"   uint32_t xfs_cimode;\n"
"   char *xfs_logname;\n"
"   uint32_t xfs_logblocksize;\n"
"   uint32_t xfs_logblocks;\n"
"   uint32_t xfs_logversion;\n"
"   uint32_t xfs_logsectsize;\n"
"   uint32_t xfs_logsunit;\n"
"   uint32_t xfs_lazycount;\n"
"   char *xfs_rtname;\n"
"   uint32_t xfs_rtextsize;\n"
"   uint64_t xfs_rtblocks;\n"
"   uint64_t xfs_rtextents;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_xfsinfo {\n"
"   char *xfs_mntpoint;\n"
"   uint32_t xfs_inodesize;\n"
"   uint32_t xfs_agcount;\n"
"   uint32_t xfs_agsize;\n"
"   uint32_t xfs_sectsize;\n"
"   uint32_t xfs_attr;\n"
"   uint32_t xfs_blocksize;\n"
"   uint64_t xfs_datablocks;\n"
"   uint32_t xfs_imaxpct;\n"
"   uint32_t xfs_sunit;\n"
"   uint32_t xfs_swidth;\n"
"   uint32_t xfs_dirversion;\n"
"   uint32_t xfs_dirblocksize;\n"
"   uint32_t xfs_cimode;\n"
"   char *xfs_logname;\n"
"   uint32_t xfs_logblocksize;\n"
"   uint32_t xfs_logblocks;\n"
"   uint32_t xfs_logversion;\n"
"   uint32_t xfs_logsectsize;\n"
"   uint32_t xfs_logsunit;\n"
"   uint32_t xfs_lazycount;\n"
"   char *xfs_rtname;\n"
"   uint32_t xfs_rtextsize;\n"
"   uint64_t xfs_rtblocks;\n"
"   uint64_t xfs_rtextents;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:633
#, no-wrap
msgid ""
" struct guestfs_xfsinfo_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_xfsinfo *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:638
#, no-wrap
msgid ""
" int guestfs_compare_xfsinfo (const struct guestfs_xfsinfo *, const struct guestfs_xfsinfo *);\n"
" int guestfs_compare_xfsinfo_list (const struct guestfs_xfsinfo_list *, const struct guestfs_xfsinfo_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:641
#, no-wrap
msgid ""
" struct guestfs_xfsinfo *guestfs_copy_xfsinfo (const struct guestfs_xfsinfo *);\n"
" struct guestfs_xfsinfo_list *guestfs_copy_xfsinfo_list (const struct guestfs_xfsinfo_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:644
#, no-wrap
msgid ""
" void guestfs_free_xfsinfo (struct guestfs_xfsinfo *);\n"
" void guestfs_free_xfsinfo_list (struct guestfs_xfsinfo_list *);\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:649
#, no-wrap
msgid ""
" struct guestfs_utsname {\n"
"   char *uts_sysname;\n"
"   char *uts_release;\n"
"   char *uts_version;\n"
"   char *uts_machine;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_utsname {\n"
"   char *uts_sysname;\n"
"   char *uts_release;\n"
"   char *uts_version;\n"
"   char *uts_machine;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:656
#, no-wrap
msgid ""
" struct guestfs_utsname_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_utsname *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:661
#, no-wrap
msgid ""
" int guestfs_compare_utsname (const struct guestfs_utsname *, const struct guestfs_utsname *);\n"
" int guestfs_compare_utsname_list (const struct guestfs_utsname_list *, const struct guestfs_utsname_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:664
#, no-wrap
msgid ""
" struct guestfs_utsname *guestfs_copy_utsname (const struct guestfs_utsname *);\n"
" struct guestfs_utsname_list *guestfs_copy_utsname_list (const struct guestfs_utsname_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:667
#, no-wrap
msgid ""
" void guestfs_free_utsname (struct guestfs_utsname *);\n"
" void guestfs_free_utsname_list (struct guestfs_utsname_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:670
msgid "guestfs_hivex_node"
msgstr "guestfs_hivex_node"

#. type: verbatim
#: ../lib/guestfs-structs.pod:672
#, no-wrap
msgid ""
" struct guestfs_hivex_node {\n"
"   int64_t hivex_node_h;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_hivex_node {\n"
"   int64_t hivex_node_h;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:676
#, no-wrap
msgid ""
" struct guestfs_hivex_node_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_hivex_node *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:681
#, no-wrap
msgid ""
" int guestfs_compare_hivex_node (const struct guestfs_hivex_node *, const struct guestfs_hivex_node *);\n"
" int guestfs_compare_hivex_node_list (const struct guestfs_hivex_node_list *, const struct guestfs_hivex_node_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:684
#, no-wrap
msgid ""
" struct guestfs_hivex_node *guestfs_copy_hivex_node (const struct guestfs_hivex_node *);\n"
" struct guestfs_hivex_node_list *guestfs_copy_hivex_node_list (const struct guestfs_hivex_node_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:687
#, no-wrap
msgid ""
" void guestfs_free_hivex_node (struct guestfs_hivex_node *);\n"
" void guestfs_free_hivex_node_list (struct guestfs_hivex_node_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:690
msgid "guestfs_hivex_value"
msgstr "guestfs_hivex_value"

#. type: verbatim
#: ../lib/guestfs-structs.pod:692
#, no-wrap
msgid ""
" struct guestfs_hivex_value {\n"
"   int64_t hivex_value_h;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_hivex_value {\n"
"   int64_t hivex_value_h;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:696
#, no-wrap
msgid ""
" struct guestfs_hivex_value_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_hivex_value *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:701
#, no-wrap
msgid ""
" int guestfs_compare_hivex_value (const struct guestfs_hivex_value *, const struct guestfs_hivex_value *);\n"
" int guestfs_compare_hivex_value_list (const struct guestfs_hivex_value_list *, const struct guestfs_hivex_value_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:704
#, no-wrap
msgid ""
" struct guestfs_hivex_value *guestfs_copy_hivex_value (const struct guestfs_hivex_value *);\n"
" struct guestfs_hivex_value_list *guestfs_copy_hivex_value_list (const struct guestfs_hivex_value_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:707
#, no-wrap
msgid ""
" void guestfs_free_hivex_value (struct guestfs_hivex_value *);\n"
" void guestfs_free_hivex_value_list (struct guestfs_hivex_value_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:710
msgid "guestfs_internal_mountable"
msgstr "guestfs_internal_mountable"

#. type: verbatim
#: ../lib/guestfs-structs.pod:712
#, no-wrap
msgid ""
" struct guestfs_internal_mountable {\n"
"   int32_t im_type;\n"
"   char *im_device;\n"
"   char *im_volume;\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_internal_mountable {\n"
"   int32_t im_type;\n"
"   char *im_device;\n"
"   char *im_volume;\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs-structs.pod:718
#, no-wrap
msgid ""
" struct guestfs_internal_mountable_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_internal_mountable *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:723
#, no-wrap
msgid ""
" int guestfs_compare_internal_mountable (const struct guestfs_internal_mountable *, const struct guestfs_internal_mountable *);\n"
" int guestfs_compare_internal_mountable_list (const struct guestfs_internal_mountable_list *, const struct guestfs_internal_mountable_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:726
#, no-wrap
msgid ""
" struct guestfs_internal_mountable *guestfs_copy_internal_mountable (const struct guestfs_internal_mountable *);\n"
" struct guestfs_internal_mountable_list *guestfs_copy_internal_mountable_list (const struct guestfs_internal_mountable_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:729
#, no-wrap
msgid ""
" void guestfs_free_internal_mountable (struct guestfs_internal_mountable *);\n"
" void guestfs_free_internal_mountable_list (struct guestfs_internal_mountable_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:732
msgid "guestfs_tsk_dirent"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:734
#, no-wrap
msgid ""
" struct guestfs_tsk_dirent {\n"
"   uint64_t tsk_inode;\n"
"   char tsk_type;\n"
"   int64_t tsk_size;\n"
"   char *tsk_name;\n"
"   uint32_t tsk_flags;\n"
"   int64_t tsk_atime_sec;\n"
"   int64_t tsk_atime_nsec;\n"
"   int64_t tsk_mtime_sec;\n"
"   int64_t tsk_mtime_nsec;\n"
"   int64_t tsk_ctime_sec;\n"
"   int64_t tsk_ctime_nsec;\n"
"   int64_t tsk_crtime_sec;\n"
"   int64_t tsk_crtime_nsec;\n"
"   int64_t tsk_nlink;\n"
"   char *tsk_link;\n"
"   int64_t tsk_spare1;\n"
" };\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:753
#, no-wrap
msgid ""
" struct guestfs_tsk_dirent_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_tsk_dirent *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:758
#, no-wrap
msgid ""
" int guestfs_compare_tsk_dirent (const struct guestfs_tsk_dirent *, const struct guestfs_tsk_dirent *);\n"
" int guestfs_compare_tsk_dirent_list (const struct guestfs_tsk_dirent_list *, const struct guestfs_tsk_dirent_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:761
#, no-wrap
msgid ""
" struct guestfs_tsk_dirent *guestfs_copy_tsk_dirent (const struct guestfs_tsk_dirent *);\n"
" struct guestfs_tsk_dirent_list *guestfs_copy_tsk_dirent_list (const struct guestfs_tsk_dirent_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:764
#, no-wrap
msgid ""
" void guestfs_free_tsk_dirent (struct guestfs_tsk_dirent *);\n"
" void guestfs_free_tsk_dirent_list (struct guestfs_tsk_dirent_list *);\n"
"\n"
msgstr ""

#. type: =head2
#: ../lib/guestfs-structs.pod:767
msgid "guestfs_yara_detection"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:769
#, no-wrap
msgid ""
" struct guestfs_yara_detection {\n"
"   char *yara_name;\n"
"   char *yara_rule;\n"
" };\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:774
#, no-wrap
msgid ""
" struct guestfs_yara_detection_list {\n"
"   uint32_t len; /* Number of elements in list. */\n"
"   struct guestfs_yara_detection *val; /* Elements. */\n"
" };\n"
"\n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:779
#, no-wrap
msgid ""
" int guestfs_compare_yara_detection (const struct guestfs_yara_detection *, const struct guestfs_yara_detection *);\n"
" int guestfs_compare_yara_detection_list (const struct guestfs_yara_detection_list *, const struct guestfs_yara_detection_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:782
#, no-wrap
msgid ""
" struct guestfs_yara_detection *guestfs_copy_yara_detection (const struct guestfs_yara_detection *);\n"
" struct guestfs_yara_detection_list *guestfs_copy_yara_detection_list (const struct guestfs_yara_detection_list *);\n"
" \n"
msgstr ""

#. type: verbatim
#: ../lib/guestfs-structs.pod:785
#, no-wrap
msgid ""
" void guestfs_free_yara_detection (struct guestfs_yara_detection *);\n"
" void guestfs_free_yara_detection_list (struct guestfs_yara_detection_list *);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3
msgid "guestfs - Library for accessing and modifying virtual machine images"
msgstr "guestfs - Library for accessing and modifying virtual machine images"

#. type: verbatim
#: ../lib/guestfs.pod:9
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
" guestfs_add_drive (g, \"guest.img\");\n"
" guestfs_launch (g);\n"
" guestfs_mount (g, \"/dev/sda1\", \"/\");\n"
" guestfs_touch (g, \"/hello\");\n"
" guestfs_umount (g, \"/\");\n"
" guestfs_shutdown (g);\n"
" guestfs_close (g);\n"
"\n"
msgstr ""
" guestfs_h *g = guestfs_create ();\n"
" guestfs_add_drive (g, \"guest.img\");\n"
" guestfs_launch (g);\n"
" guestfs_mount (g, \"/dev/sda1\", \"/\");\n"
" guestfs_touch (g, \"/hello\");\n"
" guestfs_umount (g, \"/\");\n"
" guestfs_shutdown (g);\n"
" guestfs_close (g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:24
msgid ""
"Libguestfs is a library for accessing and modifying disk images and virtual "
"machines."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:27
msgid "This manual page documents the C API."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:29
msgid ""
"If you are looking for an introduction to libguestfs, see the web site: "
"L<http://libguestfs.org/>"
msgstr ""
"If you are looking for an introduction to libguestfs, see the web site: "
"L<http://libguestfs.org/>"

#. type: textblock
#: ../lib/guestfs.pod:32
msgid ""
"Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at "
"the end of this file)."
msgstr ""
"Each virt tool has its own man page (for a full list, go to L</SEE ALSO> at "
"the end of this file)."

#. type: textblock
#: ../lib/guestfs.pod:35
msgid "Other libguestfs manual pages:"
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:39
msgid "L<guestfs-faq(1)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:41
msgid "Frequently Asked Questions (FAQ)."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:43
msgid "L<guestfs-examples(3)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:45
msgid ""
"Examples of using the API from C.  For examples in other languages, see L</"
"USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES> below."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:48
msgid "L<guestfs-recipes(1)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:50
msgid "Tips and recipes."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:52
msgid "L<guestfs-performance(1)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:54
msgid "Performance tips and solutions."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:56
msgid "L<libguestfs-test-tool(1)>"
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:58
msgid "L<guestfs-testing(1)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:60
msgid "Help testing libguestfs."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:62
msgid "L<guestfs-building(1)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:64
msgid "How to build libguestfs from source."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:66
msgid "L<guestfs-hacking(1)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:68
msgid "Contribute code to libguestfs."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:70
msgid "L<guestfs-internals(1)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:72
msgid "How libguestfs works."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:74
msgid "L<guestfs-security(1)>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:76
msgid "Security information, including CVEs affecting libguestfs."
msgstr ""

#. type: =head1
#: ../lib/guestfs.pod:80
msgid "API OVERVIEW"
msgstr "API OVERVIEW"

#. type: textblock
#: ../lib/guestfs.pod:82
msgid ""
"This section provides a gentler overview of the libguestfs API.  We also try "
"to group API calls together, where that may not be obvious from reading "
"about the individual calls in the main section of this manual."
msgstr ""
"This section provides a gentler overview of the libguestfs API.  We also try "
"to group API calls together, where that may not be obvious from reading "
"about the individual calls in the main section of this manual."

#. type: =head2
#: ../lib/guestfs.pod:87
msgid "HANDLES"
msgstr "HANDLES"

#. type: textblock
#: ../lib/guestfs.pod:89
msgid ""
"Before you can use libguestfs calls, you have to create a handle.  Then you "
"must add at least one disk image to the handle, followed by launching the "
"handle, then performing whatever operations you want, and finally closing "
"the handle.  By convention we use the single letter C<g> for the name of the "
"handle variable, although of course you can use any name you want."
msgstr ""
"Before you can use libguestfs calls, you have to create a handle.  Then you "
"must add at least one disk image to the handle, followed by launching the "
"handle, then performing whatever operations you want, and finally closing "
"the handle.  By convention we use the single letter C<g> for the name of the "
"handle variable, although of course you can use any name you want."

#. type: textblock
#: ../lib/guestfs.pod:96
msgid "The general structure of all libguestfs-using programs looks like this:"
msgstr ""
"The general structure of all libguestfs-using programs looks like this:"

#. type: verbatim
#: ../lib/guestfs.pod:99
#, no-wrap
msgid ""
" guestfs_h *g = guestfs_create ();\n"
" \n"
msgstr ""
" guestfs_h *g = guestfs_create ();\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:101
#, no-wrap
msgid ""
" /* Call guestfs_add_drive additional times if there are\n"
"  * multiple disk images.\n"
"  */\n"
" guestfs_add_drive (g, \"guest.img\");\n"
" \n"
msgstr ""
" /* Call guestfs_add_drive additional times if there are\n"
"  * multiple disk images.\n"
"  */\n"
" guestfs_add_drive (g, \"guest.img\");\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:106
#, no-wrap
msgid ""
" /* Most manipulation calls won't work until you've launched\n"
"  * the handle 'g'.  You have to do this _after_ adding drives\n"
"  * and _before_ other commands.\n"
"  */\n"
" guestfs_launch (g);\n"
" \n"
msgstr ""
" /* Most manipulation calls won't work until you've launched\n"
"  * the handle 'g'.  You have to do this _after_ adding drives\n"
"  * and _before_ other commands.\n"
"  */\n"
" guestfs_launch (g);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:112
#, no-wrap
msgid ""
" /* Either: examine what partitions, LVs etc are available: */\n"
" char **partitions = guestfs_list_partitions (g);\n"
" char **logvols = guestfs_lvs (g);\n"
" \n"
msgstr ""
" /* Either: examine what partitions, LVs etc are available: */\n"
" char **partitions = guestfs_list_partitions (g);\n"
" char **logvols = guestfs_lvs (g);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:116
#, no-wrap
msgid ""
" /* Or: ask libguestfs to find filesystems for you: */\n"
" char **filesystems = guestfs_list_filesystems (g);\n"
" \n"
msgstr ""
" /* Or: ask libguestfs to find filesystems for you: */\n"
" char **filesystems = guestfs_list_filesystems (g);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:119
#, no-wrap
msgid ""
" /* Or: use inspection (see INSPECTION section below). */\n"
" \n"
msgstr ""
" /* Or: use inspection (see INSPECTION section below). */\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:121
#, no-wrap
msgid ""
" /* To access a filesystem in the image, you must mount it. */\n"
" guestfs_mount (g, \"/dev/sda1\", \"/\");\n"
" \n"
msgstr ""
" /* To access a filesystem in the image, you must mount it. */\n"
" guestfs_mount (g, \"/dev/sda1\", \"/\");\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:124
#, no-wrap
msgid ""
" /* Now you can perform filesystem actions on the guest\n"
"  * disk image.\n"
"  */\n"
" guestfs_touch (g, \"/hello\");\n"
" \n"
msgstr ""
" /* Now you can perform filesystem actions on the guest\n"
"  * disk image.\n"
"  */\n"
" guestfs_touch (g, \"/hello\");\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:129
#, no-wrap
msgid ""
" /* Synchronize the disk.  This is the opposite of guestfs_launch. */\n"
" guestfs_shutdown (g);\n"
" \n"
msgstr ""
" /* Synchronise the disk.  This is the opposite of guestfs_launch. */\n"
" guestfs_shutdown (g);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:132
#, no-wrap
msgid ""
" /* Close and free the handle 'g'. */\n"
" guestfs_close (g);\n"
"\n"
msgstr ""
" /* Close and free the handle 'g'. */\n"
" guestfs_close (g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:135
msgid ""
"The code above doesn't include any error checking.  In real code you should "
"check return values carefully for errors.  In general all functions that "
"return integers return C<-1> on error, and all functions that return "
"pointers return C<NULL> on error.  See section L</ERROR HANDLING> below for "
"how to handle errors, and consult the documentation for each function call "
"below to see precisely how they return error indications."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:143
msgid ""
"The code above does not L<free(3)> the strings and arrays returned from "
"functions.  Consult the documentation for each function to find out how to "
"free the return value."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:147
msgid "See L<guestfs-examples(3)> for fully worked examples."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:149
msgid "DISK IMAGES"
msgstr "DISK IMAGES"

#. type: textblock
#: ../lib/guestfs.pod:151
msgid ""
"The image filename (C<\"guest.img\"> in the example above) could be a disk "
"image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an "
"actual block device, or simply an empty file of zeroes that you have created "
"through L<posix_fallocate(3)>.  Libguestfs lets you do useful things to all "
"of these."
msgstr ""
"The image filename (C<\"guest.img\"> in the example above) could be a disk "
"image from a virtual machine, a L<dd(1)> copy of a physical hard disk, an "
"actual block device, or simply an empty file of zeroes that you have created "
"through L<posix_fallocate(3)>.  Libguestfs lets you do useful things to all "
"of these."

#. type: textblock
#: ../lib/guestfs.pod:157
msgid ""
"The call you should use in modern code for adding drives is L</"
"guestfs_add_drive_opts>.  To add a disk image, allowing writes, and "
"specifying that the format is raw, do:"
msgstr ""
"The call you should use in modern code for adding drives is L</"
"guestfs_add_drive_opts>.  To add a disk image, allowing writes, and "
"specifying that the format is raw, do:"

#. type: verbatim
#: ../lib/guestfs.pod:161
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         -1);\n"
"\n"
msgstr ""
" guestfs_add_drive_opts (g, filename,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:165
msgid "You can add a disk read-only using:"
msgstr "You can add a disk read-only using:"

#. type: verbatim
#: ../lib/guestfs.pod:167
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,\n"
"                         -1);\n"
"\n"
msgstr ""
" guestfs_add_drive_opts (g, filename,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,\n"
"                         -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:172
msgid ""
"or by calling the older function L</guestfs_add_drive_ro>.  If you use the "
"readonly flag, libguestfs won't modify the file.  (See also L</DISK IMAGE "
"FORMATS> below)."
msgstr ""
"or by calling the older function L</guestfs_add_drive_ro>.  If you use the "
"readonly flag, libguestfs won't modify the file.  (See also L</DISK IMAGE "
"FORMATS> below)."

#. type: textblock
#: ../lib/guestfs.pod:176
msgid ""
"Be extremely cautious if the disk image is in use, eg. if it is being used "
"by a virtual machine.  Adding it read-write will almost certainly cause disk "
"corruption, but adding it read-only is safe."
msgstr ""
"Be extremely cautious if the disk image is in use, eg. if it is being used "
"by a virtual machine.  Adding it read-write will almost certainly cause disk "
"corruption, but adding it read-only is safe."

#. type: textblock
#: ../lib/guestfs.pod:180
msgid ""
"You should usually add at least one disk image, and you may add multiple "
"disk images.  If adding multiple disk images, they usually have to be "
"\"related\", ie. from the same guest.  In the API, the disk images are "
"usually referred to as F</dev/sda> (for the first one you added), F</dev/"
"sdb> (for the second one you added), etc."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:186
msgid ""
"Once L</guestfs_launch> has been called you cannot add any more images.  You "
"can call L</guestfs_list_devices> to get a list of the device names, in the "
"order that you added them.  See also L</BLOCK DEVICE NAMING> below."
msgstr ""
"Once L</guestfs_launch> has been called you cannot add any more images.  You "
"can call L</guestfs_list_devices> to get a list of the device names, in the "
"order that you added them.  See also L</BLOCK DEVICE NAMING> below."

#. type: textblock
#: ../lib/guestfs.pod:191
msgid ""
"There are slightly different rules when hotplugging disks (in libguestfs "
"E<ge> 1.20).  See L</HOTPLUGGING> below."
msgstr ""
"There are slightly different rules when hotplugging disks (in libguestfs "
"E<ge> 1.20).  See L</HOTPLUGGING> below."

#. type: =head2
#: ../lib/guestfs.pod:194
msgid "MOUNTING"
msgstr "MOUNTING"

#. type: textblock
#: ../lib/guestfs.pod:196
msgid ""
"Before you can read or write files, create directories and so on in a disk "
"image that contains filesystems, you have to mount those filesystems using "
"L</guestfs_mount> or L</guestfs_mount_ro>.  If you already know that a disk "
"image contains (for example) one partition with a filesystem on that "
"partition, then you can mount it directly:"
msgstr ""
"Before you can read or write files, create directories and so on in a disk "
"image that contains filesystems, you have to mount those filesystems using "
"L</guestfs_mount> or L</guestfs_mount_ro>.  If you already know that a disk "
"image contains (for example) one partition with a filesystem on that "
"partition, then you can mount it directly:"

#. type: verbatim
#: ../lib/guestfs.pod:203
#, no-wrap
msgid ""
" guestfs_mount (g, \"/dev/sda1\", \"/\");\n"
"\n"
msgstr ""
" guestfs_mount (g, \"/dev/sda1\", \"/\");\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:205
msgid ""
"where F</dev/sda1> means literally the first partition (C<1>) of the first "
"disk image that we added (F</dev/sda>).  If the disk contains Linux LVM2 "
"logical volumes you could refer to those instead (eg. F</dev/VG/LV>).  Note "
"that these are libguestfs virtual devices, and are nothing to do with host "
"devices."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:211
msgid ""
"If you are given a disk image and you don’t know what it contains then you "
"have to find out.  Libguestfs can do that too: use L</"
"guestfs_list_partitions> and L</guestfs_lvs> to list possible partitions and "
"LVs, and either try mounting each to see what is mountable, or else examine "
"them with L</guestfs_vfs_type> or L</guestfs_file>.  To list just "
"filesystems, use L</guestfs_list_filesystems>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:219
msgid ""
"Libguestfs also has a set of APIs for inspection of unknown disk images (see "
"L</INSPECTION> below).  You might also want to look at higher level programs "
"built on top of libguestfs, in particular L<virt-inspector(1)>."
msgstr ""
"Libguestfs also has a set of APIs for inspection of unknown disk images (see "
"L</INSPECTION> below).  You might also want to look at higher level programs "
"built on top of libguestfs, in particular L<virt-inspector(1)>."

#. type: textblock
#: ../lib/guestfs.pod:224
msgid ""
"To mount a filesystem read-only, use L</guestfs_mount_ro>.  There are "
"several other variations of the C<guestfs_mount_*> call."
msgstr ""
"To mount a filesystem read-only, use L</guestfs_mount_ro>.  There are "
"several other variations of the C<guestfs_mount_*> call."

#. type: =head2
#: ../lib/guestfs.pod:227
msgid "FILESYSTEM ACCESS AND MODIFICATION"
msgstr "FILESYSTEM ACCESS AND MODIFICATION"

#. type: textblock
#: ../lib/guestfs.pod:229
msgid ""
"The majority of the libguestfs API consists of fairly low-level calls for "
"accessing and modifying the files, directories, symlinks etc on mounted "
"filesystems.  There are over a hundred such calls which you can find listed "
"in detail below in this man page, and we don't even pretend to cover them "
"all in this overview."
msgstr ""
"The majority of the libguestfs API consists of fairly low-level calls for "
"accessing and modifying the files, directories, symlinks etc on mounted "
"filesystems.  There are over a hundred such calls which you can find listed "
"in detail below in this man page, and we don't even pretend to cover them "
"all in this overview."

#. type: textblock
#: ../lib/guestfs.pod:235
msgid ""
"Specify filenames as full paths, starting with C<\"/\"> and including the "
"mount point."
msgstr ""
"Specify filenames as full paths, starting with C<\"/\"> and including the "
"mount point."

#. type: textblock
#: ../lib/guestfs.pod:238
msgid ""
"For example, if you mounted a filesystem at C<\"/\"> and you want to read "
"the file called C<\"etc/passwd\"> then you could do:"
msgstr ""
"For example, if you mounted a filesystem at C<\"/\"> and you want to read "
"the file called C<\"etc/passwd\"> then you could do:"

#. type: verbatim
#: ../lib/guestfs.pod:241
#, no-wrap
msgid ""
" char *data = guestfs_cat (g, \"/etc/passwd\");\n"
"\n"
msgstr ""
" char *data = guestfs_cat (g, \"/etc/passwd\");\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:243
msgid ""
"This would return C<data> as a newly allocated buffer containing the full "
"content of that file (with some conditions: see also L</DOWNLOADING> below), "
"or C<NULL> if there was an error."
msgstr ""
"This would return C<data> as a newly allocated buffer containing the full "
"content of that file (with some conditions: see also L</DOWNLOADING> below), "
"or C<NULL> if there was an error."

#. type: textblock
#: ../lib/guestfs.pod:247
msgid ""
"As another example, to create a top-level directory on that filesystem "
"called C<\"var\"> you would do:"
msgstr ""
"As another example, to create a top-level directory on that filesystem "
"called C<\"var\"> you would do:"

#. type: verbatim
#: ../lib/guestfs.pod:250
#, no-wrap
msgid ""
" guestfs_mkdir (g, \"/var\");\n"
"\n"
msgstr ""
" guestfs_mkdir (g, \"/var\");\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:252
msgid "To create a symlink you could do:"
msgstr "To create a symlink you could do:"

#. type: verbatim
#: ../lib/guestfs.pod:254
#, no-wrap
msgid ""
" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
"               \"/etc/rc3.d/S30portmap\");\n"
"\n"
msgstr ""
" guestfs_ln_s (g, \"/etc/init.d/portmap\",\n"
"               \"/etc/rc3.d/S30portmap\");\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:257
msgid ""
"Libguestfs will reject attempts to use relative paths and there is no "
"concept of a current working directory."
msgstr ""
"Libguestfs will reject attempts to use relative paths and there is no "
"concept of a current working directory."

#. type: textblock
#: ../lib/guestfs.pod:260
msgid ""
"Libguestfs can return errors in many situations: for example if the "
"filesystem isn't writable, or if a file or directory that you requested "
"doesn't exist.  If you are using the C API (documented here)  you have to "
"check for those error conditions after each call.  (Other language bindings "
"turn these errors into exceptions)."
msgstr ""
"Libguestfs can return errors in many situations: for example if the "
"filesystem isn't writable, or if a file or directory that you requested "
"doesn't exist.  If you are using the C API (documented here)  you have to "
"check for those error conditions after each call.  (Other language bindings "
"turn these errors into exceptions)."

#. type: textblock
#: ../lib/guestfs.pod:266
msgid ""
"File writes are affected by the per-handle umask, set by calling L</"
"guestfs_umask> and defaulting to 022.  See L</UMASK>."
msgstr ""
"File writes are affected by the per-handle umask, set by calling L</"
"guestfs_umask> and defaulting to 022.  See L</UMASK>."

#. type: textblock
#: ../lib/guestfs.pod:269
msgid ""
"Since libguestfs 1.18, it is possible to mount the libguestfs filesystem on "
"a local directory, subject to some restrictions.  See L</MOUNT LOCAL> below."
msgstr ""
"Since libguestfs 1.18, it is possible to mount the libguestfs filesystem on "
"a local directory, subject to some restrictions.  See L</MOUNT LOCAL> below."

#. type: =head2
#: ../lib/guestfs.pod:273
msgid "PARTITIONING"
msgstr "PARTITIONING"

#. type: textblock
#: ../lib/guestfs.pod:275
msgid ""
"Libguestfs contains API calls to read, create and modify partition tables on "
"disk images."
msgstr ""
"Libguestfs contains API calls to read, create and modify partition tables on "
"disk images."

#. type: textblock
#: ../lib/guestfs.pod:278
msgid ""
"In the common case where you want to create a single partition covering the "
"whole disk, you should use the L</guestfs_part_disk> call:"
msgstr ""
"In the common case where you want to create a single partition covering the "
"whole disk, you should use the L</guestfs_part_disk> call:"

#. type: verbatim
#: ../lib/guestfs.pod:282
#, no-wrap
msgid ""
" const char *parttype = \"mbr\";\n"
" if (disk_is_larger_than_2TB)\n"
"   parttype = \"gpt\";\n"
" guestfs_part_disk (g, \"/dev/sda\", parttype);\n"
"\n"
msgstr ""
" const char *parttype = \"mbr\";\n"
" if (disk_is_larger_than_2TB)\n"
"   parttype = \"gpt\";\n"
" guestfs_part_disk (g, \"/dev/sda\", parttype);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:287
msgid ""
"Obviously this effectively wipes anything that was on that disk image before."
msgstr ""
"Obviously this effectively wipes anything that was on that disk image before."

#. type: =head2
#: ../lib/guestfs.pod:290
msgid "LVM2"
msgstr "LVM2"

#. type: textblock
#: ../lib/guestfs.pod:292
msgid ""
"Libguestfs provides access to a large part of the LVM2 API, such as L</"
"guestfs_lvcreate> and L</guestfs_vgremove>.  It won't make much sense unless "
"you familiarize yourself with the concepts of physical volumes, volume "
"groups and logical volumes."
msgstr ""
"Libguestfs provides access to a large part of the LVM2 API, such as L</"
"guestfs_lvcreate> and L</guestfs_vgremove>.  It won't make much sense unless "
"you familiarise yourself with the concepts of physical volumes, volume "
"groups and logical volumes."

#. type: textblock
#: ../lib/guestfs.pod:297
msgid ""
"This author strongly recommends reading the LVM HOWTO, online at L<http://"
"tldp.org/HOWTO/LVM-HOWTO/>."
msgstr ""
"This author strongly recommends reading the LVM HOWTO, online at L<http://"
"tldp.org/HOWTO/LVM-HOWTO/>."

#. type: =head2
#: ../lib/guestfs.pod:300
msgid "DOWNLOADING"
msgstr "DOWNLOADING"

#. type: textblock
#: ../lib/guestfs.pod:302
msgid ""
"Use L</guestfs_cat> to download small, text only files.  This call cannot "
"handle files containing any ASCII NUL (C<\\0>) characters.  However the API "
"is very simple to use."
msgstr ""
"Use L</guestfs_cat> to download small, text only files.  This call cannot "
"handle files containing any ASCII NUL (C<\\0>) characters.  However the API "
"is very simple to use."

#. type: textblock
#: ../lib/guestfs.pod:306
msgid ""
"L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
"bit data, since it returns a (pointer, size) pair."
msgstr ""
"L</guestfs_read_file> can be used to read files which contain arbitrary 8 "
"bit data, since it returns a (pointer, size) pair."

#. type: textblock
#: ../lib/guestfs.pod:309
msgid ""
"L</guestfs_download> can be used to download any file, with no limits on "
"content or size."
msgstr ""
"L</guestfs_download> can be used to download any file, with no limits on "
"content or size."

#. type: textblock
#: ../lib/guestfs.pod:312
msgid ""
"To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."
msgstr ""
"To download multiple files, see L</guestfs_tar_out> and L</guestfs_tgz_out>."

#. type: =head2
#: ../lib/guestfs.pod:315
msgid "UPLOADING"
msgstr "UPLOADING"

#. type: textblock
#: ../lib/guestfs.pod:317
msgid ""
"To write a small file with fixed content, use L</guestfs_write>.  To create "
"a file of all zeroes, use L</guestfs_truncate_size> (sparse) or L</"
"guestfs_fallocate64> (with all disk blocks allocated).  There are a variety "
"of other functions for creating test files, for example L</guestfs_fill> and "
"L</guestfs_fill_pattern>."
msgstr ""
"To write a small file with fixed content, use L</guestfs_write>.  To create "
"a file of all zeroes, use L</guestfs_truncate_size> (sparse) or L</"
"guestfs_fallocate64> (with all disk blocks allocated).  There are a variety "
"of other functions for creating test files, for example L</guestfs_fill> and "
"L</guestfs_fill_pattern>."

#. type: textblock
#: ../lib/guestfs.pod:323
msgid ""
"To upload a single file, use L</guestfs_upload>.  This call has no limits on "
"file content or size."
msgstr ""
"To upload a single file, use L</guestfs_upload>.  This call has no limits on "
"file content or size."

#. type: textblock
#: ../lib/guestfs.pod:326
msgid ""
"To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."
msgstr ""
"To upload multiple files, see L</guestfs_tar_in> and L</guestfs_tgz_in>."

#. type: textblock
#: ../lib/guestfs.pod:328
msgid ""
"However the fastest way to upload I<large numbers of arbitrary files> is to "
"turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and "
"L<mkisofs(8)>), then attach this using L</guestfs_add_drive_ro>.  If you add "
"the drive in a predictable way (eg. adding it last after all other drives) "
"then you can get the device name from L</guestfs_list_devices> and mount it "
"directly using L</guestfs_mount_ro>.  Note that squashfs images are "
"sometimes non-portable between kernel versions, and they don't support "
"labels or UUIDs.  If you want to pre-build an image or you need to mount it "
"using a label or UUID, use an ISO image instead."
msgstr ""
"However the fastest way to upload I<large numbers of arbitrary files> is to "
"turn them into a squashfs or CD ISO (see L<mksquashfs(8)> and "
"L<mkisofs(8)>), then attach this using L</guestfs_add_drive_ro>.  If you add "
"the drive in a predictable way (eg. adding it last after all other drives) "
"then you can get the device name from L</guestfs_list_devices> and mount it "
"directly using L</guestfs_mount_ro>.  Note that squashfs images are "
"sometimes non-portable between kernel versions, and they don't support "
"labels or UUIDs.  If you want to pre-build an image or you need to mount it "
"using a label or UUID, use an ISO image instead."

#. type: =head2
#: ../lib/guestfs.pod:339
msgid "COPYING"
msgstr "COPYING"

#. type: textblock
#: ../lib/guestfs.pod:341
msgid ""
"There are various different commands for copying between files and devices "
"and in and out of the guest filesystem.  These are summarised in the table "
"below."
msgstr ""
"There are various different commands for copying between files and devices "
"and in and out of the guest filesystem.  These are summarised in the table "
"below."

#. type: =item
#: ../lib/guestfs.pod:347
msgid "B<file> to B<file>"
msgstr "B<file> to B<file>"

#. type: textblock
#: ../lib/guestfs.pod:349
msgid ""
"Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
"directories recursively."
msgstr ""
"Use L</guestfs_cp> to copy a single file, or L</guestfs_cp_a> to copy "
"directories recursively."

#. type: textblock
#: ../lib/guestfs.pod:352
msgid ""
"To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>."
msgstr ""
"To copy part of a file (offset and size) use L</guestfs_copy_file_to_file>."

#. type: =item
#: ../lib/guestfs.pod:355
msgid "B<file> to B<device>"
msgstr "B<file> to B<device>"

#. type: =item
#: ../lib/guestfs.pod:357
msgid "B<device> to B<file>"
msgstr "B<device> to B<file>"

#. type: =item
#: ../lib/guestfs.pod:359
msgid "B<device> to B<device>"
msgstr "B<device> to B<device>"

#. type: textblock
#: ../lib/guestfs.pod:361
msgid ""
"Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</"
"guestfs_copy_device_to_device>."
msgstr ""
"Use L</guestfs_copy_file_to_device>, L</guestfs_copy_device_to_file>, or L</"
"guestfs_copy_device_to_device>."

#. type: textblock
#: ../lib/guestfs.pod:364
msgid "Example: duplicate the contents of an LV:"
msgstr "Example: duplicate the contents of an LV:"

#. type: verbatim
#: ../lib/guestfs.pod:366
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
"         \"/dev/VG/Original\", \"/dev/VG/Copy\",\n"
"         /* -1 marks the end of the list of optional parameters */\n"
"         -1);\n"
"\n"
msgstr ""
" guestfs_copy_device_to_device (g,\n"
"         \"/dev/VG/Original\", \"/dev/VG/Copy\",\n"
"         /* -1 marks the end of the list of optional parameters */\n"
"         -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:371
msgid ""
"The destination (F</dev/VG/Copy>) must be at least as large as the source "
"(F</dev/VG/Original>).  To copy less than the whole source device, use the "
"optional C<size> parameter:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:375
#, no-wrap
msgid ""
" guestfs_copy_device_to_device (g,\n"
"         \"/dev/VG/Original\", \"/dev/VG/Copy\",\n"
"         GUESTFS_COPY_DEVICE_TO_DEVICE_SIZE, 10000,\n"
"         -1);\n"
"\n"
msgstr ""
" guestfs_copy_device_to_device (g,\n"
"         \"/dev/VG/Original\", \"/dev/VG/Copy\",\n"
"         GUESTFS_COPY_DEVICE_TO_DEVICE_SIZE, 10000,\n"
"         -1);\n"
"\n"

#. type: =item
#: ../lib/guestfs.pod:380
msgid "B<file on the host> to B<file or device>"
msgstr "B<file on the host> to B<file or device>"

#. type: textblock
#: ../lib/guestfs.pod:382
msgid "Use L</guestfs_upload>.  See L</UPLOADING> above."
msgstr "Use L</guestfs_upload>.  See L</UPLOADING> above."

#. type: =item
#: ../lib/guestfs.pod:384
msgid "B<file or device> to B<file on the host>"
msgstr "B<file or device> to B<file on the host>"

#. type: textblock
#: ../lib/guestfs.pod:386
msgid "Use L</guestfs_download>.  See L</DOWNLOADING> above."
msgstr "Use L</guestfs_download>.  See L</DOWNLOADING> above."

#. type: =head2
#: ../lib/guestfs.pod:390
msgid "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS"
msgstr "UPLOADING AND DOWNLOADING TO PIPES AND FILE DESCRIPTORS"

#. type: textblock
#: ../lib/guestfs.pod:392
msgid ""
"Calls like L</guestfs_upload>, L</guestfs_download>, L</guestfs_tar_in>, L</"
"guestfs_tar_out> etc appear to only take filenames as arguments, so it "
"appears you can only upload and download to files.  However many Un*x-like "
"hosts let you use the special device files F</dev/stdin>, F</dev/stdout>, F</"
"dev/stderr> and F</dev/fd/N> to read and write from stdin, stdout, stderr, "
"and arbitrary file descriptor N."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:400
msgid "For example, L<virt-cat(1)> writes its output to stdout by doing:"
msgstr "For example, L<virt-cat(1)> writes its output to stdout by doing:"

#. type: verbatim
#: ../lib/guestfs.pod:403
#, no-wrap
msgid ""
" guestfs_download (g, filename, \"/dev/stdout\");\n"
"\n"
msgstr ""
" guestfs_download (g, filename, \"/dev/stdout\");\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:405
msgid "and you can write tar output to a file descriptor C<fd> by doing:"
msgstr "and you can write tar output to a file descriptor C<fd> by doing:"

#. type: verbatim
#: ../lib/guestfs.pod:407
#, no-wrap
msgid ""
" char devfd[64];\n"
" snprintf (devfd, sizeof devfd, \"/dev/fd/%d\", fd);\n"
" guestfs_tar_out (g, \"/\", devfd);\n"
"\n"
msgstr ""
" char devfd[64];\n"
" snprintf (devfd, sizeof devfd, \"/dev/fd/%d\", fd);\n"
" guestfs_tar_out (g, \"/\", devfd);\n"
"\n"

#. type: =head2
#: ../lib/guestfs.pod:411
msgid "LISTING FILES"
msgstr "LISTING FILES"

#. type: textblock
#: ../lib/guestfs.pod:413
msgid ""
"L</guestfs_ll> is just designed for humans to read (mainly when using the "
"L<guestfish(1)>-equivalent command C<ll>)."
msgstr ""
"L</guestfs_ll> is just designed for humans to read (mainly when using the "
"L<guestfish(1)>-equivalent command C<ll>)."

#. type: textblock
#: ../lib/guestfs.pod:416
msgid ""
"L</guestfs_ls> is a quick way to get a list of files in a directory from "
"programs, as a flat list of strings."
msgstr ""
"L</guestfs_ls> is a quick way to get a list of files in a directory from "
"programs, as a flat list of strings."

#. type: textblock
#: ../lib/guestfs.pod:419
msgid ""
"L</guestfs_readdir> is a programmatic way to get a list of files in a "
"directory, plus additional information about each one.  It is more "
"equivalent to using the L<readdir(3)> call on a local filesystem."
msgstr ""
"L</guestfs_readdir> is a programmatic way to get a list of files in a "
"directory, plus additional information about each one.  It is more "
"equivalent to using the L<readdir(3)> call on a local filesystem."

#. type: textblock
#: ../lib/guestfs.pod:423
msgid ""
"L</guestfs_find> and L</guestfs_find0> can be used to recursively list files."
msgstr ""
"L</guestfs_find> and L</guestfs_find0> can be used to recursively list files."

#. type: =head2
#: ../lib/guestfs.pod:426
msgid "RUNNING COMMANDS"
msgstr "RUNNING COMMANDS"

#. type: textblock
#: ../lib/guestfs.pod:428
msgid ""
"Although libguestfs is primarily an API for manipulating files inside guest "
"images, we also provide some limited facilities for running commands inside "
"guests."
msgstr ""
"Although libguestfs is primarily an API for manipulating files inside guest "
"images, we also provide some limited facilities for running commands inside "
"guests."

#. type: textblock
#: ../lib/guestfs.pod:432
msgid "There are many limitations to this:"
msgstr "There are many limitations to this:"

#. type: textblock
#: ../lib/guestfs.pod:438
msgid ""
"The kernel version that the command runs under will be different from what "
"it expects."
msgstr ""
"The kernel version that the command runs under will be different from what "
"it expects."

#. type: textblock
#: ../lib/guestfs.pod:443
msgid ""
"If the command needs to communicate with daemons, then most likely they "
"won't be running."
msgstr ""
"If the command needs to communicate with daemons, then most likely they "
"won't be running."

#. type: textblock
#: ../lib/guestfs.pod:448
msgid "The command will be running in limited memory."
msgstr "The command will be running in limited memory."

#. type: textblock
#: ../lib/guestfs.pod:452
msgid ""
"The network may not be available unless you enable it (see L</"
"guestfs_set_network>)."
msgstr ""
"The network may not be available unless you enable it (see L</"
"guestfs_set_network>)."

#. type: textblock
#: ../lib/guestfs.pod:457
msgid "Only supports Linux guests (not Windows, BSD, etc)."
msgstr "Only supports Linux guests (not Windows, BSD, etc)."

#. type: textblock
#: ../lib/guestfs.pod:461
msgid ""
"Architecture limitations (eg. won’t work for a PPC guest on an X86 host)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:466
msgid ""
"For SELinux guests, you may need to relabel the guest after creating new "
"files.  See L</SELINUX> below."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:471
msgid ""
"I<Security:> It is not safe to run commands from untrusted, possibly "
"malicious guests.  These commands may attempt to exploit your program by "
"sending unexpected output.  They could also try to exploit the Linux kernel "
"or qemu provided by the libguestfs appliance.  They could use the network "
"provided by the libguestfs appliance to bypass ordinary network partitions "
"and firewalls.  They could use the elevated privileges or different SELinux "
"context of your program to their advantage."
msgstr ""
"I<Security:> It is not safe to run commands from untrusted, possibly "
"malicious guests.  These commands may attempt to exploit your program by "
"sending unexpected output.  They could also try to exploit the Linux kernel "
"or qemu provided by the libguestfs appliance.  They could use the network "
"provided by the libguestfs appliance to bypass ordinary network partitions "
"and firewalls.  They could use the elevated privileges or different SELinux "
"context of your program to their advantage."

#. type: textblock
#: ../lib/guestfs.pod:480
msgid ""
"A secure alternative is to use libguestfs to install a \"firstboot\" script "
"(a script which runs when the guest next boots normally), and to have this "
"script run the commands you want in the normal context of the running guest, "
"network security and so on.  For information about other security issues, "
"see L<guestfs-security(1)>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:488
msgid ""
"The two main API calls to run commands are L</guestfs_command> and L</"
"guestfs_sh> (there are also variations)."
msgstr ""
"The two main API calls to run commands are L</guestfs_command> and L</"
"guestfs_sh> (there are also variations)."

#. type: textblock
#: ../lib/guestfs.pod:491
msgid ""
"The difference is that L</guestfs_sh> runs commands using the shell, so any "
"shell globs, redirections, etc will work."
msgstr ""
"The difference is that L</guestfs_sh> runs commands using the shell, so any "
"shell globs, redirections, etc will work."

#. type: =head2
#: ../lib/guestfs.pod:494
msgid "CONFIGURATION FILES"
msgstr "CONFIGURATION FILES"

#. type: textblock
#: ../lib/guestfs.pod:496
msgid ""
"To read and write configuration files in Linux guest filesystems, we "
"strongly recommend using Augeas.  For example, Augeas understands how to "
"read and write, say, a Linux shadow password file or X.org configuration "
"file, and so avoids you having to write that code."
msgstr ""
"To read and write configuration files in Linux guest filesystems, we "
"strongly recommend using Augeas.  For example, Augeas understands how to "
"read and write, say, a Linux shadow password file or X.org configuration "
"file, and so avoids you having to write that code."

#. type: textblock
#: ../lib/guestfs.pod:501
msgid ""
"The main Augeas calls are bound through the C<guestfs_aug_*> APIs.  We don't "
"document Augeas itself here because there is excellent documentation on the "
"L<http://augeas.net/> website."
msgstr ""
"The main Augeas calls are bound through the C<guestfs_aug_*> APIs.  We don't "
"document Augeas itself here because there is excellent documentation on the "
"L<http://augeas.net/> website."

#. type: textblock
#: ../lib/guestfs.pod:505
msgid ""
"If you don’t want to use Augeas (you fool!) then try calling L</"
"guestfs_read_lines> to get the file as a list of lines which you can iterate "
"over."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:509
msgid "SYSTEMD JOURNAL FILES"
msgstr "SYSTEMD JOURNAL FILES"

#. type: textblock
#: ../lib/guestfs.pod:511
msgid ""
"To read the systemd journal from a Linux guest, use the C<guestfs_journal_*> "
"APIs starting with L</guestfs_journal_open>."
msgstr ""
"To read the systemd journal from a Linux guest, use the C<guestfs_journal_*> "
"APIs starting with L</guestfs_journal_open>."

#. type: textblock
#: ../lib/guestfs.pod:514
msgid ""
"Consult the journal documentation here: L<sd-journal(3)>, "
"L<sd_journal_open(3)>."
msgstr ""
"Consult the journal documentation here: L<sd-journal(3)>, "
"L<sd_journal_open(3)>."

#. type: textblock
#: ../lib/guestfs.pod:519
msgid ""
"We support SELinux guests.  However it is not possible to load the SELinux "
"policy of the guest into the appliance kernel.  Therefore the strategy for "
"dealing with SELinux guests is to relabel them after making changes."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:524
msgid ""
"In libguestfs E<ge> 1.34 there is a new API, L</guestfs_setfiles>, which can "
"be used for this.  To properly use this API you have to parse the guest "
"SELinux configuration.  See the L<virt-customize(1)> module F<customize/"
"SELinux_relabel.ml> for how to do this."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:529
msgid ""
"A simpler but slower alternative is to touch F</.autorelabel> in the guest, "
"which means that the guest will relabel itself at next boot."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:532
msgid ""
"Libguestfs E<le> 1.32 had APIs C<guestfs_set_selinux>, "
"C<guestfs_get_selinux>, C<guestfs_setcon> and C<guestfs_getcon>.  These did "
"not work properly, are deprecated, and should not be used in new code."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:537
msgid "UMASK"
msgstr "UMASK"

#. type: textblock
#: ../lib/guestfs.pod:539
msgid ""
"Certain calls are affected by the current file mode creation mask (the "
"\"umask\").  In particular ones which create files or directories, such as "
"L</guestfs_touch>, L</guestfs_mknod> or L</guestfs_mkdir>.  This affects "
"either the default mode that the file is created with or modifies the mode "
"that you supply."
msgstr ""
"Certain calls are affected by the current file mode creation mask (the "
"\"umask\").  In particular ones which create files or directories, such as "
"L</guestfs_touch>, L</guestfs_mknod> or L</guestfs_mkdir>.  This affects "
"either the default mode that the file is created with or modifies the mode "
"that you supply."

#. type: textblock
#: ../lib/guestfs.pod:545
msgid ""
"The default umask is C<022>, so files are created with modes such as C<0644> "
"and directories with C<0755>."
msgstr ""
"The default umask is C<022>, so files are created with modes such as C<0644> "
"and directories with C<0755>."

#. type: textblock
#: ../lib/guestfs.pod:548
msgid ""
"There are two ways to avoid being affected by umask.  Either set umask to 0 "
"(call C<guestfs_umask (g, 0)> early after launching).  Or call L</"
"guestfs_chmod> after creating each file or directory."
msgstr ""
"There are two ways to avoid being affected by umask.  Either set umask to 0 "
"(call C<guestfs_umask (g, 0)> early after launching).  Or call L</"
"guestfs_chmod> after creating each file or directory."

#. type: textblock
#: ../lib/guestfs.pod:552
msgid "For more information about umask, see L<umask(2)>."
msgstr "For more information about umask, see L<umask(2)>."

#. type: =head2
#: ../lib/guestfs.pod:554
msgid "LABELS AND UUIDS"
msgstr "LABELS AND UUIDS"

#. type: textblock
#: ../lib/guestfs.pod:556
msgid ""
"Many filesystems, devices and logical volumes support either labels (short "
"strings like \"BOOT\" which might not be unique) and/or UUIDs (globally "
"unique IDs)."
msgstr ""
"Many filesystems, devices and logical volumes support either labels (short "
"strings like \"BOOT\" which might not be unique) and/or UUIDs (globally "
"unique IDs)."

#. type: textblock
#: ../lib/guestfs.pod:560
msgid ""
"For filesystems, use L</guestfs_vfs_label> or L</guestfs_vfs_uuid> to read "
"the label or UUID.  Some filesystems let you call L</guestfs_set_label> or "
"L</guestfs_set_uuid> to change the label or UUID."
msgstr ""
"For filesystems, use L</guestfs_vfs_label> or L</guestfs_vfs_uuid> to read "
"the label or UUID.  Some filesystems let you call L</guestfs_set_label> or "
"L</guestfs_set_uuid> to change the label or UUID."

#. type: textblock
#: ../lib/guestfs.pod:565
msgid ""
"You can locate a filesystem by its label or UUID using L</"
"guestfs_findfs_label> or L</guestfs_findfs_uuid>."
msgstr ""
"You can locate a filesystem by its label or UUID using L</"
"guestfs_findfs_label> or L</guestfs_findfs_uuid>."

#. type: textblock
#: ../lib/guestfs.pod:568
msgid ""
"For LVM2 (which supports only UUIDs), there is a rich set of APIs for "
"fetching UUIDs, fetching UUIDs of the contained objects, and changing "
"UUIDs.  See: L</guestfs_lvuuid>, L</guestfs_vguuid>, L</guestfs_pvuuid>, L</"
"guestfs_vglvuuids>, L</guestfs_vgpvuuids>, L</guestfs_vgchange_uuid>, L</"
"guestfs_vgchange_uuid_all>, L</guestfs_pvchange_uuid>, L</"
"guestfs_pvchange_uuid_all>."
msgstr ""
"For LVM2 (which supports only UUIDs), there is a rich set of APIs for "
"fetching UUIDs, fetching UUIDs of the contained objects, and changing "
"UUIDs.  See: L</guestfs_lvuuid>, L</guestfs_vguuid>, L</guestfs_pvuuid>, L</"
"guestfs_vglvuuids>, L</guestfs_vgpvuuids>, L</guestfs_vgchange_uuid>, L</"
"guestfs_vgchange_uuid_all>, L</guestfs_pvchange_uuid>, L</"
"guestfs_pvchange_uuid_all>."

#. type: textblock
#: ../lib/guestfs.pod:579
msgid ""
"Note when cloning a filesystem, device or whole guest, it is a good idea to "
"set new randomly generated UUIDs on the copy."
msgstr ""
"Note when cloning a filesystem, device or whole guest, it is a good idea to "
"set new randomly generated UUIDs on the copy."

#. type: textblock
#: ../lib/guestfs.pod:584
msgid ""
"Libguestfs allows you to access Linux guests which have been encrypted using "
"whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) "
"standard.  This includes nearly all whole disk encryption systems used by "
"modern Linux guests."
msgstr ""
"Libguestfs allows you to access Linux guests which have been encrypted using "
"whole disk encryption that conforms to the Linux Unified Key Setup (LUKS) "
"standard.  This includes nearly all whole disk encryption systems used by "
"modern Linux guests."

#. type: textblock
#: ../lib/guestfs.pod:590
msgid ""
"Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
"returns the string C<crypto_LUKS>)."
msgstr ""
"Use L</guestfs_vfs_type> to identify LUKS-encrypted block devices (it "
"returns the string C<crypto_LUKS>)."

#. type: textblock
#: ../lib/guestfs.pod:593
msgid ""
"Then open these devices by calling L</guestfs_luks_open>.  Obviously you "
"will require the passphrase!"
msgstr ""
"Then open these devices by calling L</guestfs_luks_open>.  Obviously you "
"will require the passphrase!"

#. type: textblock
#: ../lib/guestfs.pod:596
msgid ""
"Opening a LUKS device creates a new device mapper device called F</dev/"
"mapper/mapname> (where C<mapname> is the string you supply to L</"
"guestfs_luks_open>).  Reads and writes to this mapper device are decrypted "
"from and encrypted to the underlying block device respectively."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:602
msgid ""
"LVM volume groups on the device can be made visible by calling L</"
"guestfs_vgscan> followed by L</guestfs_vg_activate_all>.  The logical "
"volume(s) can now be mounted in the usual way."
msgstr ""
"LVM volume groups on the device can be made visible by calling L</"
"guestfs_vgscan> followed by L</guestfs_vg_activate_all>.  The logical "
"volume(s) can now be mounted in the usual way."

#. type: textblock
#: ../lib/guestfs.pod:606
msgid ""
"Use the reverse process to close a LUKS device.  Unmount any logical volumes "
"on it, deactivate the volume groups by calling C<guestfs_vg_activate (g, 0, "
"[\"/dev/VG\"])>.  Then close the mapper device by calling L</"
"guestfs_luks_close> on the F</dev/mapper/mapname> device (I<not> the "
"underlying encrypted block device)."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:613
msgid "MOUNT LOCAL"
msgstr "MOUNT LOCAL"

#. type: textblock
#: ../lib/guestfs.pod:615
msgid ""
"In libguestfs E<ge> 1.18, it is possible to mount the libguestfs filesystem "
"on a local directory and access it using ordinary POSIX calls and programs."
msgstr ""
"In libguestfs E<ge> 1.18, it is possible to mount the libguestfs filesystem "
"on a local directory and access it using ordinary POSIX calls and programs."

#. type: textblock
#: ../lib/guestfs.pod:619
msgid ""
"Availability of this is subject to a number of restrictions: it requires "
"FUSE (the Filesystem in USErspace), and libfuse must also have been "
"available when libguestfs was compiled.  FUSE may require that a kernel "
"module is loaded, and it may be necessary to add the current user to a "
"special C<fuse> group.  See the documentation for your distribution and "
"L<http://fuse.sf.net> for further information."
msgstr ""
"Availability of this is subject to a number of restrictions: it requires "
"FUSE (the Filesystem in USErspace), and libfuse must also have been "
"available when libguestfs was compiled.  FUSE may require that a kernel "
"module is loaded, and it may be necessary to add the current user to a "
"special C<fuse> group.  See the documentation for your distribution and "
"L<http://fuse.sf.net> for further information."

#. type: textblock
#: ../lib/guestfs.pod:626
msgid ""
"The call to mount the libguestfs filesystem on a local directory is L</"
"guestfs_mount_local> (q.v.) followed by L</guestfs_mount_local_run>.  The "
"latter does not return until you unmount the filesystem.  The reason is that "
"the call enters the FUSE main loop and processes kernel requests, turning "
"them into libguestfs calls.  An alternative design would have been to create "
"a background thread to do this, but libguestfs doesn't require pthreads.  "
"This way is also more flexible: for example the user can create another "
"thread for L</guestfs_mount_local_run>."
msgstr ""
"The call to mount the libguestfs filesystem on a local directory is L</"
"guestfs_mount_local> (q.v.) followed by L</guestfs_mount_local_run>.  The "
"latter does not return until you unmount the filesystem.  The reason is that "
"the call enters the FUSE main loop and processes kernel requests, turning "
"them into libguestfs calls.  An alternative design would have been to create "
"a background thread to do this, but libguestfs doesn't require pthreads.  "
"This way is also more flexible: for example the user can create another "
"thread for L</guestfs_mount_local_run>."

#. type: textblock
#: ../lib/guestfs.pod:636
msgid ""
"L</guestfs_mount_local> needs a certain amount of time to set up the "
"mountpoint.  The mountpoint is not ready to use until the call returns.  At "
"this point, accesses to the filesystem will block until the main loop is "
"entered (ie. L</guestfs_mount_local_run>).  So if you need to start another "
"process to access the filesystem, put the fork between L</"
"guestfs_mount_local> and L</guestfs_mount_local_run>."
msgstr ""
"L</guestfs_mount_local> needs a certain amount of time to set up the "
"mountpoint.  The mountpoint is not ready to use until the call returns.  At "
"this point, accesses to the filesystem will block until the main loop is "
"entered (ie. L</guestfs_mount_local_run>).  So if you need to start another "
"process to access the filesystem, put the fork between L</"
"guestfs_mount_local> and L</guestfs_mount_local_run>."

#. type: =head3
#: ../lib/guestfs.pod:644
msgid "MOUNT LOCAL COMPATIBILITY"
msgstr "MOUNT LOCAL COMPATIBILITY"

#. type: textblock
#: ../lib/guestfs.pod:646
msgid ""
"Since local mounting was only added in libguestfs 1.18, and may not be "
"available even in these builds, you should consider writing code so that it "
"doesn't depend on this feature, and can fall back to using libguestfs file "
"system calls."
msgstr ""
"Since local mounting was only added in libguestfs 1.18, and may not be "
"available even in these builds, you should consider writing code so that it "
"doesn't depend on this feature, and can fall back to using libguestfs file "
"system calls."

#. type: textblock
#: ../lib/guestfs.pod:651
msgid ""
"If libguestfs was compiled without support for L</guestfs_mount_local> then "
"calling it will return an error with errno set to C<ENOTSUP> (see L</"
"guestfs_last_errno>)."
msgstr ""
"If libguestfs was compiled without support for L</guestfs_mount_local> then "
"calling it will return an error with errno set to C<ENOTSUP> (see L</"
"guestfs_last_errno>)."

#. type: =head3
#: ../lib/guestfs.pod:655
msgid "MOUNT LOCAL PERFORMANCE"
msgstr "MOUNT LOCAL PERFORMANCE"

#. type: textblock
#: ../lib/guestfs.pod:657
msgid ""
"Libguestfs on top of FUSE performs quite poorly.  For best performance do "
"not use it.  Use ordinary libguestfs filesystem calls, upload, download etc. "
"instead."
msgstr ""
"Libguestfs on top of FUSE performs quite poorly.  For best performance do "
"not use it.  Use ordinary libguestfs filesystem calls, upload, download etc. "
"instead."

#. type: =head2
#: ../lib/guestfs.pod:661
msgid "HOTPLUGGING"
msgstr "HOTPLUGGING"

#. type: textblock
#: ../lib/guestfs.pod:663
msgid ""
"In libguestfs E<ge> 1.20, you may add drives and remove after calling L</"
"guestfs_launch>.  There are some restrictions, see below.  This is called "
"I<hotplugging>."
msgstr ""
"In libguestfs E<ge> 1.20, you may add drives and remove after calling L</"
"guestfs_launch>.  There are some restrictions, see below.  This is called "
"I<hotplugging>."

#. type: textblock
#: ../lib/guestfs.pod:667
msgid ""
"Only a subset of the backends support hotplugging (currently only the "
"libvirt backend has support).  It also requires that you use libvirt E<ge> "
"0.10.3 and qemu E<ge> 1.2."
msgstr ""
"Only a subset of the backends support hotplugging (currently only the "
"libvirt backend has support).  It also requires that you use libvirt E<ge> "
"0.10.3 and qemu E<ge> 1.2."

#. type: textblock
#: ../lib/guestfs.pod:671
msgid ""
"To hot-add a disk, simply call L</guestfs_add_drive_opts> after L</"
"guestfs_launch>.  It is mandatory to specify the C<label> parameter so that "
"the newly added disk has a predictable name.  For example:"
msgstr ""
"To hot-add a disk, simply call L</guestfs_add_drive_opts> after L</"
"guestfs_launch>.  It is mandatory to specify the C<label> parameter so that "
"the newly added disk has a predictable name.  For example:"

#. type: verbatim
#: ../lib/guestfs.pod:675
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
"   error (\"launch failed\");\n"
" \n"
msgstr ""
" if (guestfs_launch (g) == -1)\n"
"   error (\"launch failed\");\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:678
#, no-wrap
msgid ""
" if (guestfs_add_drive_opts (g, filename,\n"
"                             GUESTFS_ADD_DRIVE_OPTS_LABEL, \"newdisk\",\n"
"                             -1) == -1)\n"
"   error (\"hot-add of disk failed\");\n"
" \n"
msgstr ""
" if (guestfs_add_drive_opts (g, filename,\n"
"                             GUESTFS_ADD_DRIVE_OPTS_LABEL, \"newdisk\",\n"
"                             -1) == -1)\n"
"   error (\"hot-add of disk failed\");\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:683
#, no-wrap
msgid ""
" if (guestfs_part_disk (\"/dev/disk/guestfs/newdisk\", \"mbr\") == -1)\n"
"   error (\"partitioning of hot-added disk failed\");\n"
"\n"
msgstr ""
" if (guestfs_part_disk (\"/dev/disk/guestfs/newdisk\", \"mbr\") == -1)\n"
"   error (\"partitioning of hot-added disk failed\");\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:686
msgid ""
"To hot-remove a disk, call L</guestfs_remove_drive>.  You can call this "
"before or after L</guestfs_launch>.  You can only remove disks that were "
"previously added with a label."
msgstr ""
"To hot-remove a disk, call L</guestfs_remove_drive>.  You can call this "
"before or after L</guestfs_launch>.  You can only remove disks that were "
"previously added with a label."

#. type: textblock
#: ../lib/guestfs.pod:690
msgid ""
"Backends that support hotplugging do not require that you add E<ge> 1 disk "
"before calling launch.  When hotplugging is supported you don't need to add "
"any disks."
msgstr ""
"Backends that support hotplugging do not require that you add E<ge> 1 disk "
"before calling launch.  When hotplugging is supported you don't need to add "
"any disks."

#. type: =head2
#: ../lib/guestfs.pod:694
msgid "REMOTE STORAGE"
msgstr "REMOTE STORAGE"

#. type: =head3
#: ../lib/guestfs.pod:696
msgid "CEPH"
msgstr "CEPH"

#. type: textblock
#: ../lib/guestfs.pod:698
msgid "Libguestfs can access Ceph (librbd/RBD) disks."
msgstr "Libguestfs can access Ceph (librbd/RBD) disks."

#. type: textblock
#: ../lib/guestfs.pod:700 ../lib/guestfs.pod:722 ../lib/guestfs.pod:744
#: ../lib/guestfs.pod:785 ../lib/guestfs.pod:847
msgid ""
"To do this, set the optional C<protocol> and C<server> parameters of L</"
"guestfs_add_drive_opts> like this:"
msgstr ""
"To do this, set the optional C<protocol> and C<server> parameters of L</"
"guestfs_add_drive_opts> like this:"

#. type: verbatim
#: ../lib/guestfs.pod:703
#, no-wrap
msgid ""
" char **servers = { \"ceph1.example.org:3000\", /* ... */, NULL };\n"
" guestfs_add_drive_opts (g, \"pool/image\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"rbd\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, servers,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_USERNAME, \"rbduser\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SECRET, \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\n"
"                         -1);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:712
msgid ""
"C<servers> (the C<server> parameter) is a list of one or more Ceph servers.  "
"The server string is documented in L</guestfs_add_drive_opts>. The "
"C<username> and C<secret> parameters are also optional, and if not given, "
"then no authentication will be used."
msgstr ""
"C<servers> (the C<server> parameter) is a list of one or more Ceph servers.  "
"The server string is documented in L</guestfs_add_drive_opts>. The "
"C<username> and C<secret> parameters are also optional, and if not given, "
"then no authentication will be used."

#. type: =head3
#: ../lib/guestfs.pod:717
msgid "FTP, HTTP AND TFTP"
msgstr "FTP, HTTP AND TFTP"

#. type: textblock
#: ../lib/guestfs.pod:719
msgid ""
"Libguestfs can access remote disks over FTP, FTPS, HTTP, HTTPS or TFTP "
"protocols."
msgstr ""
"Libguestfs can access remote disks over FTP, FTPS, HTTP, HTTPS or TFTP "
"protocols."

#. type: verbatim
#: ../lib/guestfs.pod:725
#, no-wrap
msgid ""
" char **servers = { \"www.example.org\", NULL };\n"
" guestfs_add_drive_opts (g, \"/disk.img\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"http\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, servers,\n"
"                         -1);\n"
"\n"
msgstr ""
" char **servers = { \"www.example.org\", NULL };\n"
" guestfs_add_drive_opts (g, \"/disk.img\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"http\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, servers,\n"
"                         -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:732
msgid ""
"The C<protocol> can be one of C<\"ftp\">, C<\"ftps\">, C<\"http\">, C<\"https"
"\"> or C<\"tftp\">."
msgstr ""
"The C<protocol> can be one of C<\"ftp\">, C<\"ftps\">, C<\"http\">, C<\"https"
"\"> or C<\"tftp\">."

#. type: textblock
#: ../lib/guestfs.pod:735
msgid ""
"C<servers> (the C<server> parameter) is a list which must have a single "
"element.  The single element is a string defining the web, FTP or TFTP "
"server.  The format of this string is documented in L</"
"guestfs_add_drive_opts>."
msgstr ""
"C<servers> (the C<server> parameter) is a list which must have a single "
"element.  The single element is a string defining the web, FTP or TFTP "
"server.  The format of this string is documented in L</"
"guestfs_add_drive_opts>."

#. type: =head3
#: ../lib/guestfs.pod:740
msgid "GLUSTER"
msgstr "GLUSTER"

#. type: textblock
#: ../lib/guestfs.pod:742
msgid "Libguestfs can access Gluster disks."
msgstr "Libguestfs can access Gluster disks."

#. type: verbatim
#: ../lib/guestfs.pod:747
#, no-wrap
msgid ""
" char **servers = { \"gluster.example.org:24007\", NULL };\n"
" guestfs_add_drive_opts (g, \"volname/image\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"gluster\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, servers,\n"
"                         -1);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:754
msgid ""
"C<servers> (the C<server> parameter) is a list which must have a single "
"element.  The single element is a string defining the Gluster server.  The "
"format of this string is documented in L</guestfs_add_drive_opts>."
msgstr ""
"C<servers> (the C<server> parameter) is a list which must have a single "
"element.  The single element is a string defining the Gluster server.  The "
"format of this string is documented in L</guestfs_add_drive_opts>."

#. type: textblock
#: ../lib/guestfs.pod:759
msgid ""
"Note that gluster usually requires the client process (ie. libguestfs)  to "
"run as B<root> and will give unfathomable errors if it is not (eg. \"No data "
"available\")."
msgstr ""
"Note that gluster usually requires the client process (ie. libguestfs)  to "
"run as B<root> and will give unfathomable errors if it is not (eg. \"No data "
"available\")."

#. type: =head3
#: ../lib/guestfs.pod:763
msgid "ISCSI"
msgstr "ISCSI"

#. type: textblock
#: ../lib/guestfs.pod:765
msgid "Libguestfs can access iSCSI disks remotely."
msgstr "Libguestfs can access iSCSI disks remotely."

#. type: textblock
#: ../lib/guestfs.pod:767
msgid ""
"To do this, set the optional C<protocol> and C<server> parameters like this:"
msgstr ""
"To do this, set the optional C<protocol> and C<server> parameters like this:"

#. type: verbatim
#: ../lib/guestfs.pod:770
#, no-wrap
msgid ""
" char **server = { \"iscsi.example.org:3000\", NULL };\n"
" guestfs_add_drive_opts (g, \"target-iqn-name/lun\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"iscsi\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, server,\n"
"                         -1);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:777
msgid ""
"The C<server> parameter is a list which must have a single element.  The "
"single element is a string defining the iSCSI server.  The format of this "
"string is documented in L</guestfs_add_drive_opts>."
msgstr ""
"The C<server> parameter is a list which must have a single element.  The "
"single element is a string defining the iSCSI server.  The format of this "
"string is documented in L</guestfs_add_drive_opts>."

#. type: =head3
#: ../lib/guestfs.pod:781
msgid "NETWORK BLOCK DEVICE"
msgstr "NETWORK BLOCK DEVICE"

#. type: textblock
#: ../lib/guestfs.pod:783
msgid "Libguestfs can access Network Block Device (NBD) disks remotely."
msgstr "Libguestfs can access Network Block Device (NBD) disks remotely."

#. type: verbatim
#: ../lib/guestfs.pod:788
#, no-wrap
msgid ""
" char **server = { \"nbd.example.org:3000\", NULL };\n"
" guestfs_add_drive_opts (g, \"\" /* export name - see below */,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"nbd\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, server,\n"
"                         -1);\n"
"\n"
msgstr ""
" char **server = { \"nbd.example.org:3000\", NULL };\n"
" guestfs_add_drive_opts (g, \"\" /* export name - see below */,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"nbd\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, server,\n"
"                         -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:801
msgid ""
"C<server> is in fact a list of servers.  For NBD you must always supply a "
"list with a single element.  (Other remote protocols require zero or more "
"than one server, hence the requirement for this parameter to be a list)."
msgstr ""
"C<server> is in fact a list of servers.  For NBD you must always supply a "
"list with a single element.  (Other remote protocols require zero or more "
"than one server, hence the requirement for this parameter to be a list)."

#. type: textblock
#: ../lib/guestfs.pod:808
msgid ""
"The C<server> string is documented in L</guestfs_add_drive_opts>.  To "
"connect to a local qemu-nbd instance over a Unix domain socket, use C<"
"\"unix:/path/to/socket\">."
msgstr ""
"The C<server> string is documented in L</guestfs_add_drive_opts>.  To "
"connect to a local qemu-nbd instance over a Unix domain socket, use C<"
"\"unix:/path/to/socket\">."

#. type: textblock
#: ../lib/guestfs.pod:814
msgid ""
"The C<filename> parameter is the NBD export name.  Use an empty string to "
"mean the default export.  Many NBD servers, including qemu-nbd, do not "
"support export names."
msgstr ""
"The C<filename> parameter is the NBD export name.  Use an empty string to "
"mean the default export.  Many NBD servers, including qemu-nbd, do not "
"support export names."

#. type: textblock
#: ../lib/guestfs.pod:820
msgid ""
"If using qemu-nbd as your server, you should always specify the C<-t> "
"option.  The reason is that libguestfs may open several connections to the "
"server."
msgstr ""
"If using qemu-nbd as your server, you should always specify the C<-t> "
"option.  The reason is that libguestfs may open several connections to the "
"server."

#. type: textblock
#: ../lib/guestfs.pod:826
msgid ""
"The libvirt backend requires that you set the C<format> parameter of L</"
"guestfs_add_drive_opts> accurately when you use writable NBD disks."
msgstr ""
"The libvirt backend requires that you set the C<format> parameter of L</"
"guestfs_add_drive_opts> accurately when you use writable NBD disks."

#. type: textblock
#: ../lib/guestfs.pod:831
msgid ""
"The libvirt backend has a bug that stops Unix domain socket connections from "
"working: L<https://bugzilla.redhat.com/show_bug.cgi?id=922888>"
msgstr ""
"The libvirt backend has a bug that stops Unix domain socket connections from "
"working: L<https://bugzilla.redhat.com/show_bug.cgi?id=922888>"

#. type: textblock
#: ../lib/guestfs.pod:837
msgid ""
"The direct backend does not support readonly connections because of a bug in "
"qemu: L<https://bugs.launchpad.net/qemu/+bug/1155677>"
msgstr ""
"The direct backend does not support readonly connections because of a bug in "
"qemu: L<https://bugs.launchpad.net/qemu/+bug/1155677>"

#. type: =head3
#: ../lib/guestfs.pod:843
msgid "SHEEPDOG"
msgstr "SHEEPDOG"

#. type: textblock
#: ../lib/guestfs.pod:845
msgid "Libguestfs can access Sheepdog disks."
msgstr "Libguestfs can access Sheepdog disks."

#. type: verbatim
#: ../lib/guestfs.pod:850
#, no-wrap
msgid ""
" char **servers = { /* optional servers ... */ NULL };\n"
" guestfs_add_drive_opts (g, \"volume\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"sheepdog\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, servers,\n"
"                         -1);\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:857
msgid ""
"The optional list of C<servers> may be zero or more server addresses (C<"
"\"hostname:port\">).  The format of the server strings is documented in L</"
"guestfs_add_drive_opts>."
msgstr ""
"The optional list of C<servers> may be zero or more server addresses (C<"
"\"hostname:port\">).  The format of the server strings is documented in L</"
"guestfs_add_drive_opts>."

#. type: =head3
#: ../lib/guestfs.pod:861
msgid "SSH"
msgstr "SSH"

#. type: textblock
#: ../lib/guestfs.pod:863
msgid "Libguestfs can access disks over a Secure Shell (SSH) connection."
msgstr "Libguestfs can access disks over a Secure Shell (SSH) connection."

#. type: textblock
#: ../lib/guestfs.pod:865
msgid ""
"To do this, set the C<protocol> and C<server> and (optionally)  C<username> "
"parameters of L</guestfs_add_drive_opts> like this:"
msgstr ""
"To do this, set the C<protocol> and C<server> and (optionally)  C<username> "
"parameters of L</guestfs_add_drive_opts> like this:"

#. type: verbatim
#: ../lib/guestfs.pod:868
#, no-wrap
msgid ""
" char **server = { \"remote.example.com\", NULL };\n"
" guestfs_add_drive_opts (g, \"/path/to/disk.img\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"ssh\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, server,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_USERNAME, \"remoteuser\",\n"
"                         -1);\n"
"\n"
msgstr ""
" char **server = { \"remote.example.com\", NULL };\n"
" guestfs_add_drive_opts (g, \"/path/to/disk.img\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"raw\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_PROTOCOL, \"ssh\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_SERVER, server,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_USERNAME, \"remoteuser\",\n"
"                         -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:876
msgid ""
"The format of the server string is documented in L</guestfs_add_drive_opts>."
msgstr ""
"The format of the server string is documented in L</guestfs_add_drive_opts>."

#. type: =head2
#: ../lib/guestfs.pod:879
msgid "INSPECTION"
msgstr "INSPECTION"

#. type: textblock
#: ../lib/guestfs.pod:881
msgid ""
"Libguestfs has APIs for inspecting an unknown disk image to find out if it "
"contains operating systems, an install CD or a live CD."
msgstr ""
"Libguestfs has APIs for inspecting an unknown disk image to find out if it "
"contains operating systems, an install CD or a live CD."

#. type: textblock
#: ../lib/guestfs.pod:884
msgid ""
"Add all disks belonging to the unknown virtual machine and call L</"
"guestfs_launch> in the usual way."
msgstr ""
"Add all disks belonging to the unknown virtual machine and call L</"
"guestfs_launch> in the usual way."

#. type: textblock
#: ../lib/guestfs.pod:887
msgid ""
"Then call L</guestfs_inspect_os>.  This function uses other libguestfs calls "
"and certain heuristics, and returns a list of operating systems that were "
"found.  An empty list means none were found.  A single element is the root "
"filesystem of the operating system.  For dual- or multi-boot guests, "
"multiple roots can be returned, each one corresponding to a separate "
"operating system.  (Multi-boot virtual machines are extremely rare in the "
"world of virtualization, but since this scenario can happen, we have built "
"libguestfs to deal with it.)"
msgstr ""
"Then call L</guestfs_inspect_os>.  This function uses other libguestfs calls "
"and certain heuristics, and returns a list of operating systems that were "
"found.  An empty list means none were found.  A single element is the root "
"filesystem of the operating system.  For dual- or multi-boot guests, "
"multiple roots can be returned, each one corresponding to a separate "
"operating system.  (Multi-boot virtual machines are extremely rare in the "
"world of virtualisation, but since this scenario can happen, we have built "
"libguestfs to deal with it.)"

#. type: textblock
#: ../lib/guestfs.pod:896
msgid ""
"For each root, you can then call various C<guestfs_inspect_get_*> functions "
"to get additional details about that operating system.  For example, call L</"
"guestfs_inspect_get_type> to return the string C<windows> or C<linux> for "
"Windows and Linux-based operating systems respectively."
msgstr ""
"For each root, you can then call various C<guestfs_inspect_get_*> functions "
"to get additional details about that operating system.  For example, call L</"
"guestfs_inspect_get_type> to return the string C<windows> or C<linux> for "
"Windows and Linux-based operating systems respectively."

#. type: textblock
#: ../lib/guestfs.pod:902
msgid ""
"Un*x-like and Linux-based operating systems usually consist of several "
"filesystems which are mounted at boot time (for example, a separate boot "
"partition mounted on F</boot>).  The inspection rules are able to detect how "
"filesystems correspond to mount points.  Call "
"C<guestfs_inspect_get_mountpoints> to get this mapping.  It might return a "
"hash table like this example:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:909
#, no-wrap
msgid ""
" /boot => /dev/sda1\n"
" /     => /dev/vg_guest/lv_root\n"
" /usr  => /dev/vg_guest/lv_usr\n"
"\n"
msgstr ""
" /boot => /dev/sda1\n"
" /     => /dev/vg_guest/lv_root\n"
" /usr  => /dev/vg_guest/lv_usr\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:913
msgid ""
"The caller can then make calls to L</guestfs_mount> to mount the filesystems "
"as suggested."
msgstr ""
"The caller can then make calls to L</guestfs_mount> to mount the filesystems "
"as suggested."

#. type: textblock
#: ../lib/guestfs.pod:916
msgid ""
"Be careful to mount filesystems in the right order (eg. F</> before F</"
"usr>).  Sorting the keys of the hash by length, shortest first, should work."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:920
msgid ""
"Inspection currently only works for some common operating systems.  "
"Contributors are welcome to send patches for other operating systems that we "
"currently cannot detect."
msgstr ""
"Inspection currently only works for some common operating systems.  "
"Contributors are welcome to send patches for other operating systems that we "
"currently cannot detect."

#. type: textblock
#: ../lib/guestfs.pod:924
msgid ""
"Encrypted disks must be opened before inspection.  See L</ENCRYPTED DISKS> "
"for more details.  The L</guestfs_inspect_os> function just ignores any "
"encrypted devices."
msgstr ""
"Encrypted disks must be opened before inspection.  See L</ENCRYPTED DISKS> "
"for more details.  The L</guestfs_inspect_os> function just ignores any "
"encrypted devices."

#. type: textblock
#: ../lib/guestfs.pod:928
msgid ""
"A note on the implementation: The call L</guestfs_inspect_os> performs "
"inspection and caches the results in the guest handle.  Subsequent calls to "
"C<guestfs_inspect_get_*> return this cached information, but I<do not> re-"
"read the disks.  If you change the content of the guest disks, you can redo "
"inspection by calling L</guestfs_inspect_os> again.  (L</"
"guestfs_inspect_list_applications2> works a little differently from the "
"other calls and does read the disks.  See documentation for that function "
"for details)."
msgstr ""
"A note on the implementation: The call L</guestfs_inspect_os> performs "
"inspection and caches the results in the guest handle.  Subsequent calls to "
"C<guestfs_inspect_get_*> return this cached information, but I<do not> re-"
"read the disks.  If you change the content of the guest disks, you can redo "
"inspection by calling L</guestfs_inspect_os> again.  (L</"
"guestfs_inspect_list_applications2> works a little differently from the "
"other calls and does read the disks.  See documentation for that function "
"for details)."

#. type: =head3
#: ../lib/guestfs.pod:937
msgid "INSPECTING INSTALL DISKS"
msgstr "INSPECTING INSTALL DISKS"

#. type: textblock
#: ../lib/guestfs.pod:939
msgid ""
"Libguestfs (since 1.9.4) can detect some install disks, install CDs, live "
"CDs and more."
msgstr ""
"Libguestfs (since 1.9.4) can detect some install disks, install CDs, live "
"CDs and more."

#. type: textblock
#: ../lib/guestfs.pod:942
msgid ""
"Further information is available about the operating system that can be "
"installed using the regular inspection APIs like L</"
"guestfs_inspect_get_product_name>, L</guestfs_inspect_get_major_version> etc."
msgstr ""
"Further information is available about the operating system that can be "
"installed using the regular inspection APIs like L</"
"guestfs_inspect_get_product_name>, L</guestfs_inspect_get_major_version> etc."

#. type: =head2
#: ../lib/guestfs.pod:947
msgid "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"
msgstr "SPECIAL CONSIDERATIONS FOR WINDOWS GUESTS"

#. type: textblock
#: ../lib/guestfs.pod:949
msgid ""
"Libguestfs can mount NTFS partitions.  It does this using the L<http://www."
"ntfs-3g.org/> driver."
msgstr ""
"Libguestfs can mount NTFS partitions.  It does this using the L<http://www."
"ntfs-3g.org/> driver."

#. type: =head3
#: ../lib/guestfs.pod:952
msgid "DRIVE LETTERS AND PATHS"
msgstr "DRIVE LETTERS AND PATHS"

#. type: textblock
#: ../lib/guestfs.pod:954
msgid ""
"DOS and Windows still use drive letters, and the filesystems are always "
"treated as case insensitive by Windows itself, and therefore you might find "
"a Windows configuration file referring to a path like C<c:\\windows"
"\\system32>.  When the filesystem is mounted in libguestfs, that directory "
"might be referred to as F</WINDOWS/System32>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:960
msgid ""
"Drive letter mappings can be found using inspection (see L</INSPECTION> and "
"L</guestfs_inspect_get_drive_mappings>)"
msgstr ""
"Drive letter mappings can be found using inspection (see L</INSPECTION> and "
"L</guestfs_inspect_get_drive_mappings>)"

#. type: textblock
#: ../lib/guestfs.pod:963
msgid ""
"Dealing with separator characters (backslash vs forward slash) is outside "
"the scope of libguestfs, but usually a simple character replacement will "
"work."
msgstr ""
"Dealing with separator characters (backslash vs forward slash) is outside "
"the scope of libguestfs, but usually a simple character replacement will "
"work."

#. type: textblock
#: ../lib/guestfs.pod:967
msgid ""
"To resolve the case insensitivity of paths, call L</"
"guestfs_case_sensitive_path>."
msgstr ""
"To resolve the case insensitivity of paths, call L</"
"guestfs_case_sensitive_path>."

#. type: =head3
#: ../lib/guestfs.pod:970
msgid "LONG FILENAMES ON NTFS"
msgstr "LONG FILENAMES ON NTFS"

#. type: textblock
#: ../lib/guestfs.pod:972
msgid ""
"NTFS supports filenames up to 255 characters long.  \"Character\" means a 2 "
"byte UTF-16 codepoint which can encode the most common Unicode codepoints."
msgstr ""
"NTFS supports filenames up to 255 characters long.  \"Character\" means a 2 "
"byte UTF-16 codepoint which can encode the most common Unicode codepoints."

#. type: textblock
#: ../lib/guestfs.pod:976
msgid ""
"Most Linux filesystems support filenames up to 255 I<bytes>.  This means you "
"may get an error:"
msgstr ""
"Most Linux filesystems support filenames up to 255 I<bytes>.  This means you "
"may get an error:"

#. type: verbatim
#: ../lib/guestfs.pod:979
#, no-wrap
msgid ""
" File name too long\n"
"\n"
msgstr ""
" File name too long\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:981
msgid ""
"when you copy a file from NTFS to a Linux filesystem if the name, when "
"reencoded as UTF-8, would exceed 255 bytes in length."
msgstr ""
"when you copy a file from NTFS to a Linux filesystem if the name, when "
"reencoded as UTF-8, would exceed 255 bytes in length."

#. type: textblock
#: ../lib/guestfs.pod:984
msgid ""
"This will most often happen when using non-ASCII names that are longer than "
"~127 characters (eg. Greek, Cyrillic) or longer than ~85 characters (Asian "
"languages)."
msgstr ""
"This will most often happen when using non-ASCII names that are longer than "
"~127 characters (eg. Greek, Cyrillic) or longer than ~85 characters (Asian "
"languages)."

#. type: textblock
#: ../lib/guestfs.pod:988
msgid ""
"A workaround is not to try to store such long filenames on Linux native "
"filesystems.  Since the L<tar(1)> format can store unlimited length "
"filenames, keep the files in a tarball."
msgstr ""
"A workaround is not to try to store such long filenames on Linux native "
"filesystems.  Since the L<tar(1)> format can store unlimited length "
"filenames, keep the files in a tarball."

#. type: =head3
#: ../lib/guestfs.pod:992
msgid "ACCESSING THE WINDOWS REGISTRY"
msgstr "ACCESSING THE WINDOWS REGISTRY"

#. type: textblock
#: ../lib/guestfs.pod:994
msgid ""
"Libguestfs also provides some help for decoding Windows Registry \"hive\" "
"files, through a separate C library called L<hivex(3)>."
msgstr ""
"Libguestfs also provides some help for decoding Windows Registry \"hive\" "
"files, through a separate C library called L<hivex(3)>."

#. type: textblock
#: ../lib/guestfs.pod:997
msgid ""
"Before libguestfs 1.19.35 you had to download the hive file, operate on it "
"locally using hivex, and upload it again.  Since this version, we have "
"included the major hivex APIs directly in the libguestfs API (see L</"
"guestfs_hivex_open>).  This means that if you have opened a Windows guest, "
"you can read and write the registry directly."
msgstr ""
"Before libguestfs 1.19.35 you had to download the hive file, operate on it "
"locally using hivex, and upload it again.  Since this version, we have "
"included the major hivex APIs directly in the libguestfs API (see L</"
"guestfs_hivex_open>).  This means that if you have opened a Windows guest, "
"you can read and write the registry directly."

#. type: textblock
#: ../lib/guestfs.pod:1003
msgid "See also L<virt-win-reg(1)>."
msgstr "See also L<virt-win-reg(1)>."

#. type: =head3
#: ../lib/guestfs.pod:1005
msgid "SYMLINKS ON NTFS-3G FILESYSTEMS"
msgstr "SYMLINKS ON NTFS-3G FILESYSTEMS"

#. type: textblock
#: ../lib/guestfs.pod:1007
msgid ""
"Ntfs-3g tries to rewrite \"Junction Points\" and NTFS \"symbolic links\" to "
"provide something which looks like a Linux symlink.  The way it tries to do "
"the rewriting is described here:"
msgstr ""
"Ntfs-3g tries to rewrite \"Junction Points\" and NTFS \"symbolic links\" to "
"provide something which looks like a Linux symlink.  The way it tries to do "
"the rewriting is described here:"

#. type: textblock
#: ../lib/guestfs.pod:1011
msgid ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-"
"symbolic-links/>"
msgstr ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-"
"symbolic-links/>"

#. type: textblock
#: ../lib/guestfs.pod:1013
msgid ""
"The essential problem is that ntfs-3g simply does not have enough "
"information to do a correct job.  NTFS links can contain drive letters and "
"references to external device GUIDs that ntfs-3g has no way of resolving.  "
"It is almost certainly the case that libguestfs callers should ignore what "
"ntfs-3g does (ie. don't use L</guestfs_readlink> on NTFS volumes)."
msgstr ""
"The essential problem is that ntfs-3g simply does not have enough "
"information to do a correct job.  NTFS links can contain drive letters and "
"references to external device GUIDs that ntfs-3g has no way of resolving.  "
"It is almost certainly the case that libguestfs callers should ignore what "
"ntfs-3g does (ie. don't use L</guestfs_readlink> on NTFS volumes)."

#. type: textblock
#: ../lib/guestfs.pod:1020
msgid ""
"Instead if you encounter a symbolic link on an ntfs-3g filesystem, use L</"
"guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended "
"attribute, and read the raw reparse data from that (you can find the format "
"documented in various places around the web)."
msgstr ""
"Instead if you encounter a symbolic link on an ntfs-3g filesystem, use L</"
"guestfs_lgetxattr> to read the C<system.ntfs_reparse_data> extended "
"attribute, and read the raw reparse data from that (you can find the format "
"documented in various places around the web)."

#. type: =head3
#: ../lib/guestfs.pod:1025
msgid "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS"
msgstr "EXTENDED ATTRIBUTES ON NTFS-3G FILESYSTEMS"

#. type: textblock
#: ../lib/guestfs.pod:1027
msgid ""
"There are other useful extended attributes that can be read from ntfs-3g "
"filesystems (using L</guestfs_getxattr>).  See:"
msgstr ""
"There are other useful extended attributes that can be read from ntfs-3g "
"filesystems (using L</guestfs_getxattr>).  See:"

#. type: textblock
#: ../lib/guestfs.pod:1030
msgid ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>"
msgstr ""
"L<http://www.tuxera.com/community/ntfs-3g-advanced/extended-attributes/>"

#. type: =head3
#: ../lib/guestfs.pod:1032
msgid "WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP"
msgstr "WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP"

#. type: textblock
#: ../lib/guestfs.pod:1034
msgid ""
"Windows guests which have been hibernated (instead of fully shut down)  "
"cannot be mounted.  This is a limitation of ntfs-3g.  You will see an error "
"like this:"
msgstr ""
"Windows guests which have been hibernated (instead of fully shut down)  "
"cannot be mounted.  This is a limitation of ntfs-3g.  You will see an error "
"like this:"

#. type: verbatim
#: ../lib/guestfs.pod:1038
#, no-wrap
msgid ""
" The disk contains an unclean file system (0, 0).\n"
" Metadata kept in Windows cache, refused to mount.\n"
" Failed to mount '/dev/sda2': Operation not permitted\n"
" The NTFS partition is in an unsafe state. Please resume\n"
" and shutdown Windows fully (no hibernation or fast\n"
" restarting), or mount the volume read-only with the\n"
" 'ro' mount option.\n"
"\n"
msgstr ""
" The disk contains an unclean file system (0, 0).\n"
" Metadata kept in Windows cache, refused to mount.\n"
" Failed to mount '/dev/sda2': Operation not permitted\n"
" The NTFS partition is in an unsafe state. Please resume\n"
" and shutdown Windows fully (no hibernation or fast\n"
" restarting), or mount the volume read-only with the\n"
" 'ro' mount option.\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1046
msgid ""
"In Windows 8, the shutdown button does not shut down the guest at all.  "
"Instead it usually hibernates the guest.  This is known as \"fast startup\"."
msgstr ""
"In Windows 8, the shutdown button does not shut down the guest at all.  "
"Instead it usually hibernates the guest.  This is known as \"fast startup\"."

#. type: textblock
#: ../lib/guestfs.pod:1050
msgid "Some suggested workarounds are:"
msgstr "Some suggested workarounds are:"

#. type: textblock
#: ../lib/guestfs.pod:1056
msgid "Mount read-only (eg. L</guestfs_mount_ro>)."
msgstr "Mount read-only (eg. L</guestfs_mount_ro>)."

#. type: textblock
#: ../lib/guestfs.pod:1060
msgid ""
"On Windows 8, turn off fast startup.  It is in the Control Panel → Power "
"Options → Choose what the power buttons do → Change settings that are "
"currently unavailable → Turn on fast startup."
msgstr ""
"On Windows 8, turn off fast startup.  It is in the Control Panel → Power "
"Options → Choose what the power buttons do → Change settings that are "
"currently unavailable → Turn on fast startup."

#. type: textblock
#: ../lib/guestfs.pod:1066
msgid ""
"On Windows 7 and earlier, shut the guest off properly instead of hibernating "
"it."
msgstr ""
"On Windows 7 and earlier, shut the guest off properly instead of hibernating "
"it."

#. type: =head2
#: ../lib/guestfs.pod:1071
msgid "RESIZE2FS ERRORS"
msgstr "RESIZE2FS ERRORS"

#. type: textblock
#: ../lib/guestfs.pod:1073
msgid ""
"The L</guestfs_resize2fs>, L</guestfs_resize2fs_size> and L</"
"guestfs_resize2fs_M> calls are used to resize ext2/3/4 filesystems."
msgstr ""
"The L</guestfs_resize2fs>, L</guestfs_resize2fs_size> and L</"
"guestfs_resize2fs_M> calls are used to resize ext2/3/4 filesystems."

#. type: textblock
#: ../lib/guestfs.pod:1076
msgid ""
"The underlying program (L<resize2fs(8)>) requires that the filesystem is "
"clean and recently fsck'd before you can resize it.  Also, if the resize "
"operation fails for some reason, then you had to call fsck the filesystem "
"again to fix it."
msgstr ""
"The underlying program (L<resize2fs(8)>) requires that the filesystem is "
"clean and recently fsck'd before you can resize it.  Also, if the resize "
"operation fails for some reason, then you had to call fsck the filesystem "
"again to fix it."

#. type: textblock
#: ../lib/guestfs.pod:1081
msgid ""
"In libguestfs C<lt> 1.17.14, you usually had to call L</guestfs_e2fsck_f> "
"before the resize.  However, in C<ge> 1.17.14, L<e2fsck(8)> is called "
"automatically before the resize, so you no longer need to do this."
msgstr ""
"In libguestfs C<lt> 1.17.14, you usually had to call L</guestfs_e2fsck_f> "
"before the resize.  However, in C<ge> 1.17.14, L<e2fsck(8)> is called "
"automatically before the resize, so you no longer need to do this."

#. type: textblock
#: ../lib/guestfs.pod:1086
msgid ""
"The L<resize2fs(8)> program can still fail, in which case it prints an error "
"message similar to:"
msgstr ""
"The L<resize2fs(8)> program can still fail, in which case it prints an error "
"message similar to:"

#. type: verbatim
#: ../lib/guestfs.pod:1089
#, no-wrap
msgid ""
" Please run 'e2fsck -fy <device>' to fix the filesystem\n"
" after the aborted resize operation.\n"
"\n"
msgstr ""
" Please run 'e2fsck -fy <device>' to fix the filesystem\n"
" after the aborted resize operation.\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1092
msgid ""
"You can do this by calling L</guestfs_e2fsck> with the C<forceall> option.  "
"However in the context of disk images, it is usually better to avoid this "
"situation, eg. by rolling back to an earlier snapshot, or by copying and "
"resizing and on failure going back to the original."
msgstr ""
"You can do this by calling L</guestfs_e2fsck> with the C<forceall> option.  "
"However in the context of disk images, it is usually better to avoid this "
"situation, eg. by rolling back to an earlier snapshot, or by copying and "
"resizing and on failure going back to the original."

#. type: =head2
#: ../lib/guestfs.pod:1097
msgid "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"
msgstr "USING LIBGUESTFS WITH OTHER PROGRAMMING LANGUAGES"

#. type: textblock
#: ../lib/guestfs.pod:1099
msgid ""
"Although we don’t want to discourage you from using the C API, we will "
"mention here that the same API is also available in other languages."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1102
msgid ""
"The API is broadly identical in all supported languages.  This means that "
"the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> "
"in Perl, C<g.add_drive_ro(file)> in Python, and C<g#add_drive_ro file> in "
"OCaml.  In other words, a straightforward, predictable isomorphism between "
"each language."
msgstr ""
"The API is broadly identical in all supported languages.  This means that "
"the C call C<guestfs_add_drive_ro(g,file)> is C<$g-E<gt>add_drive_ro($file)> "
"in Perl, C<g.add_drive_ro(file)> in Python, and C<g#add_drive_ro file> in "
"OCaml.  In other words, a straightforward, predictable isomorphism between "
"each language."

#. type: textblock
#: ../lib/guestfs.pod:1108
msgid ""
"Error messages are automatically transformed into exceptions if the language "
"supports it."
msgstr ""
"Error messages are automatically transformed into exceptions if the language "
"supports it."

#. type: textblock
#: ../lib/guestfs.pod:1111
msgid ""
"We don’t try to \"object orientify\" parts of the API in OO languages, "
"although contributors are welcome to write higher level APIs above what we "
"provide in their favourite languages if they wish."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1117
msgid "B<C++>"
msgstr "B<C++>"

#. type: textblock
#: ../lib/guestfs.pod:1119
msgid ""
"You can use the I<guestfs.h> header file from C++ programs.  The C++ API is "
"identical to the C API.  C++ classes and exceptions are not used."
msgstr ""
"You can use the I<guestfs.h> header file from C++ programs.  The C++ API is "
"identical to the C API.  C++ classes and exceptions are not used."

#. type: =item
#: ../lib/guestfs.pod:1123
msgid "B<C#>"
msgstr "B<C#>"

#. type: textblock
#: ../lib/guestfs.pod:1125
msgid ""
"The C# bindings are highly experimental.  Please read the warnings at the "
"top of F<csharp/Libguestfs.cs>."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1128
msgid "B<Erlang>"
msgstr "B<Erlang>"

#. type: textblock
#: ../lib/guestfs.pod:1130
msgid "See L<guestfs-erlang(3)>."
msgstr "See L<guestfs-erlang(3)>."

#. type: =item
#: ../lib/guestfs.pod:1132
msgid "B<GObject>"
msgstr "B<GObject>"

#. type: textblock
#: ../lib/guestfs.pod:1134
msgid ""
"Experimental GObject bindings (with GObject Introspection support) are "
"available."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1137
msgid "See L<guestfs-gobject(3)>."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1139
msgid "B<Go>"
msgstr "B<Go>"

#. type: textblock
#: ../lib/guestfs.pod:1141
msgid "See L<guestfs-golang(3)>."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1143
msgid "B<Haskell>"
msgstr "B<Haskell>"

#. type: textblock
#: ../lib/guestfs.pod:1145
msgid "This language binding is working but incomplete:"
msgstr "This language binding is working but incomplete:"

#. type: textblock
#: ../lib/guestfs.pod:1151
msgid ""
"Functions with optional arguments are not bound.  Implementing optional "
"arguments in Haskell seems to be very complex."
msgstr ""
"Functions with optional arguments are not bound.  Implementing optional "
"arguments in Haskell seems to be very complex."

#. type: textblock
#: ../lib/guestfs.pod:1156
msgid "Events are not bound."
msgstr "Events are not bound."

#. type: textblock
#: ../lib/guestfs.pod:1160
msgid "Functions with the following return types are not bound:"
msgstr "Functions with the following return types are not bound:"

#. type: textblock
#: ../lib/guestfs.pod:1166
msgid "Any function returning a struct."
msgstr "Any function returning a struct."

#. type: textblock
#: ../lib/guestfs.pod:1170
msgid "Any function returning a list of structs."
msgstr "Any function returning a list of structs."

#. type: textblock
#: ../lib/guestfs.pod:1174
msgid ""
"A few functions that return fixed length buffers (specifically ones declared "
"C<RBufferOut> in the generator)."
msgstr ""
"A few functions that return fixed length buffers (specifically ones declared "
"C<RBufferOut> in the generator)."

#. type: textblock
#: ../lib/guestfs.pod:1179
msgid ""
"A tiny number of obscure functions that return constant strings "
"(specifically ones declared C<RConstOptString> in the generator)."
msgstr ""
"A tiny number of obscure functions that return constant strings "
"(specifically ones declared C<RConstOptString> in the generator)."

#. type: =item
#: ../lib/guestfs.pod:1186
msgid "B<Java>"
msgstr "B<Java>"

#. type: textblock
#: ../lib/guestfs.pod:1188
msgid ""
"Full documentation is contained in the Javadoc which is distributed with "
"libguestfs.  For examples, see L<guestfs-java(3)>."
msgstr ""
"Full documentation is contained in the Javadoc which is distributed with "
"libguestfs.  For examples, see L<guestfs-java(3)>."

#. type: =item
#: ../lib/guestfs.pod:1191
msgid "B<Lua>"
msgstr "B<Lua>"

#. type: textblock
#: ../lib/guestfs.pod:1193
msgid "See L<guestfs-lua(3)>."
msgstr "See L<guestfs-lua(3)>."

#. type: =item
#: ../lib/guestfs.pod:1195
msgid "B<OCaml>"
msgstr "B<OCaml>"

#. type: textblock
#: ../lib/guestfs.pod:1197
msgid "See L<guestfs-ocaml(3)>."
msgstr "See L<guestfs-ocaml(3)>."

#. type: =item
#: ../lib/guestfs.pod:1199
msgid "B<Perl>"
msgstr "B<Perl>"

#. type: textblock
#: ../lib/guestfs.pod:1201
msgid "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."
msgstr "See L<guestfs-perl(3)> and L<Sys::Guestfs(3)>."

#. type: =item
#: ../lib/guestfs.pod:1203
msgid "B<PHP>"
msgstr "B<PHP>"

#. type: textblock
#: ../lib/guestfs.pod:1205
msgid ""
"For documentation see C<README-PHP> supplied with libguestfs sources or in "
"the php-libguestfs package for your distribution."
msgstr ""
"For documentation see C<README-PHP> supplied with libguestfs sources or in "
"the php-libguestfs package for your distribution."

#. type: textblock
#: ../lib/guestfs.pod:1208
msgid "The PHP binding only works correctly on 64 bit machines."
msgstr "The PHP binding only works correctly on 64 bit machines."

#. type: =item
#: ../lib/guestfs.pod:1210
msgid "B<Python>"
msgstr "B<Python>"

#. type: textblock
#: ../lib/guestfs.pod:1212
msgid "See L<guestfs-python(3)>."
msgstr "See L<guestfs-python(3)>."

#. type: =item
#: ../lib/guestfs.pod:1214
msgid "B<Ruby>"
msgstr "B<Ruby>"

#. type: textblock
#: ../lib/guestfs.pod:1216
msgid "See L<guestfs-ruby(3)>."
msgstr "See L<guestfs-ruby(3)>."

#. type: textblock
#: ../lib/guestfs.pod:1218
msgid "For JRuby, use the Java bindings."
msgstr "For JRuby, use the Java bindings."

#. type: =item
#: ../lib/guestfs.pod:1220
msgid "B<shell scripts>"
msgstr "B<shell scripts>"

#. type: textblock
#: ../lib/guestfs.pod:1222
msgid "See L<guestfish(1)>."
msgstr "See L<guestfish(1)>."

#. type: =head2
#: ../lib/guestfs.pod:1226
msgid "LIBGUESTFS GOTCHAS"
msgstr "LIBGUESTFS GOTCHAS"

#. type: textblock
#: ../lib/guestfs.pod:1228
msgid ""
"L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: \"A feature of a "
"system [...] that works in the way it is documented but is counterintuitive "
"and almost invites mistakes.\""
msgstr ""
"L<http://en.wikipedia.org/wiki/Gotcha_(programming)>: \"A feature of a "
"system [...] that works in the way it is documented but is counterintuitive "
"and almost invites mistakes.\""

#. type: textblock
#: ../lib/guestfs.pod:1232
msgid ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
"backwards compatibility or other reasons.  If there is ever a libguestfs 2.0 "
"release, you can expect these to change.  Beware of them."
msgstr ""
"Since we developed libguestfs and the associated tools, there are several "
"things we would have designed differently, but are now stuck with for "
"backwards compatibility or other reasons.  If there is ever a libguestfs 2.0 "
"release, you can expect these to change.  Beware of them."

#. type: =item
#: ../lib/guestfs.pod:1240
msgid "Read-only should be the default."
msgstr "Read-only should be the default."

#. type: textblock
#: ../lib/guestfs.pod:1242
msgid ""
"In L<guestfish(3)>, I<--ro> should be the default, and you should have to "
"specify I<--rw> if you want to make changes to the image."
msgstr ""
"In L<guestfish(3)>, I<--ro> should be the default, and you should have to "
"specify I<--rw> if you want to make changes to the image."

#. type: textblock
#: ../lib/guestfs.pod:1245
msgid "This would reduce the potential to corrupt live VM images."
msgstr "This would reduce the potential to corrupt live VM images."

#. type: textblock
#: ../lib/guestfs.pod:1247
msgid ""
"Note that many filesystems change the disk when you just mount and unmount, "
"even if you didn't perform any writes.  You need to use L</"
"guestfs_add_drive_ro> to guarantee that the disk is not changed."
msgstr ""
"Note that many filesystems change the disk when you just mount and unmount, "
"even if you didn't perform any writes.  You need to use L</"
"guestfs_add_drive_ro> to guarantee that the disk is not changed."

#. type: =item
#: ../lib/guestfs.pod:1251
msgid "guestfish command line is hard to use."
msgstr "guestfish command line is hard to use."

#. type: textblock
#: ../lib/guestfs.pod:1253
msgid ""
"F<guestfish disk.img> doesn't do what people expect (open F<disk.img> for "
"examination).  It tries to run a guestfish command F<disk.img> which doesn't "
"exist, so it fails.  In earlier versions of guestfish the error message was "
"also unintuitive, but we have corrected this since.  Like the Bourne shell, "
"we should have used C<guestfish -c command> to run commands."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1260
msgid "guestfish megabyte modifiers don’t work right on all commands"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1262
msgid ""
"In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for "
"other modifiers).  What guestfish actually does is to multiply the number "
"part by the modifier part and pass the result to the C API.  However this "
"doesn't work for a few APIs which aren't expecting bytes, but are already "
"expecting some other unit (eg. megabytes)."
msgstr ""
"In recent guestfish you can use C<1M> to mean 1 megabyte (and similarly for "
"other modifiers).  What guestfish actually does is to multiply the number "
"part by the modifier part and pass the result to the C API.  However this "
"doesn't work for a few APIs which aren't expecting bytes, but are already "
"expecting some other unit (eg. megabytes)."

#. type: textblock
#: ../lib/guestfs.pod:1269
msgid "The most common is L</guestfs_lvcreate>.  The guestfish command:"
msgstr "The most common is L</guestfs_lvcreate>.  The guestfish command:"

#. type: verbatim
#: ../lib/guestfs.pod:1271
#, no-wrap
msgid ""
" lvcreate LV VG 100M\n"
"\n"
msgstr ""
" lvcreate LV VG 100M\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1273
msgid ""
"does not do what you might expect.  Instead because L</guestfs_lvcreate> is "
"already expecting megabytes, this tries to create a 100 I<terabyte> (100 "
"megabytes * megabytes) logical volume.  The error message you get from this "
"is also a little obscure."
msgstr ""
"does not do what you might expect.  Instead because L</guestfs_lvcreate> is "
"already expecting megabytes, this tries to create a 100 I<terabyte> (100 "
"megabytes * megabytes) logical volume.  The error message you get from this "
"is also a little obscure."

#. type: textblock
#: ../lib/guestfs.pod:1278
msgid ""
"This could be fixed in the generator by specially marking parameters and "
"return values which take bytes or other units."
msgstr ""
"This could be fixed in the generator by specially marking parameters and "
"return values which take bytes or other units."

#. type: =item
#: ../lib/guestfs.pod:1281
msgid "Ambiguity between devices and paths"
msgstr "Ambiguity between devices and paths"

#. type: textblock
#: ../lib/guestfs.pod:1283
msgid ""
"There is a subtle ambiguity in the API between a device name (eg. F</dev/"
"sdb2>) and a similar pathname.  A file might just happen to be called "
"C<sdb2> in the directory F</dev> (consider some non-Unix VM image)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1288
msgid ""
"In the current API we usually resolve this ambiguity by having two separate "
"calls, for example L</guestfs_checksum> and L</guestfs_checksum_device>.  "
"Some API calls are ambiguous and (incorrectly) resolve the problem by "
"detecting if the path supplied begins with F</dev/>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1294
msgid ""
"To avoid both the ambiguity and the need to duplicate some calls, we could "
"make paths/devices into structured names.  One way to do this would be to "
"use a notation like grub (C<hd(0,0)>), although nobody really likes this "
"aspect of grub.  Another way would be to use a structured type, equivalent "
"to this OCaml type:"
msgstr ""
"To avoid both the ambiguity and the need to duplicate some calls, we could "
"make paths/devices into structured names.  One way to do this would be to "
"use a notation like grub (C<hd(0,0)>), although nobody really likes this "
"aspect of grub.  Another way would be to use a structured type, equivalent "
"to this OCaml type:"

#. type: verbatim
#: ../lib/guestfs.pod:1300
#, no-wrap
msgid ""
" type path = Path of string | Device of int | Partition of int * int\n"
"\n"
msgstr ""
" type path = Path of string | Device of int | Partition of int * int\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1302
msgid "which would allow you to pass arguments like:"
msgstr "which would allow you to pass arguments like:"

#. type: verbatim
#: ../lib/guestfs.pod:1304
#, no-wrap
msgid ""
" Path \"/foo/bar\"\n"
" Device 1            (* /dev/sdb, or perhaps /dev/sda *)\n"
" Partition (1, 2)    (* /dev/sdb2 (or is it /dev/sda2 or /dev/sdb3?) *)\n"
" Path \"/dev/sdb2\"    (* not a device *)\n"
"\n"
msgstr ""
" Path \"/foo/bar\"\n"
" Device 1            (* /dev/sdb, or perhaps /dev/sda *)\n"
" Partition (1, 2)    (* /dev/sdb2 (or is it /dev/sda2 or /dev/sdb3?) *)\n"
" Path \"/dev/sdb2\"    (* not a device *)\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1309
msgid ""
"As you can see there are still problems to resolve even with this "
"representation.  Also consider how it might work in guestfish."
msgstr ""
"As you can see there are still problems to resolve even with this "
"representation.  Also consider how it might work in guestfish."

#. type: =head2
#: ../lib/guestfs.pod:1314
msgid "KEYS AND PASSPHRASES"
msgstr "KEYS AND PASSPHRASES"

#. type: textblock
#: ../lib/guestfs.pod:1316
msgid ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."
msgstr ""
"Certain libguestfs calls take a parameter that contains sensitive key "
"material, passed in as a C string."

#. type: textblock
#: ../lib/guestfs.pod:1319
msgid ""
"In the future we would hope to change the libguestfs implementation so that "
"keys are L<mlock(2)>-ed into physical RAM, and thus can never end up in "
"swap.  However this is I<not> done at the moment, because of the complexity "
"of such an implementation."
msgstr ""
"In the future we would hope to change the libguestfs implementation so that "
"keys are L<mlock(2)>-ed into physical RAM, and thus can never end up in "
"swap.  However this is I<not> done at the moment, because of the complexity "
"of such an implementation."

#. type: textblock
#: ../lib/guestfs.pod:1324
msgid ""
"Therefore you should be aware that any key parameter you pass to libguestfs "
"might end up being written out to the swap partition.  If this is a concern, "
"scrub the swap partition or don't use libguestfs on encrypted devices."
msgstr ""
"Therefore you should be aware that any key parameter you pass to libguestfs "
"might end up being written out to the swap partition.  If this is a concern, "
"scrub the swap partition or don't use libguestfs on encrypted devices."

#. type: =head2
#: ../lib/guestfs.pod:1329
msgid "MULTIPLE HANDLES AND MULTIPLE THREADS"
msgstr "MULTIPLE HANDLES AND MULTIPLE THREADS"

#. type: textblock
#: ../lib/guestfs.pod:1331
msgid ""
"All high-level libguestfs actions are synchronous.  If you want to use "
"libguestfs asynchronously then you must create a thread."
msgstr ""
"All high-level libguestfs actions are synchronous.  If you want to use "
"libguestfs asynchronously then you must create a thread."

#. type: =head3
#: ../lib/guestfs.pod:1334
msgid "Threads in libguestfs E<ge> 1.38"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1336
msgid ""
"In libguestfs E<ge> 1.38, each handle (C<guestfs_h>) contains a lock which "
"is acquired automatically when you call a libguestfs function.  The "
"practical effect of this is you can call libguestfs functions with the same "
"handle from multiple threads without needing to do any locking."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1342
msgid ""
"Also in libguestfs E<ge> 1.38, the last error on the handle (L</"
"guestfs_last_error>, L</guestfs_last_errno>) is stored in thread-local "
"storage, so it is safe to write code like:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:1346
#, no-wrap
msgid ""
" if (guestfs_add_drive_ro (g, drive) == -1)\n"
"   fprintf (stderr, \"error was: %s\\n\", guestfs_last_error (g));\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1349
msgid "even when other threads may be concurrently using the same handle C<g>."
msgstr ""

#. type: =head3
#: ../lib/guestfs.pod:1351
msgid "Threads in libguestfs E<lt> 1.38"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1353
msgid ""
"In libguestfs E<lt> 1.38, you must use the handle only from a single "
"thread.  Either use the handle exclusively from one thread, or provide your "
"own mutex so that two threads cannot issue calls on the same handle at the "
"same time.  Even apparently innocent functions like L</guestfs_get_trace> "
"are I<not> safe to be called from multiple threads without a mutex in "
"libguestfs E<lt> 1.38."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1360
msgid ""
"Use L</guestfs_set_identifier> to make it simpler to identify threads in "
"trace output."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1365
msgid ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."
msgstr ""
"Libguestfs needs a supermin appliance, which it finds by looking along an "
"internal path."

#. type: textblock
#: ../lib/guestfs.pod:1368
msgid ""
"By default it looks for these in the directory C<$libdir/guestfs> (eg. F</"
"usr/local/lib/guestfs> or F</usr/lib64/guestfs>)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1371
msgid ""
"Use L</guestfs_set_path> or set the environment variable L</LIBGUESTFS_PATH> "
"to change the directories that libguestfs will search in.  The value is a "
"colon-separated list of paths.  The current directory is I<not> searched "
"unless the path contains an empty element or C<.>.  For example "
"C<LIBGUESTFS_PATH=:/usr/lib/guestfs> would search the current directory and "
"then F</usr/lib/guestfs>."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:1378
msgid "QEMU WRAPPERS"
msgstr "QEMU WRAPPERS"

#. type: textblock
#: ../lib/guestfs.pod:1380
msgid ""
"If you want to compile your own qemu, run qemu from a non-standard location, "
"or pass extra arguments to qemu, then you can write a shell-script wrapper "
"around qemu."
msgstr ""
"If you want to compile your own qemu, run qemu from a non-standard location, "
"or pass extra arguments to qemu, then you can write a shell-script wrapper "
"around qemu."

#. type: textblock
#: ../lib/guestfs.pod:1384
msgid ""
"There is one important rule to remember: you I<must C<exec qemu>> as the "
"last command in the shell script (so that qemu replaces the shell and "
"becomes the direct child of the libguestfs-using program).  If you don't do "
"this, then the qemu process won't be cleaned up correctly."
msgstr ""
"There is one important rule to remember: you I<must C<exec qemu>> as the "
"last command in the shell script (so that qemu replaces the shell and "
"becomes the direct child of the libguestfs-using program).  If you don't do "
"this, then the qemu process won't be cleaned up correctly."

#. type: textblock
#: ../lib/guestfs.pod:1389
msgid ""
"Here is an example of a wrapper, where I have built my own copy of qemu from "
"source:"
msgstr ""
"Here is an example of a wrapper, where I have built my own copy of qemu from "
"source:"

#. type: verbatim
#: ../lib/guestfs.pod:1392
#, no-wrap
msgid ""
" #!/bin/sh -\n"
" qemudir=/home/rjones/d/qemu\n"
" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \"$@\"\n"
"\n"
msgstr ""
" #!/bin/sh -\n"
" qemudir=/home/rjones/d/qemu\n"
" exec $qemudir/x86_64-softmmu/qemu-system-x86_64 -L $qemudir/pc-bios \"$@\"\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1396
msgid ""
"Save this script as F</tmp/qemu.wrapper> (or wherever), C<chmod +x>, and "
"then use it by setting the LIBGUESTFS_HV environment variable.  For example:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:1400
#, no-wrap
msgid ""
" LIBGUESTFS_HV=/tmp/qemu.wrapper guestfish\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1402
msgid ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."
msgstr ""
"Note that libguestfs also calls qemu with the -help and -version options in "
"order to determine features."

#. type: textblock
#: ../lib/guestfs.pod:1405
msgid ""
"Wrappers can also be used to edit the options passed to qemu.  In the "
"following example, the C<-machine ...> option (C<-machine> and the following "
"argument) are removed from the command line and replaced with C<-machine pc,"
"accel=tcg>.  The while loop iterates over the options until it finds the "
"right one to remove, putting the remaining options into the C<args> array."
msgstr ""
"Wrappers can also be used to edit the options passed to qemu.  In the "
"following example, the C<-machine ...> option (C<-machine> and the following "
"argument) are removed from the command line and replaced with C<-machine pc,"
"accel=tcg>.  The while loop iterates over the options until it finds the "
"right one to remove, putting the remaining options into the C<args> array."

#. type: verbatim
#: ../lib/guestfs.pod:1414
#, no-wrap
msgid ""
" i=0\n"
" while [ $# -gt 0 ]; do\n"
"     case \"$1\" in\n"
"     -machine)\n"
"         shift 2;;\n"
"     *)\n"
"         args[i]=\"$1\"\n"
"         (( i++ ))\n"
"         shift ;;\n"
"     esac\n"
" done\n"
" \n"
msgstr ""
" i=0\n"
" while [ $# -gt 0 ]; do\n"
"     case \"$1\" in\n"
"     -machine)\n"
"         shift 2;;\n"
"     *)\n"
"         args[i]=\"$1\"\n"
"         (( i++ ))\n"
"         shift ;;\n"
"     esac\n"
" done\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:1426
#, no-wrap
msgid ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
"\n"
msgstr ""
" exec qemu-kvm -machine pc,accel=tcg \"${args[@]}\"\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1430
msgid "<!-- old anchor for the next section --> <a name=\"attach-method\"/>"
msgstr "<!-- old anchor for the next section --> <a name=\"attach-method\"/>"

#. type: =head2
#: ../lib/guestfs.pod:1435
msgid "BACKEND"
msgstr "BACKEND"

#. type: textblock
#: ../lib/guestfs.pod:1437
msgid ""
"The backend (previously known as the \"attach method\") controls how "
"libguestfs creates and/or connects to the backend daemon, eg. by starting "
"qemu directly, or using libvirt to manage an appliance, running User-Mode "
"Linux, or connecting to an already running daemon."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1442
msgid ""
"You can set the backend by calling L</guestfs_set_backend>, or by setting "
"the environment variable C<LIBGUESTFS_BACKEND>."
msgstr ""
"You can set the backend by calling L</guestfs_set_backend>, or by setting "
"the environment variable C<LIBGUESTFS_BACKEND>."

#. type: textblock
#: ../lib/guestfs.pod:1445
msgid "Possible backends are described below:"
msgstr "Possible backends are described below:"

#. type: =item
#: ../lib/guestfs.pod:1449
msgid "C<direct>"
msgstr "C<direct>"

#. type: =item
#: ../lib/guestfs.pod:1451
msgid "C<appliance>"
msgstr "C<appliance>"

#. type: textblock
#: ../lib/guestfs.pod:1453
msgid "Run qemu directly to launch an appliance."
msgstr "Run qemu directly to launch an appliance."

#. type: textblock
#: ../lib/guestfs.pod:1455
msgid "C<direct> and C<appliance> are synonyms."
msgstr "C<direct> and C<appliance> are synonyms."

#. type: textblock
#: ../lib/guestfs.pod:1457
msgid ""
"This is the ordinary method and normally the default, but see the note below."
msgstr ""
"This is the ordinary method and normally the default, but see the note below."

#. type: =item
#: ../lib/guestfs.pod:1460
msgid "C<libvirt>"
msgstr "C<libvirt>"

#. type: =item
#: ../lib/guestfs.pod:1462
msgid "C<libvirt:null>"
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1464
msgid "C<libvirt:I<URI>>"
msgstr "C<libvirt:I<URI>>"

#. type: textblock
#: ../lib/guestfs.pod:1466
msgid "Use libvirt to launch and manage the appliance."
msgstr "Use libvirt to launch and manage the appliance."

#. type: textblock
#: ../lib/guestfs.pod:1468
msgid ""
"C<libvirt> causes libguestfs to choose a suitable URI for creating session "
"guests.  If using the libvirt backend, you almost always should use this."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1472
msgid ""
"C<libvirt:null> causes libguestfs to use the C<NULL> connection URI, which "
"causes libvirt to try to guess what the user meant.  You probably don't want "
"to use this."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1476
msgid ""
"C<libvirt:I<URI>> uses I<URI> as the libvirt connection URI (see L<http://"
"libvirt.org/uri.html>).  The typical libvirt backend with a URI would be "
"C<libvirt:qemu:///session>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1480
msgid ""
"The libvirt backend supports more features, including hotplugging (see L</"
"HOTPLUGGING>) and sVirt."
msgstr ""
"The libvirt backend supports more features, including hotplugging (see L</"
"HOTPLUGGING>) and sVirt."

#. type: =item
#: ../lib/guestfs.pod:1483
msgid "C<uml>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1485
msgid ""
"Run the User-Mode Linux kernel.  The location of the kernel is set using C<"
"$LIBGUESTFS_HV> or using the L</guestfs_set_qemu> API (note that qemu is not "
"involved, we just reuse the same variable in the handle for convenience)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1490
msgid ""
"User-Mode Linux can be much faster, simpler and more lightweight than using "
"a full-blown virtual machine, but it also has some shortcomings.  See L</"
"USER-MODE LINUX BACKEND> below."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1494
msgid "C<unix:I<path>>"
msgstr "C<unix:I<path>>"

#. type: textblock
#: ../lib/guestfs.pod:1496
msgid "Connect to the Unix domain socket I<path>."
msgstr "Connect to the Unix domain socket I<path>."

#. type: textblock
#: ../lib/guestfs.pod:1498
msgid ""
"This method lets you connect to an existing daemon or (using virtio-serial) "
"to a live guest.  For more information, see L</ATTACHING TO RUNNING DAEMONS>."
msgstr ""
"This method lets you connect to an existing daemon or (using virtio-serial) "
"to a live guest.  For more information, see L</ATTACHING TO RUNNING DAEMONS>."

#. type: textblock
#: ../lib/guestfs.pod:1504
msgid ""
"C<direct> is usually the default backend.  However since libguestfs E<ge> "
"1.19.24, libguestfs can be built with a different default by doing:"
msgstr ""
"C<direct> is usually the default backend.  However since libguestfs E<ge> "
"1.19.24, libguestfs can be built with a different default by doing:"

#. type: verbatim
#: ../lib/guestfs.pod:1508
#, no-wrap
msgid ""
" ./configure --with-default-backend=...\n"
"\n"
msgstr ""
" ./configure --with-default-backend=...\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1510
msgid ""
"To find out if libguestfs was compiled with a different default backend, do:"
msgstr ""
"To find out if libguestfs was compiled with a different default backend, do:"

#. type: verbatim
#: ../lib/guestfs.pod:1513 ../test-tool/libguestfs-test-tool.pod:93
#: ../test-tool/libguestfs-test-tool.pod:114
#: ../test-tool/libguestfs-test-tool.pod:137
#, no-wrap
msgid ""
" unset LIBGUESTFS_BACKEND\n"
" guestfish get-backend\n"
"\n"
msgstr ""
" unset LIBGUESTFS_BACKEND\n"
" guestfish get-backend\n"
"\n"

#. type: =head2
#: ../lib/guestfs.pod:1516
msgid "BACKEND SETTINGS"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1518
msgid ""
"Each backend can be configured by passing a list of strings.  You can either "
"call L</guestfs_set_backend_settings> with a list of strings, or set the "
"C<LIBGUESTFS_BACKEND_SETTINGS> environment variable to a colon-separated "
"list of strings (before creating the handle)."
msgstr ""

#. type: =head3
#: ../lib/guestfs.pod:1523
msgid "force_tcg"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1525
msgid "Using:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:1527
#, no-wrap
msgid ""
" export LIBGUESTFS_BACKEND_SETTINGS=force_tcg\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1529
msgid ""
"will force the direct and libvirt backends to use TCG (software emulation) "
"instead of KVM (hardware accelerated virtualization)."
msgstr ""

#. type: =head3
#: ../lib/guestfs.pod:1532
msgid "gdb"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1534
msgid "The direct backend supports:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:1536
#, no-wrap
msgid ""
" export LIBGUESTFS_BACKEND_SETTINGS=gdb\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1538
msgid ""
"When this is set, qemu will not start running the appliance immediately.  It "
"will wait for you to connect to it using gdb:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:1541
#, no-wrap
msgid ""
" $ gdb\n"
" (gdb) symbol-file /path/to/vmlinux\n"
" (gdb) target remote tcp::1234\n"
" (gdb) cont\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1546
msgid ""
"You can then debug the appliance kernel, which is useful to debug boot "
"failures (especially ones where there are no debug messages printed - tip: "
"look in the kernel C<log_buf>)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1550
msgid ""
"On Fedora, install C<kernel-debuginfo> for the C<vmlinux> file (containing "
"symbols).  Make sure the symbols precisely match the kernel being used."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:1554
msgid "ATTACHING TO RUNNING DAEMONS"
msgstr "ATTACHING TO RUNNING DAEMONS"

#. type: textblock
#: ../lib/guestfs.pod:1556
msgid ""
"I<Note (1):> This is B<highly experimental> and has a tendency to eat "
"babies.  Use with caution."
msgstr ""
"I<Note (1):> This is B<highly experimental> and has a tendency to eat "
"babies.  Use with caution."

#. type: textblock
#: ../lib/guestfs.pod:1559
msgid ""
"I<Note (2):> This section explains how to attach to a running daemon from a "
"low level perspective.  For most users, simply using virt tools such as "
"L<guestfish(1)> with the I<--live> option will \"just work\"."
msgstr ""
"I<Note (2):> This section explains how to attach to a running daemon from a "
"low level perspective.  For most users, simply using virt tools such as "
"L<guestfish(1)> with the I<--live> option will \"just work\"."

#. type: =head3
#: ../lib/guestfs.pod:1563
msgid "Using guestfs_set_backend"
msgstr "Using guestfs_set_backend"

#. type: textblock
#: ../lib/guestfs.pod:1565
msgid ""
"By calling L</guestfs_set_backend> you can change how the library connects "
"to the C<guestfsd> daemon in L</guestfs_launch> (read L<guestfs-internals(1)/"
"ARCHITECTURE> for some background)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1569
msgid ""
"The normal backend is C<direct>, where a small appliance is created "
"containing the daemon, and then the library connects to this.  C<libvirt> or "
"C<libvirt:I<URI>> are alternatives that use libvirt to start the appliance."
msgstr ""
"The normal backend is C<direct>, where a small appliance is created "
"containing the daemon, and then the library connects to this.  C<libvirt> or "
"C<libvirt:I<URI>> are alternatives that use libvirt to start the appliance."

#. type: textblock
#: ../lib/guestfs.pod:1574
msgid ""
"Setting the backend to C<unix:I<path>> (where I<path> is the path of a Unix "
"domain socket) causes L</guestfs_launch> to connect to an existing daemon "
"over the Unix domain socket."
msgstr ""
"Setting the backend to C<unix:I<path>> (where I<path> is the path of a Unix "
"domain socket) causes L</guestfs_launch> to connect to an existing daemon "
"over the Unix domain socket."

#. type: textblock
#: ../lib/guestfs.pod:1578
msgid ""
"The normal use for this is to connect to a running virtual machine that "
"contains a C<guestfsd> daemon, and send commands so you can read and write "
"files inside the live virtual machine."
msgstr ""
"The normal use for this is to connect to a running virtual machine that "
"contains a C<guestfsd> daemon, and send commands so you can read and write "
"files inside the live virtual machine."

#. type: =head3
#: ../lib/guestfs.pod:1582
msgid "Using guestfs_add_domain with live flag"
msgstr "Using guestfs_add_domain with live flag"

#. type: textblock
#: ../lib/guestfs.pod:1584
msgid ""
"L</guestfs_add_domain> provides some help for getting the correct backend.  "
"If you pass the C<live> option to this function, then (if the virtual "
"machine is running) it will examine the libvirt XML looking for a virtio-"
"serial channel to connect to:"
msgstr ""
"L</guestfs_add_domain> provides some help for getting the correct backend.  "
"If you pass the C<live> option to this function, then (if the virtual "
"machine is running) it will examine the libvirt XML looking for a virtio-"
"serial channel to connect to:"

#. type: verbatim
#: ../lib/guestfs.pod:1589
#, no-wrap
msgid ""
" <domain>\n"
"   ...\n"
"   <devices>\n"
"     ...\n"
"     <channel type='unix'>\n"
"       <source mode='bind' path='/path/to/socket'/>\n"
"       <target type='virtio' name='org.libguestfs.channel.0'/>\n"
"     </channel>\n"
"     ...\n"
"   </devices>\n"
" </domain>\n"
"\n"
msgstr ""
" <domain>\n"
"   ...\n"
"   <devices>\n"
"     ...\n"
"     <channel type='unix'>\n"
"       <source mode='bind' path='/path/to/socket'/>\n"
"       <target type='virtio' name='org.libguestfs.channel.0'/>\n"
"     </channel>\n"
"     ...\n"
"   </devices>\n"
" </domain>\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1601
msgid ""
"L</guestfs_add_domain> extracts F</path/to/socket> and sets the backend to "
"C<unix:/path/to/socket>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1604
msgid ""
"Some of the libguestfs tools (including guestfish) support a I<--live> "
"option which is passed through to L</guestfs_add_domain> thus allowing you "
"to attach to and modify live virtual machines."
msgstr ""
"Some of the libguestfs tools (including guestfish) support a I<--live> "
"option which is passed through to L</guestfs_add_domain> thus allowing you "
"to attach to and modify live virtual machines."

#. type: textblock
#: ../lib/guestfs.pod:1608
msgid ""
"The virtual machine needs to have been set up beforehand so that it has the "
"virtio-serial channel and so that guestfsd is running inside it."
msgstr ""
"The virtual machine needs to have been set up beforehand so that it has the "
"virtio-serial channel and so that guestfsd is running inside it."

#. type: =head2
#: ../lib/guestfs.pod:1612
msgid "USER-MODE LINUX BACKEND"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1614
msgid ""
"Setting the following environment variables (or the equivalent in the API) "
"selects the User-Mode Linux backend:"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:1617
#, no-wrap
msgid ""
" export LIBGUESTFS_BACKEND=uml\n"
" export LIBGUESTFS_HV=/path/to/vmlinux\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1620
msgid ""
"C<vmlinux> (or it may be called C<linux>) is the Linux binary, compiled to "
"run as a userspace process.  Note that we reuse the qemu variable in the "
"handle for convenience; qemu is not involved."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1624
msgid ""
"User-Mode Linux can be faster and more lightweight than running a full-blown "
"virtual machine as the backend (especially if you are already running "
"libguestfs in a virtual machine or cloud instance), but it also has some "
"shortcomings compared to the usual qemu/KVM-based backend."
msgstr ""

#. type: =head3
#: ../lib/guestfs.pod:1630
msgid "BUILDING USER-MODE LINUX FROM SOURCE"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1632
msgid ""
"Your Linux distro may provide UML in which case you can ignore this section."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1635
msgid ""
"These instructions are adapted from: L<http://user-mode-linux.sourceforge."
"net/source.html>"
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1640
msgid "1. Check out Linux sources"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1642
msgid "Clone the Linux git repository or download the Linux source tarball."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1644
msgid "2. Configure the kernel"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1646
msgid "B<Note:> All ‘make’ commands must have C<ARCH=um> added."
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:1648
#, no-wrap
msgid ""
" make menuconfig ARCH=um\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1650
msgid ""
"Make sure any filesystem drivers that you need are compiled into the kernel."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1653
msgid ""
"B<Currently, it needs a large amount of extra work to get modules working>.  "
"It’s recommended that you disable module support in the kernel "
"configuration, which will cause everything to be compiled into the image."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1658
msgid "3. Build the kernel"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:1660
#, no-wrap
msgid ""
" make ARCH=um\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1662
msgid ""
"This will leave a file called C<linux> or C<vmlinux> in the top-level "
"directory.  This is the UML kernel.  You should set C<LIBGUESTFS_HV> to "
"point to this file."
msgstr ""

#. type: =head3
#: ../lib/guestfs.pod:1668
msgid "USER-MODE LINUX DIFFERENCES FROM KVM"
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1672
msgid "UML only supports raw-format images"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1674
msgid "Only plain raw-format images will work.  No qcow2, no backing files."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1676
msgid "UML does not support any remote drives"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1678
msgid "No NBD, etc."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1680
msgid "UML only works on ix86 and x86-64"
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1682
msgid "UML is experimental"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1684
msgid ""
"In particular, support for UML in libguestfs depends on support for UML in "
"the upstream kernel.  If UML was ever removed from the upstream Linux "
"kernel, then we might remove it from libguestfs too."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:1690
msgid "ABI GUARANTEE"
msgstr "ABI GUARANTEE"

#. type: textblock
#: ../lib/guestfs.pod:1692
msgid ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section.  Although we will deprecate some "
"actions, for example if they get replaced by newer calls, we will keep the "
"old actions forever.  This allows you the developer to program in confidence "
"against the libguestfs API."
msgstr ""
"We guarantee the libguestfs ABI (binary interface), for public, high-level "
"actions as outlined in this section.  Although we will deprecate some "
"actions, for example if they get replaced by newer calls, we will keep the "
"old actions forever.  This allows you the developer to program in confidence "
"against the libguestfs API."

#. type: =head2
#: ../lib/guestfs.pod:1698
msgid "BLOCK DEVICE NAMING"
msgstr "BLOCK DEVICE NAMING"

#. type: textblock
#: ../lib/guestfs.pod:1700
msgid ""
"Libguestfs defines F</dev/sd*> as the I<standard naming scheme> for devices "
"passed to API calls.  So F</dev/sda> means \"the first device added by L</"
"guestfs_add_drive_opts>\", and F</dev/sdb3> means \"the third partition on "
"the second device\"."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1705
msgid ""
"Internally device names are sometimes translated, but this should not be "
"visible at the API level."
msgstr ""

#. type: =head3
#: ../lib/guestfs.pod:1708
msgid "DISK LABELS"
msgstr "DISK LABELS"

#. type: textblock
#: ../lib/guestfs.pod:1710
msgid ""
"In libguestfs E<ge> 1.20, you can give a label to a disk when you add it, "
"using the optional C<label> parameter to L</guestfs_add_drive_opts>.  (Note "
"that disk labels are different from and not related to filesystem labels)."
msgstr ""
"In libguestfs E<ge> 1.20, you can give a label to a disk when you add it, "
"using the optional C<label> parameter to L</guestfs_add_drive_opts>.  (Note "
"that disk labels are different from and not related to filesystem labels)."

#. type: textblock
#: ../lib/guestfs.pod:1715
msgid ""
"Not all versions of libguestfs support setting a disk label, and when it is "
"supported, it is limited to 20 ASCII characters C<[a-zA-Z]>."
msgstr ""
"Not all versions of libguestfs support setting a disk label, and when it is "
"supported, it is limited to 20 ASCII characters C<[a-zA-Z]>."

#. type: textblock
#: ../lib/guestfs.pod:1718
msgid ""
"When you add a disk with a label, it can either be addressed using F</dev/"
"sd*>, or using F</dev/disk/guestfs/I<label>>.  Partitions on the disk can be "
"addressed using F</dev/disk/guestfs/I<label>I<partnum>>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1723
msgid ""
"Listing devices (L</guestfs_list_devices>) and partitions (L</"
"guestfs_list_partitions>) returns the block device names.  However you can "
"use L</guestfs_list_disk_labels> to map disk labels to block device and "
"partition names."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:1728
msgid "NULL DISKS"
msgstr "NULL DISKS"

#. type: textblock
#: ../lib/guestfs.pod:1730
msgid ""
"When adding a disk using, eg., L</guestfs_add_drive>, you can set the "
"filename to C<\"/dev/null\">.  This string is treated specially by "
"libguestfs, causing it to add a \"null disk\"."
msgstr ""
"When adding a disk using, eg., L</guestfs_add_drive>, you can set the "
"filename to C<\"/dev/null\">.  This string is treated specially by "
"libguestfs, causing it to add a \"null disk\"."

#. type: textblock
#: ../lib/guestfs.pod:1734
msgid "A null disk has the following properties:"
msgstr "A null disk has the following properties:"

#. type: textblock
#: ../lib/guestfs.pod:1740
msgid ""
"A null disk will appear as a normal device, eg. in calls to L</"
"guestfs_list_devices>."
msgstr ""
"A null disk will appear as a normal device, eg. in calls to L</"
"guestfs_list_devices>."

#. type: textblock
#: ../lib/guestfs.pod:1745
msgid "You may add C<\"/dev/null\"> multiple times."
msgstr "You may add C<\"/dev/null\"> multiple times."

#. type: textblock
#: ../lib/guestfs.pod:1749
msgid ""
"You should not try to access a null disk in any way.  For example, you "
"shouldn't try to read it or mount it."
msgstr ""
"You should not try to access a null disk in any way.  For example, you "
"shouldn't try to read it or mount it."

#. type: textblock
#: ../lib/guestfs.pod:1754
msgid "Null disks are used for three main purposes:"
msgstr "Null disks are used for three main purposes:"

#. type: textblock
#: ../lib/guestfs.pod:1760
msgid "Performance testing of libguestfs (see L<guestfs-performance(1)>)."
msgstr "Performance testing of libguestfs (see L<guestfs-performance(1)>)."

#. type: textblock
#: ../lib/guestfs.pod:1764
msgid "The internal test suite."
msgstr "The internal test suite."

#. type: textblock
#: ../lib/guestfs.pod:1768
msgid ""
"If you want to use libguestfs APIs that don’t refer to disks, since "
"libguestfs requires that at least one disk is added, you should add a null "
"disk."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1772
msgid "For example, to test if a feature is available, use code like this:"
msgstr "For example, to test if a feature is available, use code like this:"

#. type: verbatim
#: ../lib/guestfs.pod:1774
#, no-wrap
msgid ""
" guestfs_h *g;\n"
" char **groups = [ \"btrfs\", NULL ];\n"
" \n"
msgstr ""
" guestfs_h *g;\n"
" char **groups = [ \"btrfs\", NULL ];\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:1777
#, no-wrap
msgid ""
" g = guestfs_create ();\n"
" guestfs_add_drive (g, \"/dev/null\");\n"
" guestfs_launch (g);\n"
" if (guestfs_available (g, groups) == 0) {\n"
"   // group(s) are available\n"
" } else {\n"
"   // group(s) are not available\n"
" }\n"
" guestfs_close (g);\n"
"\n"
msgstr ""
" g = guestfs_create ();\n"
" guestfs_add_drive (g, \"/dev/null\");\n"
" guestfs_launch (g);\n"
" if (guestfs_available (g, groups) == 0) {\n"
"   // group(s) are available\n"
" } else {\n"
"   // group(s) are not available\n"
" }\n"
" guestfs_close (g);\n"
"\n"

#. type: =head2
#: ../lib/guestfs.pod:1789
msgid "DISK IMAGE FORMATS"
msgstr "DISK IMAGE FORMATS"

#. type: textblock
#: ../lib/guestfs.pod:1791
msgid ""
"Virtual disks come in a variety of formats.  Some common formats are listed "
"below."
msgstr ""
"Virtual disks come in a variety of formats.  Some common formats are listed "
"below."

#. type: textblock
#: ../lib/guestfs.pod:1794
msgid ""
"Note that libguestfs itself is not responsible for handling the disk format: "
"this is done using L<qemu(1)>.  If support for a particular format is "
"missing or broken, this has to be fixed in qemu."
msgstr ""
"Note that libguestfs itself is not responsible for handling the disk format: "
"this is done using L<qemu(1)>.  If support for a particular format is "
"missing or broken, this has to be fixed in qemu."

#. type: =head3
#: ../lib/guestfs.pod:1798
msgid "COMMON VIRTUAL DISK IMAGE FORMATS"
msgstr "COMMON VIRTUAL DISK IMAGE FORMATS"

#. type: =item
#: ../lib/guestfs.pod:1802
msgid "I<raw>"
msgstr "I<raw>"

#. type: textblock
#: ../lib/guestfs.pod:1804
msgid ""
"Raw format is simply a dump of the sequential bytes of the virtual hard "
"disk.  There is no header, container, compression or processing of any sort."
msgstr ""
"Raw format is simply a dump of the sequential bytes of the virtual hard "
"disk.  There is no header, container, compression or processing of any sort."

#. type: textblock
#: ../lib/guestfs.pod:1808
msgid ""
"Since raw format requires no translation to read or write, it is both fast "
"and very well supported by qemu and all other hypervisors.  You can consider "
"it to be a universal format that any hypervisor can access."
msgstr ""
"Since raw format requires no translation to read or write, it is both fast "
"and very well supported by qemu and all other hypervisors.  You can consider "
"it to be a universal format that any hypervisor can access."

#. type: textblock
#: ../lib/guestfs.pod:1813
msgid ""
"Raw format files are not compressed and so take up the full space of the "
"original disk image even when they are empty.  A variation (on Linux/Unix at "
"least) is to not store ranges of all-zero bytes by storing the file as a "
"sparse file.  This \"variant format\" is sometimes called I<raw sparse>.  "
"Many utilities, including L<virt-sparsify(1)>, can make raw disk images "
"sparse."
msgstr ""
"Raw format files are not compressed and so take up the full space of the "
"original disk image even when they are empty.  A variation (on Linux/Unix at "
"least) is to not store ranges of all-zero bytes by storing the file as a "
"sparse file.  This \"variant format\" is sometimes called I<raw sparse>.  "
"Many utilities, including L<virt-sparsify(1)>, can make raw disk images "
"sparse."

#. type: =item
#: ../lib/guestfs.pod:1820
msgid "I<qcow2>"
msgstr "I<qcow2>"

#. type: textblock
#: ../lib/guestfs.pod:1822
msgid ""
"Qcow2 is the native disk image format used by qemu.  Internally it uses a "
"two-level directory structure so that only blocks containing data are stored "
"in the file.  It also has many other features such as compression, snapshots "
"and backing files."
msgstr ""
"Qcow2 is the native disk image format used by qemu.  Internally it uses a "
"two-level directory structure so that only blocks containing data are stored "
"in the file.  It also has many other features such as compression, snapshots "
"and backing files."

#. type: textblock
#: ../lib/guestfs.pod:1827
msgid ""
"There are at least two distinct variants of this format, although qemu (and "
"hence libguestfs) handles both transparently to the user."
msgstr ""
"There are at least two distinct variants of this format, although qemu (and "
"hence libguestfs) handles both transparently to the user."

#. type: =item
#: ../lib/guestfs.pod:1830
msgid "I<vmdk>"
msgstr "I<vmdk>"

#. type: textblock
#: ../lib/guestfs.pod:1832
msgid ""
"VMDK is VMware’s native disk image format.  There are many variations.  "
"Modern qemu (hence libguestfs) supports most variations, but you should be "
"aware that older versions of qemu had some very bad data-corrupting bugs in "
"this area."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1837
msgid ""
"Note that VMware ESX exposes files with the name F<guest-flat.vmdk>.  These "
"are not VMDK.  They are raw format files which happen to have a C<.vmdk> "
"extension."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1841
msgid "I<vdi>"
msgstr "I<vdi>"

#. type: textblock
#: ../lib/guestfs.pod:1843
msgid ""
"VDI is VirtualBox’s native disk image format.  Qemu (hence libguestfs)  has "
"generally good support for this."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:1846
msgid "I<vpc>"
msgstr "I<vpc>"

#. type: =item
#: ../lib/guestfs.pod:1848
msgid "I<vhd>"
msgstr "I<vhd>"

#. type: textblock
#: ../lib/guestfs.pod:1850
msgid ""
"VPC (old) and VHD (modern) are the native disk image format of Microsoft "
"(and previously, Connectix) Virtual PC and Hyper-V."
msgstr ""
"VPC (old) and VHD (modern) are the native disk image format of Microsoft "
"(and previously, Connectix) Virtual PC and Hyper-V."

#. type: =item
#: ../lib/guestfs.pod:1853
msgid "Obsolete formats"
msgstr "Obsolete formats"

#. type: textblock
#: ../lib/guestfs.pod:1855
msgid ""
"The following formats are obsolete and should not be used: I<qcow> (aka "
"I<qcow1>), I<cow>, I<bochs>."
msgstr ""
"The following formats are obsolete and should not be used: I<qcow> (aka "
"I<qcow1>), I<cow>, I<bochs>."

#. type: =head3
#: ../lib/guestfs.pod:1860
msgid "DETECTING THE FORMAT OF A DISK IMAGE"
msgstr "DETECTING THE FORMAT OF A DISK IMAGE"

#. type: textblock
#: ../lib/guestfs.pod:1862
msgid ""
"Firstly note there is a security issue with auto-detecting the format of a "
"disk image.  It may or may not apply in your use case.  Read L</"
"CVE-2010-3851> below."
msgstr ""
"Firstly note there is a security issue with auto-detecting the format of a "
"disk image.  It may or may not apply in your use case.  Read L</"
"CVE-2010-3851> below."

#. type: textblock
#: ../lib/guestfs.pod:1866
msgid ""
"Libguestfs offers an API to get the format of a disk image (L</"
"guestfs_disk_format>), and it is safest to use this."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1869
msgid ""
"I<Don’t> be tempted to try parsing the text / human-readable output of "
"C<qemu-img> since it cannot be parsed reliably and securely.  Also do not "
"use the C<file> command since the output of that changes over time."
msgstr ""

#. type: =head1
#: ../lib/guestfs.pod:1874
msgid "CONNECTION MANAGEMENT"
msgstr "CONNECTION MANAGEMENT"

#. type: =head2
#: ../lib/guestfs.pod:1876
msgid "guestfs_h *"
msgstr "guestfs_h *"

#. type: textblock
#: ../lib/guestfs.pod:1878
msgid ""
"C<guestfs_h> is the opaque type representing a connection handle.  Create a "
"handle by calling L</guestfs_create> or L</guestfs_create_flags>.  Call L</"
"guestfs_close> to free the handle and release all resources used."
msgstr ""
"C<guestfs_h> is the opaque type representing a connection handle.  Create a "
"handle by calling L</guestfs_create> or L</guestfs_create_flags>.  Call L</"
"guestfs_close> to free the handle and release all resources used."

#. type: textblock
#: ../lib/guestfs.pod:1883
msgid ""
"For information on using multiple handles and threads, see the section L</"
"MULTIPLE HANDLES AND MULTIPLE THREADS> above."
msgstr ""
"For information on using multiple handles and threads, see the section L</"
"MULTIPLE HANDLES AND MULTIPLE THREADS> above."

#. type: =head2
#: ../lib/guestfs.pod:1886
msgid "guestfs_create"
msgstr "guestfs_create"

#. type: verbatim
#: ../lib/guestfs.pod:1888
#, no-wrap
msgid ""
" guestfs_h *guestfs_create (void);\n"
"\n"
msgstr ""
" guestfs_h *guestfs_create (void);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1890
msgid "Create a connection handle."
msgstr "Create a connection handle."

#. type: textblock
#: ../lib/guestfs.pod:1892 ../lib/guestfs.pod:1911
msgid ""
"On success this returns a non-NULL pointer to a handle.  On error it returns "
"NULL."
msgstr ""
"On success this returns a non-NULL pointer to a handle.  On error it returns "
"NULL."

#. type: textblock
#: ../lib/guestfs.pod:1895
msgid ""
"You have to \"configure\" the handle after creating it.  This includes "
"calling L</guestfs_add_drive_opts> (or one of the equivalent calls) on the "
"handle at least once."
msgstr ""
"You have to \"configure\" the handle after creating it.  This includes "
"calling L</guestfs_add_drive_opts> (or one of the equivalent calls) on the "
"handle at least once."

#. type: textblock
#: ../lib/guestfs.pod:1899
msgid "After configuring the handle, you have to call L</guestfs_launch>."
msgstr "After configuring the handle, you have to call L</guestfs_launch>."

#. type: textblock
#: ../lib/guestfs.pod:1901
msgid ""
"You may also want to configure error handling for the handle.  See the L</"
"ERROR HANDLING> section below."
msgstr ""
"You may also want to configure error handling for the handle.  See the L</"
"ERROR HANDLING> section below."

#. type: =head2
#: ../lib/guestfs.pod:1904
msgid "guestfs_create_flags"
msgstr "guestfs_create_flags"

#. type: verbatim
#: ../lib/guestfs.pod:1906
#, no-wrap
msgid ""
" guestfs_h *guestfs_create_flags (unsigned flags [, ...]);\n"
"\n"
msgstr ""
" guestfs_h *guestfs_create_flags (unsigned flags [, ...]);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1908
msgid ""
"Create a connection handle, supplying extra flags and extra arguments to "
"control how the handle is created."
msgstr ""
"Create a connection handle, supplying extra flags and extra arguments to "
"control how the handle is created."

#. type: textblock
#: ../lib/guestfs.pod:1914
msgid "L</guestfs_create> is equivalent to calling C<guestfs_create_flags(0)>."
msgstr ""
"L</guestfs_create> is equivalent to calling C<guestfs_create_flags(0)>."

#. type: textblock
#: ../lib/guestfs.pod:1916
msgid ""
"The following flags may be logically ORed together.  (Currently no extra "
"arguments are used)."
msgstr ""
"The following flags may be logically ORed together.  (Currently no extra "
"arguments are used)."

#. type: =item
#: ../lib/guestfs.pod:1921
msgid "C<GUESTFS_CREATE_NO_ENVIRONMENT>"
msgstr "C<GUESTFS_CREATE_NO_ENVIRONMENT>"

#. type: textblock
#: ../lib/guestfs.pod:1923
msgid ""
"Don’t parse any environment variables (such as C<LIBGUESTFS_DEBUG> etc)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1925
msgid ""
"You can call L</guestfs_parse_environment> or L</"
"guestfs_parse_environment_list> afterwards to parse environment variables.  "
"Alternately, I<don't> call these functions if you want the handle to be "
"unaffected by environment variables.  See the example below."
msgstr ""
"You can call L</guestfs_parse_environment> or L</"
"guestfs_parse_environment_list> afterwards to parse environment variables.  "
"Alternately, I<don't> call these functions if you want the handle to be "
"unaffected by environment variables.  See the example below."

#. type: textblock
#: ../lib/guestfs.pod:1930
msgid ""
"The default (if this flag is not given) is to implicitly call L</"
"guestfs_parse_environment>."
msgstr ""
"The default (if this flag is not given) is to implicitly call L</"
"guestfs_parse_environment>."

#. type: =item
#: ../lib/guestfs.pod:1933
msgid "C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>"
msgstr "C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>"

#. type: textblock
#: ../lib/guestfs.pod:1935
msgid ""
"Don’t try to close the handle in an L<atexit(3)> handler if the program "
"exits without explicitly closing the handle."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:1938
msgid ""
"The default (if this flag is not given) is to install such an atexit handler."
msgstr ""
"The default (if this flag is not given) is to install such an atexit handler."

#. type: =head3
#: ../lib/guestfs.pod:1943
msgid "USING C<GUESTFS_CREATE_NO_ENVIRONMENT>"
msgstr "USING C<GUESTFS_CREATE_NO_ENVIRONMENT>"

#. type: textblock
#: ../lib/guestfs.pod:1945
msgid ""
"You might use C<GUESTFS_CREATE_NO_ENVIRONMENT> and an explicit call to L</"
"guestfs_parse_environment> like this:"
msgstr ""
"You might use C<GUESTFS_CREATE_NO_ENVIRONMENT> and an explicit call to L</"
"guestfs_parse_environment> like this:"

#. type: verbatim
#: ../lib/guestfs.pod:1948
#, no-wrap
msgid ""
" guestfs_h *g;\n"
" int r;\n"
" \n"
msgstr ""
" guestfs_h *g;\n"
" int r;\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:1951
#, no-wrap
msgid ""
" g = guestfs_create_flags (GUESTFS_CREATE_NO_ENVIRONMENT);\n"
" if (!g) {\n"
"   perror (\"guestfs_create_flags\");\n"
"   exit (EXIT_FAILURE);\n"
" }\n"
" r = guestfs_parse_environment (g);\n"
" if (r == -1)\n"
"   exit (EXIT_FAILURE);\n"
"\n"
msgstr ""
" g = guestfs_create_flags (GUESTFS_CREATE_NO_ENVIRONMENT);\n"
" if (!g) {\n"
"   perror (\"guestfs_create_flags\");\n"
"   exit (EXIT_FAILURE);\n"
" }\n"
" r = guestfs_parse_environment (g);\n"
" if (r == -1)\n"
"   exit (EXIT_FAILURE);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1960
msgid ""
"Or to create a handle which is unaffected by environment variables, omit the "
"call to C<guestfs_parse_environment> from the above code."
msgstr ""
"Or to create a handle which is unaffected by environment variables, omit the "
"call to C<guestfs_parse_environment> from the above code."

#. type: textblock
#: ../lib/guestfs.pod:1963
msgid ""
"The above code has another advantage which is that any errors from parsing "
"the environment are passed through the error handler, whereas "
"C<guestfs_create> prints errors on stderr and ignores them."
msgstr ""
"The above code has another advantage which is that any errors from parsing "
"the environment are passed through the error handler, whereas "
"C<guestfs_create> prints errors on stderr and ignores them."

#. type: =head2
#: ../lib/guestfs.pod:1967
msgid "guestfs_close"
msgstr "guestfs_close"

#. type: verbatim
#: ../lib/guestfs.pod:1969
#, no-wrap
msgid ""
" void guestfs_close (guestfs_h *g);\n"
"\n"
msgstr ""
" void guestfs_close (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1971
msgid ""
"This closes the connection handle and frees up all resources used.  If a "
"close callback was set on the handle, then it is called."
msgstr ""
"This closes the connection handle and frees up all resources used.  If a "
"close callback was set on the handle, then it is called."

#. type: textblock
#: ../lib/guestfs.pod:1974
msgid "The correct way to close the handle is:"
msgstr "The correct way to close the handle is:"

#. type: verbatim
#: ../lib/guestfs.pod:1976
#, no-wrap
msgid ""
" if (guestfs_shutdown (g) == -1) {\n"
"   /* handle write errors here */\n"
" }\n"
" guestfs_close (g);\n"
"\n"
msgstr ""
" if (guestfs_shutdown (g) == -1) {\n"
"   /* handle write errors here */\n"
" }\n"
" guestfs_close (g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:1981
msgid ""
"L</guestfs_shutdown> is only needed if B<all> of the following are true:"
msgstr ""
"L</guestfs_shutdown> is only needed if B<all> of the following are true:"

#. type: textblock
#: ../lib/guestfs.pod:1987
msgid "one or more disks were added in read-write mode, I<and>"
msgstr "one or more disks were added in read-write mode, I<and>"

#. type: textblock
#: ../lib/guestfs.pod:1991
msgid "guestfs_launch was called, I<and>"
msgstr "guestfs_launch was called, I<and>"

#. type: textblock
#: ../lib/guestfs.pod:1995
msgid "you made some changes, I<and>"
msgstr "you made some changes, I<and>"

#. type: =item
#: ../lib/guestfs.pod:1997
msgid "4"
msgstr "4"

#. type: textblock
#: ../lib/guestfs.pod:1999
msgid ""
"you have a way to handle write errors (eg. by exiting with an error code or "
"reporting something to the user)."
msgstr ""
"you have a way to handle write errors (eg. by exiting with an error code or "
"reporting something to the user)."

#. type: =head1
#: ../lib/guestfs.pod:2004
msgid "ERROR HANDLING"
msgstr "ERROR HANDLING"

#. type: textblock
#: ../lib/guestfs.pod:2006
msgid ""
"API functions can return errors.  For example, almost all functions that "
"return C<int> will return C<-1> to indicate an error."
msgstr ""
"API functions can return errors.  For example, almost all functions that "
"return C<int> will return C<-1> to indicate an error."

#. type: textblock
#: ../lib/guestfs.pod:2009
msgid ""
"Additional information is available for errors: an error message string and "
"optionally an error number (errno) if the thing that failed was a system "
"call."
msgstr ""
"Additional information is available for errors: an error message string and "
"optionally an error number (errno) if the thing that failed was a system "
"call."

#. type: textblock
#: ../lib/guestfs.pod:2013
msgid ""
"You can get at the additional information about the last error on the handle "
"by calling L</guestfs_last_error>, L</guestfs_last_errno>, and/or by setting "
"up an error handler with L</guestfs_set_error_handler>."
msgstr ""
"You can get at the additional information about the last error on the handle "
"by calling L</guestfs_last_error>, L</guestfs_last_errno>, and/or by setting "
"up an error handler with L</guestfs_set_error_handler>."

#. type: textblock
#: ../lib/guestfs.pod:2018
msgid ""
"When the handle is created, a default error handler is installed which "
"prints the error message string to C<stderr>.  For small short-running "
"command line programs it is sufficient to do:"
msgstr ""
"When the handle is created, a default error handler is installed which "
"prints the error message string to C<stderr>.  For small short-running "
"command line programs it is sufficient to do:"

#. type: verbatim
#: ../lib/guestfs.pod:2022
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1)\n"
"   exit (EXIT_FAILURE);\n"
"\n"
msgstr ""
" if (guestfs_launch (g) == -1)\n"
"   exit (EXIT_FAILURE);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2025
msgid ""
"since the default error handler will ensure that an error message has been "
"printed to C<stderr> before the program exits."
msgstr ""
"since the default error handler will ensure that an error message has been "
"printed to C<stderr> before the program exits."

#. type: textblock
#: ../lib/guestfs.pod:2028
msgid ""
"For other programs the caller will almost certainly want to install an "
"alternate error handler or do error handling in-line as in the example "
"below.  The non-C language bindings all install NULL error handlers and turn "
"errors into exceptions using code similar to this:"
msgstr ""
"For other programs the caller will almost certainly want to install an "
"alternate error handler or do error handling in-line as in the example "
"below.  The non-C language bindings all install NULL error handlers and turn "
"errors into exceptions using code similar to this:"

#. type: verbatim
#: ../lib/guestfs.pod:2033
#, no-wrap
msgid ""
" const char *msg;\n"
" int errnum;\n"
" \n"
msgstr ""
" const char *msg;\n"
" int errnum;\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2036
#, no-wrap
msgid ""
" /* This disables the default behaviour of printing errors\n"
"    on stderr. */\n"
" guestfs_set_error_handler (g, NULL, NULL);\n"
" \n"
msgstr ""
" /* This disables the default behaviour of printing errors\n"
"    on stderr. */\n"
" guestfs_set_error_handler (g, NULL, NULL);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2040
#, no-wrap
msgid ""
" if (guestfs_launch (g) == -1) {\n"
"   /* Examine the error message and print it, throw it,\n"
"      etc. */\n"
"   msg = guestfs_last_error (g);\n"
"   errnum = guestfs_last_errno (g);\n"
" \n"
msgstr ""
" if (guestfs_launch (g) == -1) {\n"
"   /* Examine the error message and print it, throw it,\n"
"      etc. */\n"
"   msg = guestfs_last_error (g);\n"
"   errnum = guestfs_last_errno (g);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2046
#, no-wrap
msgid ""
"   fprintf (stderr, \"%s\", msg);\n"
"   if (errnum != 0)\n"
"     fprintf (stderr, \": %s\", strerror (errnum));\n"
"   fprintf (stderr, \"\\n\");\n"
" \n"
msgstr ""
"   fprintf (stderr, \"%s\", msg);\n"
"   if (errnum != 0)\n"
"     fprintf (stderr, \": %s\", strerror (errnum));\n"
"   fprintf (stderr, \"\\n\");\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2051
#, no-wrap
msgid ""
"   /* ... */\n"
" }\n"
"\n"
msgstr ""
"   /* ... */\n"
" }\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2054
msgid ""
"L</guestfs_create> returns C<NULL> if the handle cannot be created, and "
"because there is no handle if this happens there is no way to get additional "
"error information.  Since libguestfs E<ge> 1.20, you can use L</"
"guestfs_create_flags> to properly deal with errors during handle creation, "
"although the vast majority of programs can continue to use L</"
"guestfs_create> and not worry about this situation."
msgstr ""
"L</guestfs_create> returns C<NULL> if the handle cannot be created, and "
"because there is no handle if this happens there is no way to get additional "
"error information.  Since libguestfs E<ge> 1.20, you can use L</"
"guestfs_create_flags> to properly deal with errors during handle creation, "
"although the vast majority of programs can continue to use L</"
"guestfs_create> and not worry about this situation."

#. type: textblock
#: ../lib/guestfs.pod:2061
msgid ""
"Out of memory errors are handled differently.  The default action is to call "
"L<abort(3)>.  If this is undesirable, then you can set a handler using L</"
"guestfs_set_out_of_memory_handler>."
msgstr ""
"Out of memory errors are handled differently.  The default action is to call "
"L<abort(3)>.  If this is undesirable, then you can set a handler using L</"
"guestfs_set_out_of_memory_handler>."

#. type: =head2
#: ../lib/guestfs.pod:2065
msgid "guestfs_last_error"
msgstr "guestfs_last_error"

#. type: verbatim
#: ../lib/guestfs.pod:2067
#, no-wrap
msgid ""
" const char *guestfs_last_error (guestfs_h *g);\n"
"\n"
msgstr ""
" const char *guestfs_last_error (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2069
msgid ""
"This returns the last error message that happened on C<g>.  If there has not "
"been an error since the handle was created, then this returns C<NULL>."
msgstr ""
"This returns the last error message that happened on C<g>.  If there has not "
"been an error since the handle was created, then this returns C<NULL>."

#. type: textblock
#: ../lib/guestfs.pod:2073
msgid ""
"Note the returned string does I<not> have a newline character at the end.  "
"Most error messages are single lines.  Some are split over multiple lines "
"and contain C<\\n> characters within the string but not at the end."
msgstr ""
"Note the returned string does I<not> have a newline character at the end.  "
"Most error messages are single lines.  Some are split over multiple lines "
"and contain C<\\n> characters within the string but not at the end."

#. type: textblock
#: ../lib/guestfs.pod:2078
msgid ""
"The lifetime of the returned string is until the next error occurs on the "
"same handle, or L</guestfs_close> is called.  If you need to keep it longer, "
"copy it."
msgstr ""
"The lifetime of the returned string is until the next error occurs on the "
"same handle, or L</guestfs_close> is called.  If you need to keep it longer, "
"copy it."

#. type: =head2
#: ../lib/guestfs.pod:2082
msgid "guestfs_last_errno"
msgstr "guestfs_last_errno"

#. type: verbatim
#: ../lib/guestfs.pod:2084
#, no-wrap
msgid ""
" int guestfs_last_errno (guestfs_h *g);\n"
"\n"
msgstr ""
" int guestfs_last_errno (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2086
msgid "This returns the last error number (errno) that happened on C<g>."
msgstr "This returns the last error number (errno) that happened on C<g>."

#. type: textblock
#: ../lib/guestfs.pod:2088
msgid "If successful, an errno integer not equal to zero is returned."
msgstr "If successful, an errno integer not equal to zero is returned."

#. type: textblock
#: ../lib/guestfs.pod:2090
msgid ""
"In many cases the special errno C<ENOTSUP> is returned if you tried to call "
"a function or use a feature which is not supported."
msgstr ""
"In many cases the special errno C<ENOTSUP> is returned if you tried to call "
"a function or use a feature which is not supported."

#. type: textblock
#: ../lib/guestfs.pod:2093
msgid ""
"If no error number is available, this returns 0.  This call can return 0 in "
"three situations:"
msgstr ""
"If no error number is available, this returns 0.  This call can return 0 in "
"three situations:"

#. type: textblock
#: ../lib/guestfs.pod:2100
msgid "There has not been any error on the handle."
msgstr "There has not been any error on the handle."

#. type: textblock
#: ../lib/guestfs.pod:2104
msgid ""
"There has been an error but the errno was meaningless.  This corresponds to "
"the case where the error did not come from a failed system call, but for "
"some other reason."
msgstr ""
"There has been an error but the errno was meaningless.  This corresponds to "
"the case where the error did not come from a failed system call, but for "
"some other reason."

#. type: textblock
#: ../lib/guestfs.pod:2110
msgid ""
"There was an error from a failed system call, but for some reason the errno "
"was not captured and returned.  This usually indicates a bug in libguestfs."
msgstr ""
"There was an error from a failed system call, but for some reason the errno "
"was not captured and returned.  This usually indicates a bug in libguestfs."

#. type: textblock
#: ../lib/guestfs.pod:2116
msgid ""
"Libguestfs tries to convert the errno from inside the appliance into a "
"corresponding errno for the caller (not entirely trivial: the appliance "
"might be running a completely different operating system from the library "
"and error numbers are not standardized across Un*xen).  If this could not be "
"done, then the error is translated to C<EINVAL>.  In practice this should "
"only happen in very rare circumstances."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:2124
msgid "guestfs_set_error_handler"
msgstr "guestfs_set_error_handler"

#. type: verbatim
#: ../lib/guestfs.pod:2126
#, no-wrap
msgid ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
"                                           void *opaque,\n"
"                                           const char *msg);\n"
" void guestfs_set_error_handler (guestfs_h *g,\n"
"                                 guestfs_error_handler_cb cb,\n"
"                                 void *opaque);\n"
"\n"
msgstr ""
" typedef void (*guestfs_error_handler_cb) (guestfs_h *g,\n"
"                                           void *opaque,\n"
"                                           const char *msg);\n"
" void guestfs_set_error_handler (guestfs_h *g,\n"
"                                 guestfs_error_handler_cb cb,\n"
"                                 void *opaque);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2133
msgid ""
"The callback C<cb> will be called if there is an error.  The parameters "
"passed to the callback are an opaque data pointer and the error message "
"string."
msgstr ""
"The callback C<cb> will be called if there is an error.  The parameters "
"passed to the callback are an opaque data pointer and the error message "
"string."

#. type: textblock
#: ../lib/guestfs.pod:2137
msgid ""
"C<errno> is not passed to the callback.  To get that the callback must call "
"L</guestfs_last_errno>."
msgstr ""
"C<errno> is not passed to the callback.  To get that the callback must call "
"L</guestfs_last_errno>."

#. type: textblock
#: ../lib/guestfs.pod:2140
msgid ""
"Note that the message string C<msg> is freed as soon as the callback "
"function returns, so if you want to stash it somewhere you must make your "
"own copy."
msgstr ""
"Note that the message string C<msg> is freed as soon as the callback "
"function returns, so if you want to stash it somewhere you must make your "
"own copy."

#. type: textblock
#: ../lib/guestfs.pod:2144
msgid "The default handler prints messages on C<stderr>."
msgstr "The default handler prints messages on C<stderr>."

#. type: textblock
#: ../lib/guestfs.pod:2146
msgid "If you set C<cb> to C<NULL> then I<no> handler is called."
msgstr "If you set C<cb> to C<NULL> then I<no> handler is called."

#. type: =head2
#: ../lib/guestfs.pod:2148
msgid "guestfs_get_error_handler"
msgstr "guestfs_get_error_handler"

#. type: verbatim
#: ../lib/guestfs.pod:2150
#, no-wrap
msgid ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
"                                                     void **opaque_rtn);\n"
"\n"
msgstr ""
" guestfs_error_handler_cb guestfs_get_error_handler (guestfs_h *g,\n"
"                                                     void **opaque_rtn);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2153
msgid "Returns the current error handler callback."
msgstr "Returns the current error handler callback."

#. type: =head2
#: ../lib/guestfs.pod:2155
msgid "guestfs_push_error_handler"
msgstr "guestfs_push_error_handler"

#. type: verbatim
#: ../lib/guestfs.pod:2157
#, no-wrap
msgid ""
" void guestfs_push_error_handler (guestfs_h *g,\n"
"                                  guestfs_error_handler_cb cb,\n"
"                                  void *opaque);\n"
"\n"
msgstr ""
" void guestfs_push_error_handler (guestfs_h *g,\n"
"                                  guestfs_error_handler_cb cb,\n"
"                                  void *opaque);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2161
msgid ""
"This is the same as L</guestfs_set_error_handler>, except that the old error "
"handler is stashed away in a stack inside the handle.  You can restore the "
"previous error handler by calling L</guestfs_pop_error_handler>."
msgstr ""
"This is the same as L</guestfs_set_error_handler>, except that the old error "
"handler is stashed away in a stack inside the handle.  You can restore the "
"previous error handler by calling L</guestfs_pop_error_handler>."

#. type: textblock
#: ../lib/guestfs.pod:2166
msgid "Use the following code to temporarily disable errors around a function:"
msgstr ""
"Use the following code to temporarily disable errors around a function:"

#. type: =head2
#: ../lib/guestfs.pod:2172
msgid "guestfs_pop_error_handler"
msgstr "guestfs_pop_error_handler"

#. type: verbatim
#: ../lib/guestfs.pod:2174
#, no-wrap
msgid ""
" void guestfs_pop_error_handler (guestfs_h *g);\n"
"\n"
msgstr ""
" void guestfs_pop_error_handler (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2176
msgid ""
"Restore the previous error handler (see L</guestfs_push_error_handler>)."
msgstr ""
"Restore the previous error handler (see L</guestfs_push_error_handler>)."

#. type: textblock
#: ../lib/guestfs.pod:2178
msgid ""
"If you pop the stack too many times, then the default error handler is "
"restored."
msgstr ""
"If you pop the stack too many times, then the default error handler is "
"restored."

#. type: =head2
#: ../lib/guestfs.pod:2181
msgid "guestfs_set_out_of_memory_handler"
msgstr "guestfs_set_out_of_memory_handler"

#. type: verbatim
#: ../lib/guestfs.pod:2183
#, no-wrap
msgid ""
" typedef void (*guestfs_abort_cb) (void);\n"
" void guestfs_set_out_of_memory_handler (guestfs_h *g,\n"
"                                         guestfs_abort_cb);\n"
"\n"
msgstr ""
" typedef void (*guestfs_abort_cb) (void);\n"
" void guestfs_set_out_of_memory_handler (guestfs_h *g,\n"
"                                         guestfs_abort_cb);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2187
msgid ""
"The callback C<cb> will be called if there is an out of memory situation.  "
"I<Note this callback must not return>."
msgstr ""
"The callback C<cb> will be called if there is an out of memory situation.  "
"I<Note this callback must not return>."

#. type: textblock
#: ../lib/guestfs.pod:2190
msgid "The default is to call L<abort(3)>."
msgstr "The default is to call L<abort(3)>."

#. type: textblock
#: ../lib/guestfs.pod:2192
msgid ""
"You cannot set C<cb> to C<NULL>.  You can’t ignore out of memory situations."
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:2195
msgid "guestfs_get_out_of_memory_handler"
msgstr "guestfs_get_out_of_memory_handler"

#. type: verbatim
#: ../lib/guestfs.pod:2197
#, no-wrap
msgid ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
"\n"
msgstr ""
" guestfs_abort_fn guestfs_get_out_of_memory_handler (guestfs_h *g);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2199
msgid "This returns the current out of memory handler."
msgstr "This returns the current out of memory handler."

#. type: =head1
#: ../lib/guestfs.pod:2201
msgid "API CALLS"
msgstr "API CALLS"

#. type: textblock
#: ../lib/guestfs.pod:2203
msgid "__ACTIONS__"
msgstr "__ACTIONS__"

#. type: =head1
#: ../lib/guestfs.pod:2205
msgid "STRUCTURES"
msgstr "STRUCTURES"

#. type: textblock
#: ../lib/guestfs.pod:2207
msgid "__STRUCTS__"
msgstr "__STRUCTS__"

#. type: =head1
#: ../lib/guestfs.pod:2209
msgid "AVAILABILITY"
msgstr "AVAILABILITY"

#. type: =head2
#: ../lib/guestfs.pod:2211
msgid "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"
msgstr "GROUPS OF FUNCTIONALITY IN THE APPLIANCE"

#. type: textblock
#: ../lib/guestfs.pod:2213
msgid ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions.  This test queries the appliance to see if the "
"appliance you are currently using supports the functionality."
msgstr ""
"Using L</guestfs_available> you can test availability of the following "
"groups of functions.  This test queries the appliance to see if the "
"appliance you are currently using supports the functionality."

#. type: textblock
#: ../lib/guestfs.pod:2218
msgid "__AVAILABILITY__"
msgstr "__AVAILABILITY__"

#. type: =head2
#: ../lib/guestfs.pod:2220
msgid "FILESYSTEM AVAILABLE"
msgstr "FILESYSTEM AVAILABLE"

#. type: textblock
#: ../lib/guestfs.pod:2222
msgid ""
"The L</guestfs_filesystem_available> call tests whether a filesystem type is "
"supported by the appliance kernel."
msgstr ""
"The L</guestfs_filesystem_available> call tests whether a filesystem type is "
"supported by the appliance kernel."

#. type: textblock
#: ../lib/guestfs.pod:2225
msgid ""
"This is mainly useful as a negative test.  If this returns true, it doesn't "
"mean that a particular filesystem can be mounted, since filesystems can fail "
"for other reasons such as it being a later version of the filesystem, or "
"having incompatible features."
msgstr ""
"This is mainly useful as a negative test.  If this returns true, it doesn't "
"mean that a particular filesystem can be mounted, since filesystems can fail "
"for other reasons such as it being a later version of the filesystem, or "
"having incompatible features."

#. type: =head2
#: ../lib/guestfs.pod:2230
msgid "GUESTFISH supported COMMAND"
msgstr "GUESTFISH supported COMMAND"

#. type: textblock
#: ../lib/guestfs.pod:2232
msgid ""
"In L<guestfish(3)> there is a handy interactive command C<supported> which "
"prints out the available groups and whether they are supported by this build "
"of libguestfs.  Note however that you have to do C<run> first."
msgstr ""
"In L<guestfish(3)> there is a handy interactive command C<supported> which "
"prints out the available groups and whether they are supported by this build "
"of libguestfs.  Note however that you have to do C<run> first."

#. type: =head2
#: ../lib/guestfs.pod:2237
msgid "SINGLE CALLS AT COMPILE TIME"
msgstr "SINGLE CALLS AT COMPILE TIME"

#. type: textblock
#: ../lib/guestfs.pod:2239
msgid ""
"Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API "
"function, such as:"
msgstr ""
"Since version 1.5.8, C<E<lt>guestfs.hE<gt>> defines symbols for each C API "
"function, such as:"

#. type: verbatim
#: ../lib/guestfs.pod:2242
#, no-wrap
msgid ""
" #define GUESTFS_HAVE_DD 1\n"
"\n"
msgstr ""
" #define GUESTFS_HAVE_DD 1\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2244
msgid "if L</guestfs_dd> is available."
msgstr "if L</guestfs_dd> is available."

#. type: textblock
#: ../lib/guestfs.pod:2246
msgid ""
"Before version 1.5.8, if you needed to test whether a single libguestfs "
"function is available at compile time, we recommended using build tools such "
"as autoconf or cmake.  For example in autotools you could use:"
msgstr ""
"Before version 1.5.8, if you needed to test whether a single libguestfs "
"function is available at compile time, we recommended using build tools such "
"as autoconf or cmake.  For example in autotools you could use:"

#. type: verbatim
#: ../lib/guestfs.pod:2251
#, no-wrap
msgid ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
" AC_CHECK_FUNCS([guestfs_dd])\n"
"\n"
msgstr ""
" AC_CHECK_LIB([guestfs],[guestfs_create])\n"
" AC_CHECK_FUNCS([guestfs_dd])\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2254
msgid ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."
msgstr ""
"which would result in C<HAVE_GUESTFS_DD> being either defined or not defined "
"in your program."

#. type: =head2
#: ../lib/guestfs.pod:2257
msgid "SINGLE CALLS AT RUN TIME"
msgstr "SINGLE CALLS AT RUN TIME"

#. type: textblock
#: ../lib/guestfs.pod:2259
msgid ""
"Testing at compile time doesn't guarantee that a function really exists in "
"the library.  The reason is that you might be dynamically linked against a "
"previous I<libguestfs.so> (dynamic library)  which doesn't have the call.  "
"This situation unfortunately results in a segmentation fault, which is a "
"shortcoming of the C dynamic linking system itself."
msgstr ""
"Testing at compile time doesn't guarantee that a function really exists in "
"the library.  The reason is that you might be dynamically linked against a "
"previous I<libguestfs.so> (dynamic library)  which doesn't have the call.  "
"This situation unfortunately results in a segmentation fault, which is a "
"shortcoming of the C dynamic linking system itself."

#. type: textblock
#: ../lib/guestfs.pod:2266
msgid ""
"You can use L<dlopen(3)> to test if a function is available at run time, as "
"in this example program (note that you still need the compile time check as "
"well):"
msgstr ""
"You can use L<dlopen(3)> to test if a function is available at run time, as "
"in this example program (note that you still need the compile time check as "
"well):"

#. type: verbatim
#: ../lib/guestfs.pod:2270
#, no-wrap
msgid ""
" #include <stdio.h>\n"
" #include <stdlib.h>\n"
" #include <unistd.h>\n"
" #include <dlfcn.h>\n"
" #include <guestfs.h>\n"
" \n"
msgstr ""
" #include <stdio.h>\n"
" #include <stdlib.h>\n"
" #include <unistd.h>\n"
" #include <dlfcn.h>\n"
" #include <guestfs.h>\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2276
#, no-wrap
msgid ""
" main ()\n"
" {\n"
" #ifdef GUESTFS_HAVE_DD\n"
"   void *dl;\n"
"   int has_function;\n"
" \n"
msgstr ""
" main ()\n"
" {\n"
" #ifdef GUESTFS_HAVE_DD\n"
"   void *dl;\n"
"   int has_function;\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2282
#, no-wrap
msgid ""
"   /* Test if the function guestfs_dd is really available. */\n"
"   dl = dlopen (NULL, RTLD_LAZY);\n"
"   if (!dl) {\n"
"     fprintf (stderr, \"dlopen: %s\\n\", dlerror ());\n"
"     exit (EXIT_FAILURE);\n"
"   }\n"
"   has_function = dlsym (dl, \"guestfs_dd\") != NULL;\n"
"   dlclose (dl);\n"
" \n"
msgstr ""
"   /* Test if the function guestfs_dd is really available. */\n"
"   dl = dlopen (NULL, RTLD_LAZY);\n"
"   if (!dl) {\n"
"     fprintf (stderr, \"dlopen: %s\\n\", dlerror ());\n"
"     exit (EXIT_FAILURE);\n"
"   }\n"
"   has_function = dlsym (dl, \"guestfs_dd\") != NULL;\n"
"   dlclose (dl);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2291
#, no-wrap
msgid ""
"   if (!has_function)\n"
"     printf (\"this libguestfs.so does NOT have guestfs_dd function\\n\");\n"
"   else {\n"
"     printf (\"this libguestfs.so has guestfs_dd function\\n\");\n"
"     /* Now it's safe to call\n"
"     guestfs_dd (g, \"foo\", \"bar\");\n"
"     */\n"
"   }\n"
" #else\n"
"   printf (\"guestfs_dd function was not found at compile time\\n\");\n"
" #endif\n"
"  }\n"
"\n"
msgstr ""
"   if (!has_function)\n"
"     printf (\"this libguestfs.so does NOT have guestfs_dd function\\n\");\n"
"   else {\n"
"     printf (\"this libguestfs.so has guestfs_dd function\\n\");\n"
"     /* Now it's safe to call\n"
"     guestfs_dd (g, \"foo\", \"bar\");\n"
"     */\n"
"   }\n"
" #else\n"
"   printf (\"guestfs_dd function was not found at compile time\\n\");\n"
" #endif\n"
"  }\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2304
msgid ""
"You may think the above is an awful lot of hassle, and it is.  There are "
"other ways outside of the C linking system to ensure that this kind of "
"incompatibility never arises, such as using package versioning:"
msgstr ""
"You may think the above is an awful lot of hassle, and it is.  There are "
"other ways outside of the C linking system to ensure that this kind of "
"incompatibility never arises, such as using package versioning:"

#. type: verbatim
#: ../lib/guestfs.pod:2309
#, no-wrap
msgid ""
" Requires: libguestfs >= 1.0.80\n"
"\n"
msgstr ""
" Requires: libguestfs >= 1.0.80\n"
"\n"

#. type: =head1
#: ../lib/guestfs.pod:2311
msgid "CALLS WITH OPTIONAL ARGUMENTS"
msgstr "CALLS WITH OPTIONAL ARGUMENTS"

#. type: textblock
#: ../lib/guestfs.pod:2313
msgid ""
"A recent feature of the API is the introduction of calls which take optional "
"arguments.  In C these are declared 3 ways.  The main way is as a call which "
"takes variable arguments (ie. C<...>), as in this example:"
msgstr ""
"A recent feature of the API is the introduction of calls which take optional "
"arguments.  In C these are declared 3 ways.  The main way is as a call which "
"takes variable arguments (ie. C<...>), as in this example:"

#. type: verbatim
#: ../lib/guestfs.pod:2318
#, no-wrap
msgid ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
"\n"
msgstr ""
" int guestfs_add_drive_opts (guestfs_h *g, const char *filename, ...);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2320
msgid ""
"Call this with a list of optional arguments, terminated by C<-1>.  So to "
"call with no optional arguments specified:"
msgstr ""
"Call this with a list of optional arguments, terminated by C<-1>.  So to "
"call with no optional arguments specified:"

#. type: verbatim
#: ../lib/guestfs.pod:2323
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename, -1);\n"
"\n"
msgstr ""
" guestfs_add_drive_opts (g, filename, -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2325
msgid "With a single optional argument:"
msgstr "With a single optional argument:"

#. type: verbatim
#: ../lib/guestfs.pod:2327
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"qcow2\",\n"
"                         -1);\n"
"\n"
msgstr ""
" guestfs_add_drive_opts (g, filename,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"qcow2\",\n"
"                         -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2331
msgid "With two:"
msgstr "With two:"

#. type: verbatim
#: ../lib/guestfs.pod:2333
#, no-wrap
msgid ""
" guestfs_add_drive_opts (g, filename,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"qcow2\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,\n"
"                         -1);\n"
"\n"
msgstr ""
" guestfs_add_drive_opts (g, filename,\n"
"                         GUESTFS_ADD_DRIVE_OPTS_FORMAT, \"qcow2\",\n"
"                         GUESTFS_ADD_DRIVE_OPTS_READONLY, 1,\n"
"                         -1);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2338
msgid ""
"and so forth.  Don’t forget the terminating C<-1> otherwise Bad Things will "
"happen!"
msgstr ""

#. type: =head2
#: ../lib/guestfs.pod:2341
msgid "USING va_list FOR OPTIONAL ARGUMENTS"
msgstr "USING va_list FOR OPTIONAL ARGUMENTS"

#. type: textblock
#: ../lib/guestfs.pod:2343
msgid ""
"The second variant has the same name with the suffix C<_va>, which works the "
"same way but takes a C<va_list>.  See the C manual for details.  For the "
"example function, this is declared:"
msgstr ""
"The second variant has the same name with the suffix C<_va>, which works the "
"same way but takes a C<va_list>.  See the C manual for details.  For the "
"example function, this is declared:"

#. type: verbatim
#: ../lib/guestfs.pod:2347
#, no-wrap
msgid ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
"                                va_list args);\n"
"\n"
msgstr ""
" int guestfs_add_drive_opts_va (guestfs_h *g, const char *filename,\n"
"                                va_list args);\n"
"\n"

#. type: =head2
#: ../lib/guestfs.pod:2350
msgid "CONSTRUCTING OPTIONAL ARGUMENTS"
msgstr "CONSTRUCTING OPTIONAL ARGUMENTS"

#. type: textblock
#: ../lib/guestfs.pod:2352
msgid ""
"The third variant is useful where you need to construct these calls.  You "
"pass in a structure where you fill in the optional fields.  The structure "
"has a bitmask as the first element which you must set to indicate which "
"fields you have filled in.  For our example function the structure and call "
"are declared:"
msgstr ""
"The third variant is useful where you need to construct these calls.  You "
"pass in a structure where you fill in the optional fields.  The structure "
"has a bitmask as the first element which you must set to indicate which "
"fields you have filled in.  For our example function the structure and call "
"are declared:"

#. type: verbatim
#: ../lib/guestfs.pod:2358
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv {\n"
"   uint64_t bitmask;\n"
"   int readonly;\n"
"   const char *format;\n"
"   /* ... */\n"
" };\n"
" int guestfs_add_drive_opts_argv (guestfs_h *g, const char *filename,\n"
"              const struct guestfs_add_drive_opts_argv *optargs);\n"
"\n"
msgstr ""
" struct guestfs_add_drive_opts_argv {\n"
"   uint64_t bitmask;\n"
"   int readonly;\n"
"   const char *format;\n"
"   /* ... */\n"
" };\n"
" int guestfs_add_drive_opts_argv (guestfs_h *g, const char *filename,\n"
"              const struct guestfs_add_drive_opts_argv *optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2367
msgid "You could call it like this:"
msgstr "You could call it like this:"

#. type: verbatim
#: ../lib/guestfs.pod:2369
#, no-wrap
msgid ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
"   .bitmask = GUESTFS_ADD_DRIVE_OPTS_READONLY_BITMASK |\n"
"              GUESTFS_ADD_DRIVE_OPTS_FORMAT_BITMASK,\n"
"   .readonly = 1,\n"
"   .format = \"qcow2\"\n"
" };\n"
" \n"
msgstr ""
" struct guestfs_add_drive_opts_argv optargs = {\n"
"   .bitmask = GUESTFS_ADD_DRIVE_OPTS_READONLY_BITMASK |\n"
"              GUESTFS_ADD_DRIVE_OPTS_FORMAT_BITMASK,\n"
"   .readonly = 1,\n"
"   .format = \"qcow2\"\n"
" };\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2376
#, no-wrap
msgid ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
"\n"
msgstr ""
" guestfs_add_drive_opts_argv (g, filename, &optargs);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2384
msgid "The C<_BITMASK> suffix on each option name when specifying the bitmask."
msgstr ""
"The C<_BITMASK> suffix on each option name when specifying the bitmask."

#. type: textblock
#: ../lib/guestfs.pod:2389
msgid "You do not need to fill in all fields of the structure."
msgstr "You do not need to fill in all fields of the structure."

#. type: textblock
#: ../lib/guestfs.pod:2393
msgid ""
"There must be a one-to-one correspondence between fields of the structure "
"that are filled in, and bits set in the bitmask."
msgstr ""
"There must be a one-to-one correspondence between fields of the structure "
"that are filled in, and bits set in the bitmask."

#. type: =head2
#: ../lib/guestfs.pod:2398
msgid "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"
msgstr "OPTIONAL ARGUMENTS IN OTHER LANGUAGES"

#. type: textblock
#: ../lib/guestfs.pod:2400
msgid ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language.  We refer you to the language-specific "
"documentation for more details on that."
msgstr ""
"In other languages, optional arguments are expressed in the way that is "
"natural for that language.  We refer you to the language-specific "
"documentation for more details on that."

#. type: textblock
#: ../lib/guestfs.pod:2404
msgid "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."
msgstr "For guestfish, see L<guestfish(1)/OPTIONAL ARGUMENTS>."

#. type: =head2
#: ../lib/guestfs.pod:2408
msgid "SETTING CALLBACKS TO HANDLE EVENTS"
msgstr "SETTING CALLBACKS TO HANDLE EVENTS"

#. type: textblock
#: ../lib/guestfs.pod:2410
msgid ""
"B<Note:> This section documents the generic event mechanism introduced in "
"libguestfs 1.10, which you should use in new code if possible.  The old "
"functions C<guestfs_set_log_message_callback>, "
"C<guestfs_set_subprocess_quit_callback>, "
"C<guestfs_set_launch_done_callback>, C<guestfs_set_close_callback> and "
"C<guestfs_set_progress_callback> are no longer documented in this manual "
"page.  Because of the ABI guarantee, the old functions continue to work."
msgstr ""
"B<Note:> This section documents the generic event mechanism introduced in "
"libguestfs 1.10, which you should use in new code if possible.  The old "
"functions C<guestfs_set_log_message_callback>, "
"C<guestfs_set_subprocess_quit_callback>, "
"C<guestfs_set_launch_done_callback>, C<guestfs_set_close_callback> and "
"C<guestfs_set_progress_callback> are no longer documented in this manual "
"page.  Because of the ABI guarantee, the old functions continue to work."

#. type: textblock
#: ../lib/guestfs.pod:2419
msgid ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
"handle being closed.  The API calls described below let you register a "
"callback to be called when events happen.  You can register multiple "
"callbacks (for the same, different or overlapping sets of events), and "
"individually remove callbacks.  If callbacks are not removed, then they "
"remain in force until the handle is closed."
msgstr ""
"Handles generate events when certain things happen, such as log messages "
"being generated, progress messages during long-running operations, or the "
"handle being closed.  The API calls described below let you register a "
"callback to be called when events happen.  You can register multiple "
"callbacks (for the same, different or overlapping sets of events), and "
"individually remove callbacks.  If callbacks are not removed, then they "
"remain in force until the handle is closed."

#. type: textblock
#: ../lib/guestfs.pod:2427
msgid ""
"In the current implementation, events are only generated synchronously: that "
"means that events (and hence callbacks) can only happen while you are in the "
"middle of making another libguestfs call.  The callback is called in the "
"same thread."
msgstr ""
"In the current implementation, events are only generated synchronously: that "
"means that events (and hence callbacks) can only happen while you are in the "
"middle of making another libguestfs call.  The callback is called in the "
"same thread."

#. type: textblock
#: ../lib/guestfs.pod:2432
msgid ""
"Events may contain a payload, usually nothing (void), an array of 64 bit "
"unsigned integers, or a message buffer.  Payloads are discussed later on."
msgstr ""
"Events may contain a payload, usually nothing (void), an array of 64 bit "
"unsigned integers, or a message buffer.  Payloads are discussed later on."

#. type: =head2
#: ../lib/guestfs.pod:2436
msgid "CLASSES OF EVENTS"
msgstr "CLASSES OF EVENTS"

#. type: =item
#: ../lib/guestfs.pod:2440
msgid "GUESTFS_EVENT_CLOSE (payload type: void)"
msgstr "GUESTFS_EVENT_CLOSE (payload type: void)"

#. type: textblock
#: ../lib/guestfs.pod:2443
msgid ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."
msgstr ""
"The callback function will be called while the handle is being closed "
"(synchronously from L</guestfs_close>)."

#. type: textblock
#: ../lib/guestfs.pod:2446
msgid ""
"Note that libguestfs installs an L<atexit(3)> handler to try to clean up "
"handles that are open when the program exits.  This means that this callback "
"might be called indirectly from L<exit(3)>, which can cause unexpected "
"problems in higher-level languages (eg. if your HLL interpreter has already "
"been cleaned up by the time this is called, and if your callback then jumps "
"into some HLL function)."
msgstr ""
"Note that libguestfs installs an L<atexit(3)> handler to try to clean up "
"handles that are open when the program exits.  This means that this callback "
"might be called indirectly from L<exit(3)>, which can cause unexpected "
"problems in higher-level languages (eg. if your HLL interpreter has already "
"been cleaned up by the time this is called, and if your callback then jumps "
"into some HLL function)."

#. type: textblock
#: ../lib/guestfs.pod:2453
msgid ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."
msgstr ""
"If no callback is registered: the handle is closed without any callback "
"being invoked."

#. type: =item
#: ../lib/guestfs.pod:2456
msgid "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"
msgstr "GUESTFS_EVENT_SUBPROCESS_QUIT (payload type: void)"

#. type: textblock
#: ../lib/guestfs.pod:2459
msgid ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>.  (This "
"corresponds to a transition from any state to the CONFIG state)."
msgstr ""
"The callback function will be called when the child process quits, either "
"asynchronously or if killed by L</guestfs_kill_subprocess>.  (This "
"corresponds to a transition from any state to the CONFIG state)."

#. type: textblock
#: ../lib/guestfs.pod:2463 ../lib/guestfs.pod:2472 ../lib/guestfs.pod:2599
msgid "If no callback is registered: the event is ignored."
msgstr "If no callback is registered: the event is ignored."

#. type: =item
#: ../lib/guestfs.pod:2465
msgid "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"
msgstr "GUESTFS_EVENT_LAUNCH_DONE (payload type: void)"

#. type: textblock
#: ../lib/guestfs.pod:2468
msgid ""
"The callback function will be called when the child process becomes ready "
"first time after it has been launched.  (This corresponds to a transition "
"from LAUNCHING to the READY state)."
msgstr ""
"The callback function will be called when the child process becomes ready "
"first time after it has been launched.  (This corresponds to a transition "
"from LAUNCHING to the READY state)."

#. type: =item
#: ../lib/guestfs.pod:2474
msgid "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"
msgstr "GUESTFS_EVENT_PROGRESS (payload type: array of 4 x uint64_t)"

#. type: textblock
#: ../lib/guestfs.pod:2477
msgid ""
"Some long-running operations can generate progress messages.  If this "
"callback is registered, then it will be called each time a progress message "
"is generated (usually two seconds after the operation started, and three "
"times per second thereafter until it completes, although the frequency may "
"change in future versions)."
msgstr ""
"Some long-running operations can generate progress messages.  If this "
"callback is registered, then it will be called each time a progress message "
"is generated (usually two seconds after the operation started, and three "
"times per second thereafter until it completes, although the frequency may "
"change in future versions)."

#. type: textblock
#: ../lib/guestfs.pod:2483
msgid ""
"The callback receives in the payload four unsigned 64 bit numbers which are "
"(in order): C<proc_nr>, C<serial>, C<position>, C<total>."
msgstr ""
"The callback receives in the payload four unsigned 64 bit numbers which are "
"(in order): C<proc_nr>, C<serial>, C<position>, C<total>."

#. type: textblock
#: ../lib/guestfs.pod:2486
msgid ""
"The units of C<total> are not defined, although for some operations C<total> "
"may relate in some way to the amount of data to be transferred (eg. in bytes "
"or megabytes), and C<position> may be the portion which has been transferred."
msgstr ""
"The units of C<total> are not defined, although for some operations C<total> "
"may relate in some way to the amount of data to be transferred (eg. in bytes "
"or megabytes), and C<position> may be the portion which has been transferred."

#. type: textblock
#: ../lib/guestfs.pod:2491
msgid "The only defined and stable parts of the API are:"
msgstr "The only defined and stable parts of the API are:"

#. type: textblock
#: ../lib/guestfs.pod:2497
msgid ""
"The callback can display to the user some type of progress bar or indicator "
"which shows the ratio of C<position>:C<total>."
msgstr ""
"The callback can display to the user some type of progress bar or indicator "
"which shows the ratio of C<position>:C<total>."

#. type: textblock
#: ../lib/guestfs.pod:2502
msgid "0 E<lt>= C<position> E<lt>= C<total>"
msgstr "0 E<lt>= C<position> E<lt>= C<total>"

#. type: textblock
#: ../lib/guestfs.pod:2506
msgid ""
"If any progress notification is sent during a call, then a final progress "
"notification is always sent when C<position> = C<total> (I<unless> the call "
"fails with an error)."
msgstr ""
"If any progress notification is sent during a call, then a final progress "
"notification is always sent when C<position> = C<total> (I<unless> the call "
"fails with an error)."

#. type: textblock
#: ../lib/guestfs.pod:2510
msgid ""
"This is to simplify caller code, so callers can easily set the progress "
"indicator to \"100%\" at the end of the operation, without requiring special "
"code to detect this case."
msgstr ""
"This is to simplify caller code, so callers can easily set the progress "
"indicator to \"100%\" at the end of the operation, without requiring special "
"code to detect this case."

#. type: textblock
#: ../lib/guestfs.pod:2516
msgid ""
"For some calls we are unable to estimate the progress of the call, but we "
"can still generate progress messages to indicate activity.  This is known as "
"\"pulse mode\", and is directly supported by certain progress bar "
"implementations (eg. GtkProgressBar)."
msgstr ""
"For some calls we are unable to estimate the progress of the call, but we "
"can still generate progress messages to indicate activity.  This is known as "
"\"pulse mode\", and is directly supported by certain progress bar "
"implementations (eg. GtkProgressBar)."

#. type: textblock
#: ../lib/guestfs.pod:2521
msgid ""
"For these calls, zero or more progress messages are generated with "
"C<position = 0> and C<total = 1>, followed by a final message with "
"C<position = total = 1>."
msgstr ""
"For these calls, zero or more progress messages are generated with "
"C<position = 0> and C<total = 1>, followed by a final message with "
"C<position = total = 1>."

#. type: textblock
#: ../lib/guestfs.pod:2525
msgid ""
"As noted above, if the call fails with an error then the final message may "
"not be generated."
msgstr ""
"As noted above, if the call fails with an error then the final message may "
"not be generated."

#. type: textblock
#: ../lib/guestfs.pod:2530
msgid ""
"The callback also receives the procedure number (C<proc_nr>) and serial "
"number (C<serial>) of the call.  These are only useful for debugging "
"protocol issues, and the callback can normally ignore them.  The callback "
"may want to print these numbers in error messages or debugging messages."
msgstr ""
"The callback also receives the procedure number (C<proc_nr>) and serial "
"number (C<serial>) of the call.  These are only useful for debugging "
"protocol issues, and the callback can normally ignore them.  The callback "
"may want to print these numbers in error messages or debugging messages."

#. type: textblock
#: ../lib/guestfs.pod:2536
msgid "If no callback is registered: progress messages are discarded."
msgstr "If no callback is registered: progress messages are discarded."

#. type: =item
#: ../lib/guestfs.pod:2538
msgid "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"
msgstr "GUESTFS_EVENT_APPLIANCE (payload type: message buffer)"

#. type: textblock
#: ../lib/guestfs.pod:2541
msgid ""
"The callback function is called whenever a log message is generated by qemu, "
"the appliance kernel, guestfsd (daemon), or utility programs."
msgstr ""
"The callback function is called whenever a log message is generated by qemu, "
"the appliance kernel, guestfsd (daemon), or utility programs."

#. type: textblock
#: ../lib/guestfs.pod:2544
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set before launch (L</"
"guestfs_launch>) then additional debug messages are generated."
msgstr ""
"If the verbose flag (L</guestfs_set_verbose>) is set before launch (L</"
"guestfs_launch>) then additional debug messages are generated."

#. type: textblock
#: ../lib/guestfs.pod:2547 ../lib/guestfs.pod:2561
msgid ""
"If no callback is registered: the messages are discarded unless the verbose "
"flag is set in which case they are sent to stderr.  You can override the "
"printing of verbose messages to stderr by setting up a callback."
msgstr ""
"If no callback is registered: the messages are discarded unless the verbose "
"flag is set in which case they are sent to stderr.  You can override the "
"printing of verbose messages to stderr by setting up a callback."

#. type: =item
#: ../lib/guestfs.pod:2552
msgid "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"
msgstr "GUESTFS_EVENT_LIBRARY (payload type: message buffer)"

#. type: textblock
#: ../lib/guestfs.pod:2555
msgid ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."
msgstr ""
"The callback function is called whenever a log message is generated by the "
"library part of libguestfs."

#. type: textblock
#: ../lib/guestfs.pod:2558
msgid ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."
msgstr ""
"If the verbose flag (L</guestfs_set_verbose>) is set then additional debug "
"messages are generated."

#. type: =item
#: ../lib/guestfs.pod:2566
msgid "GUESTFS_EVENT_WARNING (payload type: message buffer)"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:2569
msgid ""
"The callback function is called whenever a warning message is generated by "
"the library part of libguestfs."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:2572
msgid ""
"If no callback is registered: the messages are printed to stderr.  You can "
"override the printing of warning messages to stderr by setting up a callback."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:2576
msgid "GUESTFS_EVENT_TRACE (payload type: message buffer)"
msgstr "GUESTFS_EVENT_TRACE (payload type: message buffer)"

#. type: textblock
#: ../lib/guestfs.pod:2579
msgid ""
"The callback function is called whenever a trace message is generated.  This "
"only applies if the trace flag (L</guestfs_set_trace>) is set."
msgstr ""
"The callback function is called whenever a trace message is generated.  This "
"only applies if the trace flag (L</guestfs_set_trace>) is set."

#. type: textblock
#: ../lib/guestfs.pod:2582
msgid ""
"If no callback is registered: the messages are sent to stderr.  You can "
"override the printing of trace messages to stderr by setting up a callback."
msgstr ""
"If no callback is registered: the messages are sent to stderr.  You can "
"override the printing of trace messages to stderr by setting up a callback."

#. type: =item
#: ../lib/guestfs.pod:2586
msgid "GUESTFS_EVENT_ENTER (payload type: function name)"
msgstr "GUESTFS_EVENT_ENTER (payload type: function name)"

#. type: textblock
#: ../lib/guestfs.pod:2589
msgid ""
"The callback function is called whenever a libguestfs function is entered."
msgstr ""
"The callback function is called whenever a libguestfs function is entered."

#. type: textblock
#: ../lib/guestfs.pod:2592
msgid ""
"The payload is a string which contains the name of the function that we are "
"entering (not including C<guestfs_> prefix)."
msgstr ""
"The payload is a string which contains the name of the function that we are "
"entering (not including C<guestfs_> prefix)."

#. type: textblock
#: ../lib/guestfs.pod:2595
msgid ""
"Note that libguestfs functions can call themselves, so you may see many "
"events from a single call.  A few libguestfs functions do not generate this "
"event."
msgstr ""
"Note that libguestfs functions can call themselves, so you may see many "
"events from a single call.  A few libguestfs functions do not generate this "
"event."

#. type: =item
#: ../lib/guestfs.pod:2601
msgid "GUESTFS_EVENT_LIBVIRT_AUTH (payload type: libvirt URI)"
msgstr "GUESTFS_EVENT_LIBVIRT_AUTH (payload type: libvirt URI)"

#. type: textblock
#: ../lib/guestfs.pod:2604
msgid ""
"For any API function that opens a libvirt connection, this event may be "
"generated to indicate that libvirt demands authentication information.  See "
"L</LIBVIRT AUTHENTICATION> below."
msgstr ""
"For any API function that opens a libvirt connection, this event may be "
"generated to indicate that libvirt demands authentication information.  See "
"L</LIBVIRT AUTHENTICATION> below."

#. type: textblock
#: ../lib/guestfs.pod:2608
msgid ""
"If no callback is registered: C<virConnectAuthPtrDefault> is used (suitable "
"for command-line programs only)."
msgstr ""
"If no callback is registered: C<virConnectAuthPtrDefault> is used (suitable "
"for command-line programs only)."

#. type: =head2
#: ../lib/guestfs.pod:2613
msgid "EVENT API"
msgstr "EVENT API"

#. type: =head3
#: ../lib/guestfs.pod:2615
msgid "guestfs_set_event_callback"
msgstr "guestfs_set_event_callback"

#. type: verbatim
#: ../lib/guestfs.pod:2617
#, no-wrap
msgid ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
"                                 guestfs_event_callback cb,\n"
"                                 uint64_t event_bitmask,\n"
"                                 int flags,\n"
"                                 void *opaque);\n"
"\n"
msgstr ""
" int guestfs_set_event_callback (guestfs_h *g,\n"
"                                 guestfs_event_callback cb,\n"
"                                 uint64_t event_bitmask,\n"
"                                 int flags,\n"
"                                 void *opaque);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2623
msgid ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."
msgstr ""
"This function registers a callback (C<cb>) for all event classes in the "
"C<event_bitmask>."

#. type: textblock
#: ../lib/guestfs.pod:2626
msgid ""
"For example, to register for all log message events, you could call this "
"function with the bitmask C<GUESTFS_EVENT_APPLIANCE|GUESTFS_EVENT_LIBRARY|"
"GUESTFS_EVENT_WARNING>.  To register a single callback for all possible "
"classes of events, use C<GUESTFS_EVENT_ALL>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:2632
msgid "C<flags> should always be passed as 0."
msgstr "C<flags> should always be passed as 0."

#. type: textblock
#: ../lib/guestfs.pod:2634
msgid ""
"C<opaque> is an opaque pointer which is passed to the callback.  You can use "
"it for any purpose."
msgstr ""
"C<opaque> is an opaque pointer which is passed to the callback.  You can use "
"it for any purpose."

#. type: textblock
#: ../lib/guestfs.pod:2637
msgid ""
"The return value is the event handle (an integer) which you can use to "
"delete the callback (see below)."
msgstr ""
"The return value is the event handle (an integer) which you can use to "
"delete the callback (see below)."

#. type: textblock
#: ../lib/guestfs.pod:2640
msgid ""
"If there is an error, this function returns C<-1>, and sets the error in the "
"handle in the usual way (see L</guestfs_last_error> etc.)"
msgstr ""
"If there is an error, this function returns C<-1>, and sets the error in the "
"handle in the usual way (see L</guestfs_last_error> etc.)"

#. type: textblock
#: ../lib/guestfs.pod:2643
msgid ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."
msgstr ""
"Callbacks remain in effect until they are deleted, or until the handle is "
"closed."

#. type: textblock
#: ../lib/guestfs.pod:2646
msgid ""
"In the case where multiple callbacks are registered for a particular event "
"class, all of the callbacks are called.  The order in which multiple "
"callbacks are called is not defined."
msgstr ""
"In the case where multiple callbacks are registered for a particular event "
"class, all of the callbacks are called.  The order in which multiple "
"callbacks are called is not defined."

#. type: =head3
#: ../lib/guestfs.pod:2650
msgid "guestfs_delete_event_callback"
msgstr "guestfs_delete_event_callback"

#. type: verbatim
#: ../lib/guestfs.pod:2652
#, no-wrap
msgid ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
"\n"
msgstr ""
" void guestfs_delete_event_callback (guestfs_h *g, int event_handle);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2654
msgid ""
"Delete a callback that was previously registered.  C<event_handle> should be "
"the integer that was returned by a previous call to "
"C<guestfs_set_event_callback> on the same handle."
msgstr ""
"Delete a callback that was previously registered.  C<event_handle> should be "
"the integer that was returned by a previous call to "
"C<guestfs_set_event_callback> on the same handle."

#. type: =head3
#: ../lib/guestfs.pod:2658
msgid "guestfs_event_to_string"
msgstr "guestfs_event_to_string"

#. type: verbatim
#: ../lib/guestfs.pod:2660
#, no-wrap
msgid ""
" char *guestfs_event_to_string (uint64_t event);\n"
"\n"
msgstr ""
" char *guestfs_event_to_string (uint64_t event);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2662
msgid ""
"C<event> is either a single event or a bitmask of events.  This returns a "
"string representation (useful for debugging or printing events)."
msgstr ""
"C<event> is either a single event or a bitmask of events.  This returns a "
"string representation (useful for debugging or printing events)."

#. type: textblock
#: ../lib/guestfs.pod:2666
msgid "A single event is returned as the name in lower case, eg. C<\"close\">."
msgstr ""
"A single event is returned as the name in lower case, eg. C<\"close\">."

#. type: textblock
#: ../lib/guestfs.pod:2668
msgid ""
"A bitmask of several events is returned as a comma-separated list, eg. C<"
"\"close,progress\">."
msgstr ""
"A bitmask of several events is returned as a comma-separated list, eg. C<"
"\"close,progress\">."

#. type: textblock
#: ../lib/guestfs.pod:2671
msgid "If zero is passed, then the empty string C<\"\"> is returned."
msgstr "If zero is passed, then the empty string C<\"\"> is returned."

#. type: textblock
#: ../lib/guestfs.pod:2673
msgid ""
"On success this returns a string.  On error it returns NULL and sets "
"C<errno>."
msgstr ""
"On success this returns a string.  On error it returns NULL and sets "
"C<errno>."

#. type: textblock
#: ../lib/guestfs.pod:2676
msgid "The returned string must be freed by the caller."
msgstr "The returned string must be freed by the caller."

#. type: =head3
#: ../lib/guestfs.pod:2678
msgid "guestfs_event_callback"
msgstr "guestfs_event_callback"

#. type: verbatim
#: ../lib/guestfs.pod:2680
#, no-wrap
msgid ""
" typedef void (*guestfs_event_callback) (\n"
"                  guestfs_h *g,\n"
"                  void *opaque,\n"
"                  uint64_t event,\n"
"                  int event_handle,\n"
"                  int flags,\n"
"                  const char *buf, size_t buf_len,\n"
"                  const uint64_t *array, size_t array_len);\n"
"\n"
msgstr ""
" typedef void (*guestfs_event_callback) (\n"
"                  guestfs_h *g,\n"
"                  void *opaque,\n"
"                  uint64_t event,\n"
"                  int event_handle,\n"
"                  int flags,\n"
"                  const char *buf, size_t buf_len,\n"
"                  const uint64_t *array, size_t array_len);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2689
msgid ""
"This is the type of the event callback function that you have to provide."
msgstr ""
"This is the type of the event callback function that you have to provide."

#. type: textblock
#: ../lib/guestfs.pod:2692
msgid ""
"The basic parameters are: the handle (C<g>), the opaque user pointer "
"(C<opaque>), the event class (eg. C<GUESTFS_EVENT_PROGRESS>), the event "
"handle, and C<flags> which in the current API you should ignore."
msgstr ""
"The basic parameters are: the handle (C<g>), the opaque user pointer "
"(C<opaque>), the event class (eg. C<GUESTFS_EVENT_PROGRESS>), the event "
"handle, and C<flags> which in the current API you should ignore."

#. type: textblock
#: ../lib/guestfs.pod:2696
msgid ""
"The remaining parameters contain the event payload (if any).  Each event may "
"contain a payload, which usually relates to the event class, but for future "
"proofing your code should be written to handle any payload for any event "
"class."
msgstr ""
"The remaining parameters contain the event payload (if any).  Each event may "
"contain a payload, which usually relates to the event class, but for future "
"proofing your code should be written to handle any payload for any event "
"class."

#. type: textblock
#: ../lib/guestfs.pod:2701
msgid ""
"C<buf> and C<buf_len> contain a message buffer (if C<buf_len == 0>, then "
"there is no message buffer).  Note that this message buffer can contain "
"arbitrary 8 bit data, including NUL bytes."
msgstr ""
"C<buf> and C<buf_len> contain a message buffer (if C<buf_len == 0>, then "
"there is no message buffer).  Note that this message buffer can contain "
"arbitrary 8 bit data, including NUL bytes."

#. type: textblock
#: ../lib/guestfs.pod:2705
msgid ""
"C<array> and C<array_len> is an array of 64 bit unsigned integers.  At the "
"moment this is only used for progress messages."
msgstr ""
"C<array> and C<array_len> is an array of 64 bit unsigned integers.  At the "
"moment this is only used for progress messages."

#. type: =head2
#: ../lib/guestfs.pod:2708
msgid "EXAMPLE: CAPTURING LOG MESSAGES"
msgstr "EXAMPLE: CAPTURING LOG MESSAGES"

#. type: textblock
#: ../lib/guestfs.pod:2710
msgid ""
"A working program demonstrating this can be found in F<examples/debug-"
"logging.c> in the source of libguestfs."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:2713
msgid ""
"One motivation for the generic event API was to allow GUI programs to "
"capture debug and other messages.  In libguestfs E<le> 1.8 these were sent "
"unconditionally to C<stderr>."
msgstr ""
"One motivation for the generic event API was to allow GUI programs to "
"capture debug and other messages.  In libguestfs E<le> 1.8 these were sent "
"unconditionally to C<stderr>."

#. type: textblock
#: ../lib/guestfs.pod:2717
msgid ""
"Events associated with log messages are: C<GUESTFS_EVENT_LIBRARY>, "
"C<GUESTFS_EVENT_APPLIANCE>, C<GUESTFS_EVENT_WARNING> and "
"C<GUESTFS_EVENT_TRACE>.  (Note that error messages are not events; you must "
"capture error messages separately)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:2722
msgid ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"
msgstr ""
"Programs have to set up a callback to capture the classes of events of "
"interest:"

#. type: verbatim
#: ../lib/guestfs.pod:2725
#, no-wrap
msgid ""
" int eh =\n"
"   guestfs_set_event_callback\n"
"     (g, message_callback,\n"
"      GUESTFS_EVENT_LIBRARY | GUESTFS_EVENT_APPLIANCE |\n"
"      GUESTFS_EVENT_WARNING | GUESTFS_EVENT_TRACE,\n"
"      0, NULL) == -1)\n"
" if (eh == -1) {\n"
"   // handle error in the usual way\n"
" }\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:2735
msgid ""
"The callback can then direct messages to the appropriate place.  In this "
"example, messages are directed to syslog:"
msgstr ""
"The callback can then direct messages to the appropriate place.  In this "
"example, messages are directed to syslog:"

#. type: verbatim
#: ../lib/guestfs.pod:2738
#, no-wrap
msgid ""
" static void\n"
" message_callback (\n"
"         guestfs_h *g,\n"
"         void *opaque,\n"
"         uint64_t event,\n"
"         int event_handle,\n"
"         int flags,\n"
"         const char *buf, size_t buf_len,\n"
"         const uint64_t *array, size_t array_len)\n"
" {\n"
"   const int priority = LOG_USER|LOG_INFO;\n"
"   if (buf_len > 0)\n"
"     syslog (priority, \"event 0x%lx: %s\", event, buf);\n"
" }\n"
"\n"
msgstr ""
" static void\n"
" message_callback (\n"
"         guestfs_h *g,\n"
"         void *opaque,\n"
"         uint64_t event,\n"
"         int event_handle,\n"
"         int flags,\n"
"         const char *buf, size_t buf_len,\n"
"         const uint64_t *array, size_t array_len)\n"
" {\n"
"   const int priority = LOG_USER|LOG_INFO;\n"
"   if (buf_len > 0)\n"
"     syslog (priority, \"event 0x%lx: %s\", event, buf);\n"
" }\n"
"\n"

#. type: =head2
#: ../lib/guestfs.pod:2753
msgid "LIBVIRT AUTHENTICATION"
msgstr "LIBVIRT AUTHENTICATION"

#. type: textblock
#: ../lib/guestfs.pod:2755
msgid ""
"Some libguestfs API calls can open libvirt connections.  Currently the only "
"ones are L</guestfs_add_domain>; and L</guestfs_launch> if the libvirt "
"backend has been selected.  Libvirt connections may require authentication, "
"for example if they need to access a remote server or to access root "
"services from non-root.  Libvirt authentication happens via a callback "
"mechanism, see L<http://libvirt.org/guide/html/Application_Development_Guide-"
"Connections.html>"
msgstr ""
"Some libguestfs API calls can open libvirt connections.  Currently the only "
"ones are L</guestfs_add_domain>; and L</guestfs_launch> if the libvirt "
"backend has been selected.  Libvirt connections may require authentication, "
"for example if they need to access a remote server or to access root "
"services from non-root.  Libvirt authentication happens via a callback "
"mechanism, see L<http://libvirt.org/guide/html/Application_Development_Guide-"
"Connections.html>"

#. type: textblock
#: ../lib/guestfs.pod:2763
msgid ""
"You may provide libvirt authentication data by registering a callback for "
"events of type C<GUESTFS_EVENT_LIBVIRT_AUTH>."
msgstr ""
"You may provide libvirt authentication data by registering a callback for "
"events of type C<GUESTFS_EVENT_LIBVIRT_AUTH>."

#. type: textblock
#: ../lib/guestfs.pod:2766
msgid ""
"If no such event is registered, then libguestfs uses a libvirt function that "
"provides command-line prompts (C<virConnectAuthPtrDefault>).  This is only "
"suitable for command-line libguestfs programs."
msgstr ""
"If no such event is registered, then libguestfs uses a libvirt function that "
"provides command-line prompts (C<virConnectAuthPtrDefault>).  This is only "
"suitable for command-line libguestfs programs."

#. type: textblock
#: ../lib/guestfs.pod:2771
msgid ""
"To provide authentication, first call L</"
"guestfs_set_libvirt_supported_credentials> with the list of credentials your "
"program knows how to provide.  Second, register a callback for the "
"C<GUESTFS_EVENT_LIBVIRT_AUTH> event.  The event handler will be called when "
"libvirt is requesting authentication information."
msgstr ""
"To provide authentication, first call L</"
"guestfs_set_libvirt_supported_credentials> with the list of credentials your "
"program knows how to provide.  Second, register a callback for the "
"C<GUESTFS_EVENT_LIBVIRT_AUTH> event.  The event handler will be called when "
"libvirt is requesting authentication information."

#. type: textblock
#: ../lib/guestfs.pod:2778
msgid ""
"In the event handler, call L</guestfs_get_libvirt_requested_credentials> to "
"get a list of the credentials that libvirt is asking for.  You then need to "
"ask (eg. the user) for each credential, and call L</"
"guestfs_set_libvirt_requested_credential> with the answer.  Note that for "
"each credential, additional information may be available via the calls L</"
"guestfs_get_libvirt_requested_credential_prompt>, L</"
"guestfs_get_libvirt_requested_credential_challenge> or L</"
"guestfs_get_libvirt_requested_credential_defresult>."
msgstr ""
"In the event handler, call L</guestfs_get_libvirt_requested_credentials> to "
"get a list of the credentials that libvirt is asking for.  You then need to "
"ask (eg. the user) for each credential, and call L</"
"guestfs_set_libvirt_requested_credential> with the answer.  Note that for "
"each credential, additional information may be available via the calls L</"
"guestfs_get_libvirt_requested_credential_prompt>, L</"
"guestfs_get_libvirt_requested_credential_challenge> or L</"
"guestfs_get_libvirt_requested_credential_defresult>."

#. type: textblock
#: ../lib/guestfs.pod:2789
msgid "The example program below should make this clearer."
msgstr "The example program below should make this clearer."

#. type: textblock
#: ../lib/guestfs.pod:2791
msgid ""
"There is also a more substantial working example program supplied with the "
"libguestfs sources, called F<libvirt-auth.c>."
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:2794
#, no-wrap
msgid ""
" main ()\n"
" {\n"
"   guestfs_h *g;\n"
"   char *creds[] = { \"authname\", \"passphrase\", NULL };\n"
"   int r, eh;\n"
" \n"
msgstr ""
" main ()\n"
" {\n"
"   guestfs_h *g;\n"
"   char *creds[] = { \"authname\", \"passphrase\", NULL };\n"
"   int r, eh;\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2800
#, no-wrap
msgid ""
"   g = guestfs_create ();\n"
"   if (!g) exit (EXIT_FAILURE);\n"
" \n"
msgstr ""
"   g = guestfs_create ();\n"
"   if (!g) exit (EXIT_FAILURE);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2803
#, no-wrap
msgid ""
"   /* Tell libvirt what credentials the program supports. */\n"
"   r = guestfs_set_libvirt_supported_credentials (g, creds);\n"
"   if (r == -1)\n"
"     exit (EXIT_FAILURE);\n"
" \n"
msgstr ""
"   /* Tell libvirt what credentials the program supports. */\n"
"   r = guestfs_set_libvirt_supported_credentials (g, creds);\n"
"   if (r == -1)\n"
"     exit (EXIT_FAILURE);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2808
#, no-wrap
msgid ""
"   /* Set up the event handler. */\n"
"   eh = guestfs_set_event_callback (\n"
"       g, do_auth,\n"
"       GUESTFS_EVENT_LIBVIRT_AUTH, 0, NULL);\n"
"   if (eh == -1)\n"
"     exit (EXIT_FAILURE);\n"
" \n"
msgstr ""
"   /* Set up the event handler. */\n"
"   eh = guestfs_set_event_callback (\n"
"       g, do_auth,\n"
"       GUESTFS_EVENT_LIBVIRT_AUTH, 0, NULL);\n"
"   if (eh == -1)\n"
"     exit (EXIT_FAILURE);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2815
#, no-wrap
msgid ""
"   /* An example of a call that may ask for credentials. */\n"
"   r = guestfs_add_domain (\n"
"       g, \"dom\",\n"
"       GUESTFS_ADD_DOMAIN_LIBVIRTURI, \"qemu:///system\",\n"
"       -1);\n"
"   if (r == -1)\n"
"     exit (EXIT_FAILURE);\n"
" \n"
msgstr ""
"   /* An example of a call that may ask for credentials. */\n"
"   r = guestfs_add_domain (\n"
"       g, \"dom\",\n"
"       GUESTFS_ADD_DOMAIN_LIBVIRTURI, \"qemu:///system\",\n"
"       -1);\n"
"   if (r == -1)\n"
"     exit (EXIT_FAILURE);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2823
#, no-wrap
msgid ""
"   exit (EXIT_SUCCESS);\n"
" }\n"
" \n"
msgstr ""
"   exit (EXIT_SUCCESS);\n"
" }\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2826
#, no-wrap
msgid ""
" static void\n"
" do_auth (guestfs_h *g,\n"
"          void *opaque,\n"
"          uint64_t event,\n"
"          int event_handle,\n"
"          int flags,\n"
"          const char *buf, size_t buf_len,\n"
"          const uint64_t *array, size_t array_len)\n"
" {\n"
"   char **creds;\n"
"   size_t i;\n"
"   char *prompt;\n"
"   char *reply;\n"
"   size_t replylen;\n"
"   int r;\n"
" \n"
msgstr ""
" static void\n"
" do_auth (guestfs_h *g,\n"
"          void *opaque,\n"
"          uint64_t event,\n"
"          int event_handle,\n"
"          int flags,\n"
"          const char *buf, size_t buf_len,\n"
"          const uint64_t *array, size_t array_len)\n"
" {\n"
"   char **creds;\n"
"   size_t i;\n"
"   char *prompt;\n"
"   char *reply;\n"
"   size_t replylen;\n"
"   int r;\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2842
#, no-wrap
msgid ""
"   // buf will be the libvirt URI.  buf_len may be ignored.\n"
"   printf (\"Authentication required for libvirt conn '%s'\\n\",\n"
"           buf);\n"
" \n"
msgstr ""
"   // buf will be the libvirt URI.  buf_len may be ignored.\n"
"   printf (\"Authentication required for libvirt conn '%s'\\n\",\n"
"           buf);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2846
#, no-wrap
msgid ""
"   // Ask libguestfs what credentials libvirt is demanding.\n"
"   creds = guestfs_get_libvirt_requested_credentials (g);\n"
"   if (creds == NULL)\n"
"     exit (EXIT_FAILURE);\n"
" \n"
msgstr ""
"   // Ask libguestfs what credentials libvirt is demanding.\n"
"   creds = guestfs_get_libvirt_requested_credentials (g);\n"
"   if (creds == NULL)\n"
"     exit (EXIT_FAILURE);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2851
#, no-wrap
msgid ""
"   // Now ask the user for answers.\n"
"   for (i = 0; creds[i] != NULL; ++i)\n"
"   {\n"
"     if (strcmp (creds[i], \"authname\") == 0 ||\n"
"         strcmp (creds[i], \"passphrase\") == 0)\n"
"     {\n"
"       prompt =\n"
"         guestfs_get_libvirt_requested_credential_prompt (g, i);\n"
"       if (prompt && strcmp (prompt, \"\") != 0)\n"
"         printf (\"%s: \", prompt);\n"
"       free (prompt);\n"
" \n"
msgstr ""
"   // Now ask the user for answers.\n"
"   for (i = 0; creds[i] != NULL; ++i)\n"
"   {\n"
"     if (strcmp (creds[i], \"authname\") == 0 ||\n"
"         strcmp (creds[i], \"passphrase\") == 0)\n"
"     {\n"
"       prompt =\n"
"         guestfs_get_libvirt_requested_credential_prompt (g, i);\n"
"       if (prompt && strcmp (prompt, \"\") != 0)\n"
"         printf (\"%s: \", prompt);\n"
"       free (prompt);\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2863
#, no-wrap
msgid ""
"       // Some code here to ask for the credential.\n"
"       // ...\n"
"       // Put the reply in 'reply', length 'replylen' (bytes).\n"
" \n"
msgstr ""
"       // Some code here to ask for the credential.\n"
"       // ...\n"
"       // Put the reply in 'reply', length 'replylen' (bytes).\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2867
#, no-wrap
msgid ""
"      r = guestfs_set_libvirt_requested_credential (g, i,\n"
"          reply, replylen);\n"
"      if (r == -1)\n"
"        exit (EXIT_FAILURE);\n"
"     }\n"
" \n"
msgstr ""
"      r = guestfs_set_libvirt_requested_credential (g, i,\n"
"          reply, replylen);\n"
"      if (r == -1)\n"
"        exit (EXIT_FAILURE);\n"
"     }\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2873
#, no-wrap
msgid ""
"     free (creds[i]);\n"
"   }\n"
" \n"
msgstr ""
"     free (creds[i]);\n"
"   }\n"
" \n"

#. type: verbatim
#: ../lib/guestfs.pod:2876
#, no-wrap
msgid ""
"   free (creds);\n"
" }\n"
"\n"
msgstr ""
"   free (creds);\n"
" }\n"
"\n"

#. type: =head1
#: ../lib/guestfs.pod:2879
msgid "CANCELLING LONG TRANSFERS"
msgstr "CANCELLING LONG TRANSFERS"

#. type: textblock
#: ../lib/guestfs.pod:2881
msgid ""
"Some operations can be cancelled by the caller while they are in progress.  "
"Currently only operations that involve uploading or downloading data can be "
"cancelled (technically: operations that have C<FileIn> or C<FileOut> "
"parameters in the generator)."
msgstr ""
"Some operations can be cancelled by the caller while they are in progress.  "
"Currently only operations that involve uploading or downloading data can be "
"cancelled (technically: operations that have C<FileIn> or C<FileOut> "
"parameters in the generator)."

#. type: textblock
#: ../lib/guestfs.pod:2886
msgid ""
"To cancel the transfer, call L</guestfs_user_cancel>.  For more information, "
"read the description of L</guestfs_user_cancel>."
msgstr ""
"To cancel the transfer, call L</guestfs_user_cancel>.  For more information, "
"read the description of L</guestfs_user_cancel>."

#. type: =head1
#: ../lib/guestfs.pod:2889
msgid "PRIVATE DATA AREA"
msgstr "PRIVATE DATA AREA"

#. type: textblock
#: ../lib/guestfs.pod:2891
msgid ""
"You can attach named pieces of private data to the libguestfs handle, fetch "
"them by name, and walk over them, for the lifetime of the handle.  This is "
"called the private data area and is only available from the C API."
msgstr ""
"You can attach named pieces of private data to the libguestfs handle, fetch "
"them by name, and walk over them, for the lifetime of the handle.  This is "
"called the private data area and is only available from the C API."

#. type: textblock
#: ../lib/guestfs.pod:2896
msgid "To attach a named piece of data, use the following call:"
msgstr "To attach a named piece of data, use the following call:"

#. type: verbatim
#: ../lib/guestfs.pod:2898
#, no-wrap
msgid ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
"\n"
msgstr ""
" void guestfs_set_private (guestfs_h *g, const char *key, void *data);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2900
msgid ""
"C<key> is the name to associate with this data, and C<data> is an arbitrary "
"pointer (which can be C<NULL>).  Any previous item with the same key is "
"overwritten."
msgstr ""
"C<key> is the name to associate with this data, and C<data> is an arbitrary "
"pointer (which can be C<NULL>).  Any previous item with the same key is "
"overwritten."

#. type: textblock
#: ../lib/guestfs.pod:2904
msgid ""
"You can use any C<key> string you want, but avoid keys beginning with an "
"underscore character (libguestfs uses those for its own internal purposes, "
"such as implementing language bindings).  It is recommended that you prefix "
"the key with some unique string to avoid collisions with other users."
msgstr ""
"You can use any C<key> string you want, but avoid keys beginning with an "
"underscore character (libguestfs uses those for its own internal purposes, "
"such as implementing language bindings).  It is recommended that you prefix "
"the key with some unique string to avoid collisions with other users."

#. type: textblock
#: ../lib/guestfs.pod:2910
msgid "To retrieve the pointer, use:"
msgstr "To retrieve the pointer, use:"

#. type: verbatim
#: ../lib/guestfs.pod:2912
#, no-wrap
msgid ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
"\n"
msgstr ""
" void *guestfs_get_private (guestfs_h *g, const char *key);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2914
msgid ""
"This function returns C<NULL> if either no data is found associated with "
"C<key>, or if the user previously set the C<key>’s C<data> pointer to "
"C<NULL>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:2918
msgid ""
"Libguestfs does not try to look at or interpret the C<data> pointer in any "
"way.  As far as libguestfs is concerned, it need not be a valid pointer at "
"all.  In particular, libguestfs does I<not> try to free the data when the "
"handle is closed.  If the data must be freed, then the caller must either "
"free it before calling L</guestfs_close> or must set up a close callback to "
"do it (see L</GUESTFS_EVENT_CLOSE>)."
msgstr ""
"Libguestfs does not try to look at or interpret the C<data> pointer in any "
"way.  As far as libguestfs is concerned, it need not be a valid pointer at "
"all.  In particular, libguestfs does I<not> try to free the data when the "
"handle is closed.  If the data must be freed, then the caller must either "
"free it before calling L</guestfs_close> or must set up a close callback to "
"do it (see L</GUESTFS_EVENT_CLOSE>)."

#. type: textblock
#: ../lib/guestfs.pod:2925
msgid "To walk over all entries, use these two functions:"
msgstr "To walk over all entries, use these two functions:"

#. type: verbatim
#: ../lib/guestfs.pod:2927
#, no-wrap
msgid ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
"\n"
msgstr ""
" void *guestfs_first_private (guestfs_h *g, const char **key_rtn);\n"
"\n"

#. type: verbatim
#: ../lib/guestfs.pod:2929
#, no-wrap
msgid ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
"\n"
msgstr ""
" void *guestfs_next_private (guestfs_h *g, const char **key_rtn);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2931
msgid ""
"C<guestfs_first_private> returns the first key, pointer pair (\"first\" does "
"not have any particular meaning -- keys are not returned in any defined "
"order).  A pointer to the key is returned in C<*key_rtn> and the "
"corresponding data pointer is returned from the function.  C<NULL> is "
"returned if there are no keys stored in the handle."
msgstr ""
"C<guestfs_first_private> returns the first key, pointer pair (\"first\" does "
"not have any particular meaning -- keys are not returned in any defined "
"order).  A pointer to the key is returned in C<*key_rtn> and the "
"corresponding data pointer is returned from the function.  C<NULL> is "
"returned if there are no keys stored in the handle."

#. type: textblock
#: ../lib/guestfs.pod:2937
msgid ""
"C<guestfs_next_private> returns the next key, pointer pair.  The return "
"value of this function is C<NULL> if there are no further entries to return."
msgstr ""
"C<guestfs_next_private> returns the next key, pointer pair.  The return "
"value of this function is C<NULL> if there are no further entries to return."

#. type: textblock
#: ../lib/guestfs.pod:2941
msgid "Notes about walking over entries:"
msgstr "Notes about walking over entries:"

#. type: textblock
#: ../lib/guestfs.pod:2947
msgid ""
"You must not call C<guestfs_set_private> while walking over the entries."
msgstr ""
"You must not call C<guestfs_set_private> while walking over the entries."

#. type: textblock
#: ../lib/guestfs.pod:2952
msgid ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>.  This internal iterator is invalidated when you "
"call C<guestfs_set_private>."
msgstr ""
"The handle maintains an internal iterator which is reset when you call "
"C<guestfs_first_private>.  This internal iterator is invalidated when you "
"call C<guestfs_set_private>."

#. type: textblock
#: ../lib/guestfs.pod:2958
msgid "If you have set the data pointer associated with a key to C<NULL>, ie:"
msgstr "If you have set the data pointer associated with a key to C<NULL>, ie:"

#. type: verbatim
#: ../lib/guestfs.pod:2960
#, no-wrap
msgid ""
" guestfs_set_private (g, key, NULL);\n"
"\n"
msgstr ""
" guestfs_set_private (g, key, NULL);\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2962
msgid "then that C<key> is not returned when walking."
msgstr "then that C<key> is not returned when walking."

#. type: textblock
#: ../lib/guestfs.pod:2966
msgid ""
"C<*key_rtn> is only valid until the next call to C<guestfs_first_private>, "
"C<guestfs_next_private> or C<guestfs_set_private>."
msgstr ""
"C<*key_rtn> is only valid until the next call to C<guestfs_first_private>, "
"C<guestfs_next_private> or C<guestfs_set_private>."

#. type: textblock
#: ../lib/guestfs.pod:2972
msgid ""
"The following example code shows how to print all keys and data pointers "
"that are associated with the handle C<g>:"
msgstr ""
"The following example code shows how to print all keys and data pointers "
"that are associated with the handle C<g>:"

#. type: verbatim
#: ../lib/guestfs.pod:2975
#, no-wrap
msgid ""
" const char *key;\n"
" void *data = guestfs_first_private (g, &key);\n"
" while (data != NULL)\n"
"   {\n"
"     printf (\"key = %s, data = %p\\n\", key, data);\n"
"     data = guestfs_next_private (g, &key);\n"
"   }\n"
"\n"
msgstr ""
" const char *key;\n"
" void *data = guestfs_first_private (g, &key);\n"
" while (data != NULL)\n"
"   {\n"
"     printf (\"key = %s, data = %p\\n\", key, data);\n"
"     data = guestfs_next_private (g, &key);\n"
"   }\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2983
msgid ""
"More commonly you are only interested in keys that begin with an application-"
"specific prefix C<foo_>.  Modify the loop like so:"
msgstr ""
"More commonly you are only interested in keys that begin with an application-"
"specific prefix C<foo_>.  Modify the loop like so:"

#. type: verbatim
#: ../lib/guestfs.pod:2986
#, no-wrap
msgid ""
" const char *key;\n"
" void *data = guestfs_first_private (g, &key);\n"
" while (data != NULL)\n"
"   {\n"
"     if (strncmp (key, \"foo_\", strlen (\"foo_\")) == 0)\n"
"       printf (\"key = %s, data = %p\\n\", key, data);\n"
"     data = guestfs_next_private (g, &key);\n"
"   }\n"
"\n"
msgstr ""
" const char *key;\n"
" void *data = guestfs_first_private (g, &key);\n"
" while (data != NULL)\n"
"   {\n"
"     if (strncmp (key, \"foo_\", strlen (\"foo_\")) == 0)\n"
"       printf (\"key = %s, data = %p\\n\", key, data);\n"
"     data = guestfs_next_private (g, &key);\n"
"   }\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:2995
msgid ""
"If you need to modify keys while walking, then you have to jump back to the "
"beginning of the loop.  For example, to delete all keys prefixed with "
"C<foo_>:"
msgstr ""
"If you need to modify keys while walking, then you have to jump back to the "
"beginning of the loop.  For example, to delete all keys prefixed with "
"C<foo_>:"

#. type: verbatim
#: ../lib/guestfs.pod:2999
#, no-wrap
msgid ""
"  const char *key;\n"
"  void *data;\n"
" again:\n"
"  data = guestfs_first_private (g, &key);\n"
"  while (data != NULL)\n"
"    {\n"
"      if (strncmp (key, \"foo_\", strlen (\"foo_\")) == 0)\n"
"        {\n"
"          guestfs_set_private (g, key, NULL);\n"
"          /* note that 'key' pointer is now invalid, and so is\n"
"             the internal iterator */\n"
"          goto again;\n"
"        }\n"
"      data = guestfs_next_private (g, &key);\n"
"    }\n"
"\n"
msgstr ""
"  const char *key;\n"
"  void *data;\n"
" again:\n"
"  data = guestfs_first_private (g, &key);\n"
"  while (data != NULL)\n"
"    {\n"
"      if (strncmp (key, \"foo_\", strlen (\"foo_\")) == 0)\n"
"        {\n"
"          guestfs_set_private (g, key, NULL);\n"
"          /* note that 'key' pointer is now invalid, and so is\n"
"             the internal iterator */\n"
"          goto again;\n"
"        }\n"
"      data = guestfs_next_private (g, &key);\n"
"    }\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:3015
msgid ""
"Note that the above loop is guaranteed to terminate because the keys are "
"being deleted, but other manipulations of keys within the loop might not "
"terminate unless you also maintain an indication of which keys have been "
"visited."
msgstr ""
"Note that the above loop is guaranteed to terminate because the keys are "
"being deleted, but other manipulations of keys within the loop might not "
"terminate unless you also maintain an indication of which keys have been "
"visited."

#. type: =head1
#: ../lib/guestfs.pod:3020
msgid "SYSTEMTAP"
msgstr "SYSTEMTAP"

#. type: textblock
#: ../lib/guestfs.pod:3022
msgid ""
"The libguestfs C library can be probed using systemtap or DTrace.  This is "
"true of any library, not just libguestfs.  However libguestfs also contains "
"static markers to help in probing internal operations."
msgstr ""
"The libguestfs C library can be probed using systemtap or DTrace.  This is "
"true of any library, not just libguestfs.  However libguestfs also contains "
"static markers to help in probing internal operations."

#. type: textblock
#: ../lib/guestfs.pod:3026
msgid "You can list all the static markers by doing:"
msgstr "You can list all the static markers by doing:"

#. type: verbatim
#: ../lib/guestfs.pod:3028
#, no-wrap
msgid ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
"              .provider(\"guestfs\").mark(\"*\")'\n"
"\n"
msgstr ""
" stap -l 'process(\"/usr/lib*/libguestfs.so.0\")\n"
"              .provider(\"guestfs\").mark(\"*\")'\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:3031
msgid ""
"B<Note:> These static markers are I<not> part of the stable API and may "
"change in future versions."
msgstr ""
"B<Note:> These static markers are I<not> part of the stable API and may "
"change in future versions."

#. type: =head2
#: ../lib/guestfs.pod:3034
msgid "SYSTEMTAP SCRIPT EXAMPLE"
msgstr "SYSTEMTAP SCRIPT EXAMPLE"

#. type: textblock
#: ../lib/guestfs.pod:3036
msgid ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"
msgstr ""
"This script contains examples of displaying both the static markers and some "
"ordinary C entry points:"

#. type: verbatim
#: ../lib/guestfs.pod:3063
#, no-wrap
msgid ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
" probe process(\"/usr/lib*/libguestfs.so.0\")\n"
"           .function(\"guestfs_mkfs*\") ? {\n"
"       display_time();\n"
"       printf (\"\\t%s %s\\n\", probefunc(), $$parms);\n"
" }\n"
"\n"
msgstr ""
" /* Display all calls to guestfs_mkfs* functions. */\n"
" probe process(\"/usr/lib*/libguestfs.so.0\")\n"
"           .function(\"guestfs_mkfs*\") ? {\n"
"       display_time();\n"
"       printf (\"\\t%s %s\\n\", probefunc(), $$parms);\n"
" }\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:3070
msgid ""
"The script above can be saved to F<test.stap> and run using the L<stap(1)> "
"program.  Note that you either have to be root, or you have to add yourself "
"to several special stap groups.  Consult the systemtap documentation for "
"more information."
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:3075
#, no-wrap
msgid ""
" # stap /tmp/test.stap\n"
" ready\n"
"\n"
msgstr ""
" # stap /tmp/test.stap\n"
" ready\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:3078
msgid "In another terminal, run a guestfish command such as this:"
msgstr "In another terminal, run a guestfish command such as this:"

#. type: textblock
#: ../lib/guestfs.pod:3082
msgid "In the first terminal, stap trace output similar to this is shown:"
msgstr "In the first terminal, stap trace output similar to this is shown:"

#. type: verbatim
#: ../lib/guestfs.pod:3084
#, no-wrap
msgid ""
" 1318248056692655 (+0):\tlaunch_start\n"
" 1318248056692850 (+195):       launch_build_appliance_start\n"
" 1318248056818285 (+125435):    launch_build_appliance_end\n"
" 1318248056838059 (+19774):     launch_run_qemu\n"
" 1318248061071167 (+4233108):   launch_end\n"
" 1318248061280324 (+209157):    guestfs_mkfs g=0x1024ab0 fstype=0x46116f device=0x1024e60\n"
"\n"
msgstr ""
" 1318248056692655 (+0):\tlaunch_start\n"
" 1318248056692850 (+195):       launch_build_appliance_start\n"
" 1318248056818285 (+125435):    launch_build_appliance_end\n"
" 1318248056838059 (+19774):     launch_run_qemu\n"
" 1318248061071167 (+4233108):   launch_end\n"
" 1318248061280324 (+209157):    guestfs_mkfs g=0x1024ab0 fstype=0x46116f device=0x1024e60\n"
"\n"

#. type: =head1
#: ../lib/guestfs.pod:3091
msgid "LIBGUESTFS VERSION NUMBERS"
msgstr "LIBGUESTFS VERSION NUMBERS"

#. type: textblock
#: ../lib/guestfs.pod:3093
msgid ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository.  "
"These separate releases can be identified by version number:"
msgstr ""
"Since April 2010, libguestfs has started to make separate development and "
"stable releases, along with corresponding branches in our git repository.  "
"These separate releases can be identified by version number:"

#. type: verbatim
#: ../lib/guestfs.pod:3098
#, no-wrap
msgid ""
"                 even numbers for stable: 1.2.x, 1.4.x, ...\n"
"       .-------- odd numbers for development: 1.3.x, 1.5.x, ...\n"
"       |\n"
"       v\n"
" 1  .  3  .  5\n"
" ^           ^\n"
" |           |\n"
" |           `-------- sub-version\n"
" |\n"
" `------ always '1' because we don't change the ABI\n"
"\n"
msgstr ""
"                 even numbers for stable: 1.2.x, 1.4.x, ...\n"
"       .-------- odd numbers for development: 1.3.x, 1.5.x, ...\n"
"       |\n"
"       v\n"
" 1  .  3  .  5\n"
" ^           ^\n"
" |           |\n"
" |           `-------- sub-version\n"
" |\n"
" `------ always '1' because we don't change the ABI\n"
"\n"

#. type: textblock
#: ../lib/guestfs.pod:3109
msgid "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."
msgstr "Thus \"1.3.5\" is the 5th update to the development branch \"1.3\"."

#. type: textblock
#: ../lib/guestfs.pod:3111
msgid ""
"As time passes we cherry pick fixes from the development branch and backport "
"those into the stable branch, the effect being that the stable branch should "
"get more stable and less buggy over time.  So the stable releases are ideal "
"for people who don't need new features but would just like the software to "
"work."
msgstr ""
"As time passes we cherry pick fixes from the development branch and backport "
"those into the stable branch, the effect being that the stable branch should "
"get more stable and less buggy over time.  So the stable releases are ideal "
"for people who don't need new features but would just like the software to "
"work."

#. type: textblock
#: ../lib/guestfs.pod:3117
msgid "Our criteria for backporting changes are:"
msgstr "Our criteria for backporting changes are:"

#. type: textblock
#: ../lib/guestfs.pod:3123
msgid ""
"Documentation changes which don’t affect any code are backported unless the "
"documentation refers to a future feature which is not in stable."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3129
msgid ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."
msgstr ""
"Bug fixes which are not controversial, fix obvious problems, and have been "
"well tested are backported."

#. type: textblock
#: ../lib/guestfs.pod:3134
msgid ""
"Simple rearrangements of code which shouldn't affect how it works get "
"backported.  This is so that the code in the two branches doesn't get too "
"far out of step, allowing us to backport future fixes more easily."
msgstr ""
"Simple rearrangements of code which shouldn't affect how it works get "
"backported.  This is so that the code in the two branches doesn't get too "
"far out of step, allowing us to backport future fixes more easily."

#. type: textblock
#: ../lib/guestfs.pod:3140
msgid ""
"We I<don’t> backport new features, new APIs, new tools etc, except in one "
"exceptional case: the new feature is required in order to implement an "
"important bug fix."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3146
msgid ""
"A new stable branch starts when we think the new features in development are "
"substantial and compelling enough over the current stable branch to warrant "
"it.  When that happens we create new stable and development versions 1.N.0 "
"and 1.(N+1).0 [N is even].  The new dot-oh release won't necessarily be so "
"stable at this point, but by backporting fixes from development, that branch "
"will stabilize over time."
msgstr ""
"A new stable branch starts when we think the new features in development are "
"substantial and compelling enough over the current stable branch to warrant "
"it.  When that happens we create new stable and development versions 1.N.0 "
"and 1.(N+1).0 [N is even].  The new dot-oh release won't necessarily be so "
"stable at this point, but by backporting fixes from development, that branch "
"will stabilise over time."

#. type: =head1
#: ../lib/guestfs.pod:3154
msgid "LIMITS"
msgstr "LIMITS"

#. type: =head2
#: ../lib/guestfs.pod:3156
msgid "PROTOCOL LIMITS"
msgstr "PROTOCOL LIMITS"

#. type: textblock
#: ../lib/guestfs.pod:3158
msgid ""
"Internally libguestfs uses a message-based protocol to pass API calls and "
"their responses to and from a small \"appliance\" (see L<guestfs-"
"internals(1)> for plenty more detail about this).  The maximum message size "
"used by the protocol is slightly less than 4 MB.  For some API calls you may "
"need to be aware of this limit.  The API calls which may be affected are "
"individually documented, with a link back to this section of the "
"documentation."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3166
msgid ""
"In libguestfs E<lt> 1.19.32, several calls had to encode either their entire "
"argument list or their entire return value (or sometimes both)  in a single "
"protocol message, and this gave them an arbitrary limitation on how much "
"data they could handle.  For example, L</guestfs_cat> could only download a "
"file if it was less than around 4 MB in size.  In later versions of "
"libguestfs, some of these limits have been removed.  The APIs which were "
"previously limited but are now unlimited (except perhaps by available "
"memory) are listed below.  To find out if a specific API is subject to "
"protocol limits, check for the warning in the API documentation which links "
"to this section, and remember to check the version of the documentation that "
"matches the version of libguestfs you are using."
msgstr ""
"In libguestfs E<lt> 1.19.32, several calls had to encode either their entire "
"argument list or their entire return value (or sometimes both)  in a single "
"protocol message, and this gave them an arbitrary limitation on how much "
"data they could handle.  For example, L</guestfs_cat> could only download a "
"file if it was less than around 4 MB in size.  In later versions of "
"libguestfs, some of these limits have been removed.  The APIs which were "
"previously limited but are now unlimited (except perhaps by available "
"memory) are listed below.  To find out if a specific API is subject to "
"protocol limits, check for the warning in the API documentation which links "
"to this section, and remember to check the version of the documentation that "
"matches the version of libguestfs you are using."

#. type: textblock
#: ../lib/guestfs.pod:3179
msgid ""
"L</guestfs_cat>, L</guestfs_find>, L</guestfs_read_file>, L</"
"guestfs_read_lines>, L</guestfs_write>, L</guestfs_write_append>, L</"
"guestfs_lstatlist>, L</guestfs_lxattrlist>, L</guestfs_readlinklist>, L</"
"guestfs_ls>."
msgstr ""
"L</guestfs_cat>, L</guestfs_find>, L</guestfs_read_file>, L</"
"guestfs_read_lines>, L</guestfs_write>, L</guestfs_write_append>, L</"
"guestfs_lstatlist>, L</guestfs_lxattrlist>, L</guestfs_readlinklist>, L</"
"guestfs_ls>."

#. type: textblock
#: ../lib/guestfs.pod:3184
msgid ""
"See also L</UPLOADING> and L</DOWNLOADING> for further information about "
"copying large amounts of data into or out of a filesystem."
msgstr ""
"See also L</UPLOADING> and L</DOWNLOADING> for further information about "
"copying large amounts of data into or out of a filesystem."

#. type: =head2
#: ../lib/guestfs.pod:3187
msgid "MAXIMUM NUMBER OF DISKS"
msgstr "MAXIMUM NUMBER OF DISKS"

#. type: textblock
#: ../lib/guestfs.pod:3189
msgid ""
"In libguestfs E<ge> 1.19.7, you can query the maximum number of disks that "
"may be added by calling L</guestfs_max_disks>.  In earlier versions of "
"libguestfs (ie. where this call is not available) you should assume the "
"maximum is 25."
msgstr ""
"In libguestfs E<ge> 1.19.7, you can query the maximum number of disks that "
"may be added by calling L</guestfs_max_disks>.  In earlier versions of "
"libguestfs (ie. where this call is not available) you should assume the "
"maximum is 25."

#. type: textblock
#: ../lib/guestfs.pod:3194
msgid ""
"The rest of this section covers implementation details, which could change "
"in future."
msgstr ""
"The rest of this section covers implementation details, which could change "
"in future."

#. type: textblock
#: ../lib/guestfs.pod:3197
msgid ""
"When using virtio-scsi disks (the default if available in qemu) the current "
"limit is B<255> disks.  When using virtio-blk (the old default) the limit is "
"around B<27> disks, but may vary according to implementation details and "
"whether the network is enabled."
msgstr ""
"When using virtio-scsi disks (the default if available in qemu) the current "
"limit is B<255> disks.  When using virtio-blk (the old default) the limit is "
"around B<27> disks, but may vary according to implementation details and "
"whether the network is enabled."

#. type: textblock
#: ../lib/guestfs.pod:3202
msgid ""
"Virtio-scsi as used by libguestfs is configured to use one target per disk, "
"and 256 targets are available."
msgstr ""
"Virtio-scsi as used by libguestfs is configured to use one target per disk, "
"and 256 targets are available."

#. type: textblock
#: ../lib/guestfs.pod:3205
msgid ""
"Virtio-blk consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots, but some of these are used for other purposes."
msgstr ""
"Virtio-blk consumes 1 virtual PCI slot per disk, and PCI is limited to 31 "
"slots, but some of these are used for other purposes."

#. type: textblock
#: ../lib/guestfs.pod:3208
msgid "One virtual disk is used by libguestfs internally."
msgstr "One virtual disk is used by libguestfs internally."

#. type: textblock
#: ../lib/guestfs.pod:3210
msgid ""
"Before libguestfs 1.19.7, disk names had to be a single character (eg. F</"
"dev/sda> through F</dev/sdz>), and since one disk is reserved, that meant "
"the limit was 25.  This has been fixed in more recent versions."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3215
msgid ""
"In libguestfs E<ge> 1.20 it is possible to hot plug disks.  See L</"
"HOTPLUGGING>."
msgstr ""
"In libguestfs E<ge> 1.20 it is possible to hot plug disks.  See L</"
"HOTPLUGGING>."

#. type: =head2
#: ../lib/guestfs.pod:3218
msgid "MAXIMUM NUMBER OF PARTITIONS PER DISK"
msgstr "MAXIMUM NUMBER OF PARTITIONS PER DISK"

#. type: textblock
#: ../lib/guestfs.pod:3220
msgid "Virtio limits the maximum number of partitions per disk to B<15>."
msgstr "Virtio limits the maximum number of partitions per disk to B<15>."

#. type: textblock
#: ../lib/guestfs.pod:3222
msgid ""
"This is because it reserves 4 bits for the minor device number (thus F</dev/"
"vda>, and F</dev/vda1> through F</dev/vda15>)."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3225
msgid ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."
msgstr ""
"If you attach a disk with more than 15 partitions, the extra partitions are "
"ignored by libguestfs."

#. type: =head2
#: ../lib/guestfs.pod:3228
msgid "MAXIMUM SIZE OF A DISK"
msgstr "MAXIMUM SIZE OF A DISK"

#. type: textblock
#: ../lib/guestfs.pod:3230
msgid "Probably the limit is between 2**63-1 and 2**64-1 bytes."
msgstr "Probably the limit is between 2**63-1 and 2**64-1 bytes."

#. type: textblock
#: ../lib/guestfs.pod:3232
msgid ""
"We have tested block devices up to 1 exabyte (2**60 or "
"1,152,921,504,606,846,976 bytes) using sparse files backed by an XFS host "
"filesystem."
msgstr ""
"We have tested block devices up to 1 exabyte (2**60 or "
"1,152,921,504,606,846,976 bytes) using sparse files backed by an XFS host "
"filesystem."

#. type: textblock
#: ../lib/guestfs.pod:3236
msgid ""
"Although libguestfs probably does not impose any limit, the underlying host "
"storage will.  If you store disk images on a host ext4 filesystem, then the "
"maximum size will be limited by the maximum ext4 file size (currently 16 "
"TB).  If you store disk images as host logical volumes then you are limited "
"by the maximum size of an LV."
msgstr ""
"Although libguestfs probably does not impose any limit, the underlying host "
"storage will.  If you store disk images on a host ext4 filesystem, then the "
"maximum size will be limited by the maximum ext4 file size (currently 16 "
"TB).  If you store disk images as host logical volumes then you are limited "
"by the maximum size of an LV."

#. type: textblock
#: ../lib/guestfs.pod:3242
msgid ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."
msgstr ""
"For the hugest disk image files, we recommend using XFS on the host for "
"storage."

#. type: =head2
#: ../lib/guestfs.pod:3245
msgid "MAXIMUM SIZE OF A PARTITION"
msgstr "MAXIMUM SIZE OF A PARTITION"

#. type: textblock
#: ../lib/guestfs.pod:3247
msgid ""
"The MBR (ie. classic MS-DOS) partitioning scheme uses 32 bit sector "
"numbers.  Assuming a 512 byte sector size, this means that MBR cannot "
"address a partition located beyond 2 TB on the disk."
msgstr ""
"The MBR (ie. classic MS-DOS) partitioning scheme uses 32 bit sector "
"numbers.  Assuming a 512 byte sector size, this means that MBR cannot "
"address a partition located beyond 2 TB on the disk."

#. type: textblock
#: ../lib/guestfs.pod:3251
msgid ""
"It is recommended that you use GPT partitions on disks which are larger than "
"this size.  GPT uses 64 bit sector numbers and so can address partitions "
"which are theoretically larger than the largest disk we could support."
msgstr ""
"It is recommended that you use GPT partitions on disks which are larger than "
"this size.  GPT uses 64 bit sector numbers and so can address partitions "
"which are theoretically larger than the largest disk we could support."

#. type: =head2
#: ../lib/guestfs.pod:3256
msgid "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"
msgstr "MAXIMUM SIZE OF A FILESYSTEM, FILES, DIRECTORIES"

#. type: textblock
#: ../lib/guestfs.pod:3258
msgid ""
"This depends on the filesystem type.  libguestfs itself does not impose any "
"known limit.  Consult Wikipedia or the filesystem documentation to find out "
"what these limits are."
msgstr ""
"This depends on the filesystem type.  libguestfs itself does not impose any "
"known limit.  Consult Wikipedia or the filesystem documentation to find out "
"what these limits are."

#. type: =head2
#: ../lib/guestfs.pod:3262
msgid "MAXIMUM UPLOAD AND DOWNLOAD"
msgstr "MAXIMUM UPLOAD AND DOWNLOAD"

#. type: textblock
#: ../lib/guestfs.pod:3264
msgid ""
"The API functions L</guestfs_upload>, L</guestfs_download>, L</"
"guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
"uploads and downloads."
msgstr ""
"The API functions L</guestfs_upload>, L</guestfs_download>, L</"
"guestfs_tar_in>, L</guestfs_tar_out> and the like allow unlimited sized "
"uploads and downloads."

#. type: =head2
#: ../lib/guestfs.pod:3268
msgid "INSPECTION LIMITS"
msgstr "INSPECTION LIMITS"

#. type: textblock
#: ../lib/guestfs.pod:3270
msgid ""
"The inspection code has several arbitrary limits on things like the size of "
"Windows Registry hive it will read, and the length of product name.  These "
"are intended to stop a malicious guest from consuming arbitrary amounts of "
"memory and disk space on the host, and should not be reached in practice.  "
"See the source code for more information."
msgstr ""
"The inspection code has several arbitrary limits on things like the size of "
"Windows Registry hive it will read, and the length of product name.  These "
"are intended to stop a malicious guest from consuming arbitrary amounts of "
"memory and disk space on the host, and should not be reached in practice.  "
"See the source code for more information."

#. type: =head1
#: ../lib/guestfs.pod:3276
msgid "ADVANCED MACHINE READABLE OUTPUT"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3278
msgid ""
"Some of the tools support a I<--machine-readable> option, which is generally "
"used to make the output more machine friendly, for easier parsing for "
"example.  By default, this output goes to stdout."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3282
msgid ""
"When using the I<--machine-readable> option, the progress, information, "
"warning, and error messages are also printed in JSON format for easier log "
"tracking.  Thus, it is highly recommended to redirect the machine-readable "
"output to a different stream.  The format of these JSON messages is like the "
"following (actually printed within a single line, below it is indented for "
"readability):"
msgstr ""

#. type: verbatim
#: ../lib/guestfs.pod:3289
#, no-wrap
msgid ""
" {\n"
"   \"message\": \"Finishing off\",\n"
"   \"timestamp\": \"2019-03-22T14:46:49.067294446+01:00\",\n"
"   \"type\": \"message\"\n"
" }\n"
"\n"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3295
msgid ""
"C<type> can be: C<message> for progress messages, C<info> for information "
"messages, C<warning> for warning messages, and C<error> for error message.  "
"C<timestamp> is the L<RFC 3339|https://www.ietf.org/rfc/rfc3339.txt> "
"timestamp of the message."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3301
msgid ""
"In addition to that, a subset of these tools support an extra string passed "
"to the I<--machine-readable> option: this string specifies where the machine-"
"readable output will go."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3305
msgid "The possible values are:"
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:3309
msgid "B<fd:>I<fd>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3311
msgid ""
"The output goes to the specified I<fd>, which is a file descriptor already "
"opened for writing."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:3314
msgid "B<file:>F<filename>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3316
msgid "The output goes to the specified F<filename>."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:3318
msgid "B<stream:stdout>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3320
msgid ""
"The output goes to stdout.  This is basically the same as the default "
"behaviour of I<--machine-readable> with no parameter, although stdout as "
"output is specified explicitly."
msgstr ""

#. type: =item
#: ../lib/guestfs.pod:3324
msgid "B<stream:stderr>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3326
msgid "The output goes to stderr."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3344
msgid ""
"Choose the default way to create the appliance.  See L</guestfs_set_backend> "
"and L</BACKEND>."
msgstr ""
"Choose the default way to create the appliance.  See L</guestfs_set_backend> "
"and L</BACKEND>."

#. type: textblock
#: ../lib/guestfs.pod:3349
msgid ""
"A colon-separated list of backend-specific settings.  See L</BACKEND>, L</"
"BACKEND SETTINGS>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3361
msgid "See also L</LIBGUESTFS_TMPDIR>, L</guestfs_set_cachedir>."
msgstr "See also L</LIBGUESTFS_TMPDIR>, L</guestfs_set_cachedir>."

#. type: textblock
#: ../lib/guestfs.pod:3365
msgid ""
"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
"effect as calling C<guestfs_set_verbose (g, 1)>."
msgstr ""
"Set C<LIBGUESTFS_DEBUG=1> to enable verbose messages.  This has the same "
"effect as calling C<guestfs_set_verbose (g, 1)>."

#. type: textblock
#: ../lib/guestfs.pod:3374
msgid "See also L</QEMU WRAPPERS> above."
msgstr "See also L</QEMU WRAPPERS> above."

#. type: textblock
#: ../lib/guestfs.pod:3385
msgid ""
"Set the path that libguestfs uses to search for a supermin appliance.  See "
"the discussion of paths in section L</PATH> above."
msgstr ""
"Set the path that libguestfs uses to search for a supermin appliance.  See "
"the discussion of paths in section L</PATH> above."

#. type: textblock
#: ../lib/guestfs.pod:3400
msgid "See also L</LIBGUESTFS_CACHEDIR>, L</guestfs_set_tmpdir>."
msgstr "See also L</LIBGUESTFS_CACHEDIR>, L</guestfs_set_tmpdir>."

#. type: textblock
#: ../lib/guestfs.pod:3404
msgid ""
"Set C<LIBGUESTFS_TRACE=1> to enable command traces.  This has the same "
"effect as calling C<guestfs_set_trace (g, 1)>."
msgstr ""
"Set C<LIBGUESTFS_TRACE=1> to enable command traces.  This has the same "
"effect as calling C<guestfs_set_trace (g, 1)>."

#. type: textblock
#: ../lib/guestfs.pod:3409
msgid ""
"Libguestfs may run some external programs, and relies on C<$PATH> being set "
"to a reasonable value.  If using the libvirt backend, libvirt will not work "
"at all unless C<$PATH> contains the path of qemu/KVM.  Note that PHP by "
"default removes C<$PATH> from the environment which tends to break "
"everything."
msgstr ""
"Libguestfs may run some external programs, and relies on C<$PATH> being set "
"to a reasonable value.  If using the libvirt backend, libvirt will not work "
"at all unless C<$PATH> contains the path of qemu/KVM.  Note that PHP by "
"default removes C<$PATH> from the environment which tends to break "
"everything."

#. type: textblock
#: ../lib/guestfs.pod:3445
msgid "Examples written in C: L<guestfs-examples(3)>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3448
msgid ""
"Language bindings: L<guestfs-erlang(3)>, L<guestfs-gobject(3)>, L<guestfs-"
"golang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, L<guestfs-ocaml(3)>, "
"L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-ruby(3)>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3459
msgid ""
"Tools: L<guestfish(1)>, L<guestmount(1)>, L<virt-alignment-scan(1)>, L<virt-"
"builder(1)>, L<virt-builder-repository(1)>, L<virt-cat(1)>, L<virt-copy-"
"in(1)>, L<virt-copy-out(1)>, L<virt-customize(1)>, L<virt-df(1)>, L<virt-"
"diff(1)>, L<virt-edit(1)>, L<virt-filesystems(1)>, L<virt-format(1)>, L<virt-"
"inspector(1)>, L<virt-list-filesystems(1)>, L<virt-list-partitions(1)>, "
"L<virt-log(1)>, L<virt-ls(1)>, L<virt-make-fs(1)>, L<virt-p2v(1)>, L<virt-"
"rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, L<virt-sysprep(1)>, "
"L<virt-tail(1)>, L<virt-tar(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, "
"L<virt-v2v(1)>, L<virt-win-reg(1)>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3492
msgid ""
"Other libguestfs topics: L<guestfs-building(1)>, L<guestfs-faq(1)>, "
"L<guestfs-hacking(1)>, L<guestfs-internals(1)>, L<guestfs-performance(1)>, "
"L<guestfs-release-notes(1)>, L<guestfs-security(1)>, L<guestfs-testing(1)>, "
"L<libguestfs-test-tool(1)>, L<libguestfs-make-fixed-appliance(1)>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3504
msgid ""
"Related manual pages: L<supermin(1)>, L<qemu(1)>, L<hivex(3)>, L<stap(1)>, "
"L<sd-journal(3)>."
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3511
msgid "Website: L<http://libguestfs.org/>"
msgstr ""

#. type: textblock
#: ../lib/guestfs.pod:3514
msgid ""
"Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, "
"L<lvm(8)>, L<disktype(1)>."
msgstr ""
"Tools with a similar purpose: L<fdisk(8)>, L<parted(8)>, L<kpartx(8)>, "
"L<lvm(8)>, L<disktype(1)>."

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:3
msgid "guestfs-lua - How to use libguestfs from Lua"
msgstr "guestfs-lua - How to use libguestfs from Lua"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:7
#, no-wrap
msgid ""
" local G = require \"guestfs\"\n"
" g = G.create ()\n"
" g:add_drive (\"test.img\", { format = \"raw\", readonly = true })\n"
" g:launch ()\n"
" devices = g:list_devices ()\n"
" g:close ()\n"
"\n"
msgstr ""
" local G = require \"guestfs\"\n"
" g = G.create ()\n"
" g:add_drive (\"test.img\", { format = \"raw\", readonly = true })\n"
" g:launch ()\n"
" devices = g:list_devices ()\n"
" g:close ()\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:16
msgid ""
"This manual page documents how to call libguestfs from the Lua 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 ""
"This manual page documents how to call libguestfs from the Lua 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)>."

#. type: =head2
#: ../lua/examples/guestfs-lua.pod:21
msgid "REQUIRING THE MODULE"
msgstr "REQUIRING THE MODULE"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:23
msgid ""
"C<require \"guestfs\"> returns the module, so you have to assign it to a "
"local variable.  Typical usage is:"
msgstr ""
"C<require \"guestfs\"> returns the module, so you have to assign it to a "
"local variable.  Typical usage is:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:26
#, no-wrap
msgid ""
" local G = require \"guestfs\"\n"
"\n"
msgstr ""
" local G = require \"guestfs\"\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:28
msgid ""
"(you can use any name you want instead of C<G>, but in the examples in this "
"man page we always use C<G>)."
msgstr ""
"(you can use any name you want instead of C<G>, but in the examples in this "
"man page we always use C<G>)."

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:33
msgid "To create a new handle, call:"
msgstr "To create a new handle, call:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:35
#, no-wrap
msgid ""
" g = G.create ()\n"
"\n"
msgstr ""
" g = G.create ()\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:37
msgid "You can also use the optional arguments:"
msgstr "You can also use the optional arguments:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:39
#, no-wrap
msgid ""
" g = G.create { environment = 0, close_on_exit = 0 }\n"
"\n"
msgstr ""
" g = G.create { environment = 0, close_on_exit = 0 }\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:41
msgid ""
"to set the flags C<GUESTFS_CREATE_NO_ENVIRONMENT> and/or "
"C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>."
msgstr ""
"to set the flags C<GUESTFS_CREATE_NO_ENVIRONMENT> and/or "
"C<GUESTFS_CREATE_NO_CLOSE_ON_EXIT>."

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:44
msgid ""
"The handle will be closed by the garbage collector, but you can also close "
"it explicitly by doing:"
msgstr ""
"The handle will be closed by the garbage collector, but you can also close "
"it explicitly by doing:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:47
#, no-wrap
msgid ""
" g:close ()\n"
"\n"
msgstr ""
" g:close ()\n"
"\n"

#. type: =head2
#: ../lua/examples/guestfs-lua.pod:49
msgid "CALLING METHODS"
msgstr "CALLING METHODS"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:51
msgid ""
"Use the ordinary Lua convention for calling methods on the handle.  For "
"example:"
msgstr ""
"Use the ordinary Lua convention for calling methods on the handle.  For "
"example:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:54
#, no-wrap
msgid ""
" g:set_verbose (true)\n"
"\n"
msgstr ""
" g:set_verbose (true)\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:58
msgid ""
"For functions that take optional arguments, the first arguments are the non-"
"optional ones.  The optional final argument is a table supplying the "
"optional arguments."
msgstr ""
"For functions that take optional arguments, the first arguments are the non-"
"optional ones.  The optional final argument is a table supplying the "
"optional arguments."

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:62
#, no-wrap
msgid ""
" g:add_drive (\"test.img\")\n"
"\n"
msgstr ""
" g:add_drive (\"test.img\")\n"
"\n"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:66
#, no-wrap
msgid ""
" g:add_drive (\"test.img\", { format = \"raw\", readonly = true })\n"
"\n"
msgstr ""
" g:add_drive (\"test.img\", { format = \"raw\", readonly = true })\n"
"\n"

#. type: =head2
#: ../lua/examples/guestfs-lua.pod:68
msgid "64 BIT VALUES"
msgstr "64 BIT VALUES"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:70
msgid ""
"Currently 64 bit values must be passed as strings, and are returned as "
"strings.  This is because 32 bit Lua cannot handle 64 bit integers "
"properly.  We hope to come up with a better solution later."
msgstr ""
"Currently 64 bit values must be passed as strings, and are returned as "
"strings.  This is because 32 bit Lua cannot handle 64 bit integers "
"properly.  We hope to come up with a better solution later."

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:76
msgid ""
"Most (but not all) errors are converted into objects (ie. tables)  "
"containing the following fields:"
msgstr ""
"Most (but not all) errors are converted into objects (ie. tables)  "
"containing the following fields:"

#. type: =item
#: ../lua/examples/guestfs-lua.pod:81
msgid "msg"
msgstr "msg"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:83
msgid "The error message (corresponding to L<guestfs(3)/guestfs_last_error>)."
msgstr "The error message (corresponding to L<guestfs(3)/guestfs_last_error>)."

#. type: =item
#: ../lua/examples/guestfs-lua.pod:85
msgid "code"
msgstr "code"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:87
msgid "The C<errno> (corresponding to L<guestfs(3)/guestfs_last_errno>)."
msgstr "The C<errno> (corresponding to L<guestfs(3)/guestfs_last_errno>)."

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:91
msgid ""
"These objects also have C<__tostring> functions attached to them so you can "
"use C<tostring> (or implicit conversion) to convert them into printable "
"strings."
msgstr ""
"These objects also have C<__tostring> functions attached to them so you can "
"use C<tostring> (or implicit conversion) to convert them into printable "
"strings."

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:95
msgid ""
"Note that the library also throws some errors as plain strings.  You may "
"need to check the type."
msgstr ""
"Note that the library also throws some errors as plain strings.  You may "
"need to check the type."

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:100
msgid "Events can be registered by calling C<set_event_callback>:"
msgstr "Events can be registered by calling C<set_event_callback>:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:102
#, no-wrap
msgid ""
" eh = g:set_event_callback (cb, \"close\")\n"
"\n"
msgstr ""
" eh = g:set_event_callback (cb, \"close\")\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:104
msgid ""
"or to register a single callback for multiple events make the second "
"argument a list:"
msgstr ""
"or to register a single callback for multiple events make the second "
"argument a list:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:107
#, no-wrap
msgid ""
" eh = g:set_event_callback (cb, { \"appliance\", \"library\", \"trace\" })\n"
"\n"
msgstr ""
" eh = g:set_event_callback (cb, { \"appliance\", \"library\", \"trace\" })\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:109
msgid ""
"A list of all valid event types (strings) is in the global variable C<G."
"event_all>."
msgstr ""
"A list of all valid event types (strings) is in the global variable C<G."
"event_all>."

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:112
msgid "The callback (C<cb>) is called with the following parameters:"
msgstr "The callback (C<cb>) is called with the following parameters:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:114
#, no-wrap
msgid ""
" function cb (g, event, eh, flags, buf, array)\n"
"   -- g is the guestfs handle\n"
"   -- event is a string which is the name of the event that fired\n"
"   -- flags is always zero\n"
"   -- buf is the data buffer (eg. log message etc)\n"
"   -- array is the array of 64 bit ints (eg. progress bar status etc)\n"
"   ...\n"
" end\n"
"\n"
msgstr ""
" function cb (g, event, eh, flags, buf, array)\n"
"   -- g is the guestfs handle\n"
"   -- event is a string which is the name of the event that fired\n"
"   -- flags is always zero\n"
"   -- buf is the data buffer (eg. log message etc)\n"
"   -- array is the array of 64 bit ints (eg. progress bar status etc)\n"
"   ...\n"
" end\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:123
msgid ""
"You can also remove a callback using the event handle (C<eh>) that was "
"returned when you registered the callback:"
msgstr ""
"You can also remove a callback using the event handle (C<eh>) that was "
"returned when you registered the callback:"

#. type: verbatim
#: ../lua/examples/guestfs-lua.pod:126
#, no-wrap
msgid ""
" g:delete_event_callback (eh)\n"
"\n"
msgstr ""
" g:delete_event_callback (eh)\n"
"\n"

#. type: textblock
#: ../lua/examples/guestfs-lua.pod:138
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-"
"gobject(3)>, L<guestfs-golang(3)>, L<guestfs-java(3)>, L<guestfs-ocaml(3)>, "
"L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-recipes(1)>, L<guestfs-"
"ruby(3)>, L<http://www.lua.org/>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../make-fs/virt-make-fs.pod:3
msgid "virt-make-fs - Make a filesystem from a tar archive or files"
msgstr "virt-make-fs - Make a filesystem from a tar archive or files"

#. type: verbatim
#: ../make-fs/virt-make-fs.pod:7
#, no-wrap
msgid ""
" virt-make-fs [--options] input.tar output.img\n"
"\n"
msgstr ""
" virt-make-fs [--options] input.tar output.img\n"
"\n"

#. type: verbatim
#: ../make-fs/virt-make-fs.pod:9
#, no-wrap
msgid ""
" virt-make-fs [--options] input.tar.gz output.img\n"
"\n"
msgstr ""
" virt-make-fs [--options] input.tar.gz output.img\n"
"\n"

#. type: verbatim
#: ../make-fs/virt-make-fs.pod:11
#, no-wrap
msgid ""
" virt-make-fs [--options] directory output.img\n"
"\n"
msgstr ""
" virt-make-fs [--options] directory output.img\n"
"\n"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:15
msgid ""
"Virt-make-fs is a command line tool for creating a filesystem from a tar "
"archive or some files in a directory.  It is similar to tools like "
"L<mkisofs(1)>, L<genisoimage(1)> and L<mksquashfs(1)>.  Unlike those tools, "
"it can create common filesystem types like ext2/3 or NTFS, which can be "
"useful if you want to attach these filesystems to existing virtual machines "
"(eg. to import large amounts of read-only data to a VM)."
msgstr ""
"Virt-make-fs is a command line tool for creating a filesystem from a tar "
"archive or some files in a directory.  It is similar to tools like "
"L<mkisofs(1)>, L<genisoimage(1)> and L<mksquashfs(1)>.  Unlike those tools, "
"it can create common filesystem types like ext2/3 or NTFS, which can be "
"useful if you want to attach these filesystems to existing virtual machines "
"(eg. to import large amounts of read-only data to a VM)."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:23
msgid ""
"To create blank disks, use L<virt-format(1)>.  To create complex layouts, "
"use L<guestfish(1)>."
msgstr ""
"To create blank disks, use L<virt-format(1)>.  To create complex layouts, "
"use L<guestfish(1)>."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:26
msgid "Basic usage is:"
msgstr "Basic usage is:"

#. type: verbatim
#: ../make-fs/virt-make-fs.pod:28
#, no-wrap
msgid ""
" virt-make-fs input output.img\n"
"\n"
msgstr ""
" virt-make-fs input output.img\n"
"\n"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:30
msgid ""
"where C<input> is either a directory containing files that you want to add, "
"or a tar archive (either uncompressed tar or gzip-compressed tar); and "
"F<output.img> is a disk image.  The input type is detected automatically.  "
"The output disk image defaults to a raw ext2 sparse image unless you specify "
"extra flags (see L</OPTIONS> below)."
msgstr ""

#. type: =head2
#: ../make-fs/virt-make-fs.pod:36
msgid "FILESYSTEM TYPE"
msgstr "FILESYSTEM TYPE"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:38
msgid ""
"The default filesystem type is C<ext2>.  Just about any filesystem type that "
"libguestfs supports can be used (but I<not> read-only formats like "
"ISO9660).  Here are some of the more common choices:"
msgstr ""
"The default filesystem type is C<ext2>.  Just about any filesystem type that "
"libguestfs supports can be used (but I<not> read-only formats like "
"ISO9660).  Here are some of the more common choices:"

#. type: =item
#: ../make-fs/virt-make-fs.pod:44
msgid "I<ext3>"
msgstr "I<ext3>"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:46
msgid ""
"Note that ext3 filesystems contain a journal, typically 1-32 MB in size.  If "
"you are not going to use the filesystem in a way that requires the journal, "
"then this is just wasted overhead."
msgstr ""
"Note that ext3 filesystems contain a journal, typically 1-32 MB in size.  If "
"you are not going to use the filesystem in a way that requires the journal, "
"then this is just wasted overhead."

#. type: =item
#: ../make-fs/virt-make-fs.pod:50
msgid "I<ntfs> or I<vfat>"
msgstr "I<ntfs> or I<vfat>"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:52
msgid "Useful if exporting data to a Windows guest."
msgstr "Useful if exporting data to a Windows guest."

#. type: =item
#: ../make-fs/virt-make-fs.pod:54
msgid "I<minix>"
msgstr "I<minix>"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:56
msgid ""
"Lower overhead than C<ext2>, but certain limitations on filename length and "
"total filesystem size."
msgstr ""
"Lower overhead than C<ext2>, but certain limitations on filename length and "
"total filesystem size."

#. type: verbatim
#: ../make-fs/virt-make-fs.pod:63
#, no-wrap
msgid ""
" virt-make-fs --type=minix input minixfs.img\n"
"\n"
msgstr ""
" virt-make-fs --type=minix input minixfs.img\n"
"\n"

#. type: =head2
#: ../make-fs/virt-make-fs.pod:65
msgid "TO PARTITION OR NOT TO PARTITION"
msgstr "TO PARTITION OR NOT TO PARTITION"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:67
msgid "Optionally virt-make-fs can add a partition table to the output disk."
msgstr "Optionally virt-make-fs can add a partition table to the output disk."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:69
msgid ""
"Adding a partition can make the disk image more compatible with certain "
"virtualized operating systems which don't expect to see a filesystem "
"directly located on a block device (Linux doesn't care and will happily "
"handle both types)."
msgstr ""
"Adding a partition can make the disk image more compatible with certain "
"virtualised operating systems which don't expect to see a filesystem "
"directly located on a block device (Linux doesn't care and will happily "
"handle both types)."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:74
msgid ""
"On the other hand, if you have a partition table then the output image is no "
"longer a straight filesystem.  For example you cannot run L<fsck(8)> "
"directly on a partitioned disk image.  (However libguestfs tools such as "
"L<guestfish(1)> and L<virt-resize(1)> can still be used)."
msgstr ""
"On the other hand, if you have a partition table then the output image is no "
"longer a straight filesystem.  For example you cannot run L<fsck(8)> "
"directly on a partitioned disk image.  (However libguestfs tools such as "
"L<guestfish(1)> and L<virt-resize(1)> can still be used)."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:82
msgid "Add an MBR partition:"
msgstr "Add an MBR partition:"

#. type: verbatim
#: ../make-fs/virt-make-fs.pod:84
#, no-wrap
msgid ""
" virt-make-fs --partition -- input disk.img\n"
"\n"
msgstr ""
" virt-make-fs --partition -- input disk.img\n"
"\n"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:86
msgid ""
"If the output disk image could be terabyte-sized or larger, it's better to "
"use an EFI/GPT-compatible partition table:"
msgstr ""
"If the output disk image could be terabyte-sized or larger, it's better to "
"use an EFI/GPT-compatible partition table:"

#. type: verbatim
#: ../make-fs/virt-make-fs.pod:89
#, no-wrap
msgid ""
" virt-make-fs --partition=gpt --size=+4T --format=qcow2 input disk.img\n"
"\n"
msgstr ""
" virt-make-fs --partition=gpt --size=+4T --format=qcow2 input disk.img\n"
"\n"

#. type: =head2
#: ../make-fs/virt-make-fs.pod:91
msgid "EXTRA SPACE"
msgstr "EXTRA SPACE"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:93
msgid ""
"Unlike formats such as tar and squashfs, a filesystem does not \"just fit\" "
"the files that it contains, but might have extra space.  Depending on how "
"you are going to use the output, you might think this extra space is wasted "
"and want to minimize it, or you might want to leave space so that more files "
"can be added later.  Virt-make-fs defaults to minimizing the extra space, "
"but you can use the I<--size> flag to leave space in the filesystem if you "
"want it."
msgstr ""
"Unlike formats such as tar and squashfs, a filesystem does not \"just fit\" "
"the files that it contains, but might have extra space.  Depending on how "
"you are going to use the output, you might think this extra space is wasted "
"and want to minimise it, or you might want to leave space so that more files "
"can be added later.  Virt-make-fs defaults to minimising the extra space, "
"but you can use the I<--size> flag to leave space in the filesystem if you "
"want it."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:101
msgid ""
"An alternative way to leave extra space but not make the output image any "
"bigger is to use an alternative disk image format (instead of the default "
"\"raw\" format).  Using I<--format=qcow2> will use the native qemu/KVM qcow2 "
"image format (check your hypervisor supports this before using it).  This "
"allows you to choose a large I<--size> but the extra space won't actually be "
"allocated in the image until you try to store something in it."
msgstr ""

#. type: textblock
#: ../make-fs/virt-make-fs.pod:109
msgid ""
"Don’t forget that you can also use local commands including L<resize2fs(8)> "
"and L<virt-resize(1)> to resize existing filesystems, or rerun virt-make-fs "
"to build another image from scratch."
msgstr ""

#. type: verbatim
#: ../make-fs/virt-make-fs.pod:115
#, no-wrap
msgid ""
" virt-make-fs --format=qcow2 --size=+200M input output.img\n"
"\n"
msgstr ""
" virt-make-fs --format=qcow2 --size=+200M input output.img\n"
"\n"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:129
#, fuzzy
#| msgid "This returns the size of the device in bytes."
msgid "This parameter sets the sector size of the output disk image."
msgstr "This returns the size of the device in bytes."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:131
#, fuzzy
#| msgid "The default is C<ext2>."
msgid "The default is C<512> bytes."
msgstr "The default is C<ext2>."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:133
#, fuzzy
#| msgid "See also C<guestfs_pwrite>, C<guestfs_pread_device>."
msgid "See also L<guestfs(3)/guestfs_add_drive_opts>."
msgstr "See also C<guestfs_pwrite>, C<guestfs_pread_device>."

#. type: =item
#: ../make-fs/virt-make-fs.pod:135
msgid "B<--floppy>"
msgstr "B<--floppy>"

#. type: textblock
#: ../make-fs/virt-make-fs.pod:137
msgid "Create a virtual floppy disk."
msgstr "Create a virtual floppy disk."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:139
msgid ""
"Currently this preselects the size (1440K), partition type (MBR) and "
"filesystem type (VFAT).  In future it may also choose the geometry."
msgstr ""
"Currently this preselects the size (1440K), partition type (MBR) and "
"filesystem type (VFAT).  In future it may also choose the geometry."

#. type: =item
#: ../make-fs/virt-make-fs.pod:142
msgid "B<--size=>N"
msgstr ""

#. type: =item
#: ../make-fs/virt-make-fs.pod:144
msgid "B<--size=+>N"
msgstr ""

#. type: =item
#: ../make-fs/virt-make-fs.pod:146
msgid "B<-s> N"
msgstr ""

#. type: =item
#: ../make-fs/virt-make-fs.pod:148
msgid "B<-s> B<+>N"
msgstr ""

#. type: textblock
#: ../make-fs/virt-make-fs.pod:150
msgid ""
"Use the I<--size> (or I<-s>) option to choose the size of the output image."
msgstr ""
"Use the I<--size> (or I<-s>) option to choose the size of the output image."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:153
msgid ""
"If this option is I<not> given, then the output image will be just large "
"enough to contain all the files, with not much wasted space."
msgstr ""
"If this option is I<not> given, then the output image will be just large "
"enough to contain all the files, with not much wasted space."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:156
msgid ""
"To choose a fixed size output disk, specify an absolute number followed by b/"
"K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, "
"Petabytes or Exabytes.  This must be large enough to contain all the input "
"files, else you will get an error."
msgstr ""
"To choose a fixed size output disk, specify an absolute number followed by b/"
"K/M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, "
"Petabytes or Exabytes.  This must be large enough to contain all the input "
"files, else you will get an error."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:161
msgid ""
"To leave extra space, specify C<+> (plus sign) and a number followed by b/K/"
"M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, "
"Petabytes or Exabytes.  For example: I<--size=+200M> means enough space for "
"the input files, and (approximately) an extra 200 MB free space."
msgstr ""
"To leave extra space, specify C<+> (plus sign) and a number followed by b/K/"
"M/G/T/P/E to mean bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, "
"Petabytes or Exabytes.  For example: I<--size=+200M> means enough space for "
"the input files, and (approximately) an extra 200 MB free space."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:167
msgid ""
"Note that virt-make-fs estimates free space, and therefore will not produce "
"filesystems containing precisely the free space requested.  (It is much more "
"expensive and time-consuming to produce a filesystem which has precisely the "
"desired free space)."
msgstr ""
"Note that virt-make-fs estimates free space, and therefore will not produce "
"filesystems containing precisely the free space requested.  (It is much more "
"expensive and time-consuming to produce a filesystem which has precisely the "
"desired free space)."

#. type: =item
#: ../make-fs/virt-make-fs.pod:172
msgid "B<--format=>FMT"
msgstr ""

#. type: =item
#: ../make-fs/virt-make-fs.pod:174
msgid "B<-F> FMT"
msgstr ""

#. type: textblock
#: ../make-fs/virt-make-fs.pod:176
msgid "Choose the output disk image format."
msgstr "Choose the output disk image format."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:178
msgid "The default is C<raw> (raw sparse disk image)."
msgstr "The default is C<raw> (raw sparse disk image)."

#. type: =item
#: ../make-fs/virt-make-fs.pod:180
msgid "B<--type=>FS"
msgstr ""

#. type: =item
#: ../make-fs/virt-make-fs.pod:182
msgid "B<-t> FS"
msgstr ""

#. type: textblock
#: ../make-fs/virt-make-fs.pod:184
msgid "Choose the output filesystem type."
msgstr "Choose the output filesystem type."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:186
msgid "The default is C<ext2>."
msgstr "The default is C<ext2>."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:188
msgid ""
"Any filesystem which is supported read-write by libguestfs can be used here."
msgstr ""
"Any filesystem which is supported read-write by libguestfs can be used here."

#. type: =item
#: ../make-fs/virt-make-fs.pod:197
msgid "B<--partition=>PARTTYPE"
msgstr ""

#. type: textblock
#: ../make-fs/virt-make-fs.pod:199
msgid ""
"If specified, this flag adds an MBR partition table to the output disk image."
msgstr ""
"If specified, this flag adds an MBR partition table to the output disk image."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:202
msgid ""
"You can change the partition table type, eg. I<--partition=gpt> for large "
"disks."
msgstr ""
"You can change the partition table type, eg. I<--partition=gpt> for large "
"disks."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:205
msgid "For MBR, virt-make-fs sets the partition type byte automatically."
msgstr "For MBR, virt-make-fs sets the partition type byte automatically."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:211
msgid "Enable debugging information."
msgstr "Enable debugging information."

#. type: textblock
#: ../make-fs/virt-make-fs.pod:221
msgid "Enable libguestfs trace."
msgstr ""

#. type: textblock
#: ../make-fs/virt-make-fs.pod:227
msgid ""
"L<guestfish(1)>, L<virt-format(1)>, L<virt-resize(1)>, L<virt-tar-in(1)>, "
"L<mkisofs(1)>, L<genisoimage(1)>, L<mksquashfs(1)>, L<mke2fs(8)>, "
"L<resize2fs(8)>, L<guestfs(3)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:3
msgid "guestfs-ocaml - How to use libguestfs from OCaml"
msgstr "guestfs-ocaml - How to use libguestfs from OCaml"

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:7
msgid "Module style:"
msgstr "Module style:"

#. type: verbatim
#: ../ocaml/examples/guestfs-ocaml.pod:9
#, 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 ""
" let g = Guestfs.create () in\n"
" Guestfs.add_drive_opts g ~format:\"raw\" ~readonly:true \"disk.img\";\n"
" Guestfs.launch g;\n"
"\n"

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:13
msgid "Object-oriented style:"
msgstr "Object-oriented style:"

#. type: verbatim
#: ../ocaml/examples/guestfs-ocaml.pod:15
#, 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 ""
" let g = new Guestfs.guestfs () in\n"
" g#add_drive_opts ~format:\"raw\" ~readonly:true \"disk.img\";\n"
" g#launch ();\n"
"\n"

#. type: verbatim
#: ../ocaml/examples/guestfs-ocaml.pod:19
#, 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 ""
" ocamlfind opt prog.ml -package guestfs -linkpkg -o prog\n"
"or:\n"
" ocamlopt -I +guestfs mlguestfs.cmxa prog.ml -o prog\n"
"\n"

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:25
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 ""
"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)>."

#. type: =head2
#: ../ocaml/examples/guestfs-ocaml.pod:30
msgid "PROGRAMMING STYLES"
msgstr "PROGRAMMING STYLES"

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:32
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 ""
"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:"

#. type: verbatim
#: ../ocaml/examples/guestfs-ocaml.pod:36
#, no-wrap
msgid ""
" int guestfs_set_verbose (guestfs_h *g, int flag);\n"
"\n"
msgstr ""
" int guestfs_set_verbose (guestfs_h *g, int flag);\n"
"\n"

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:38
msgid "becomes:"
msgstr "becomes:"

#. type: verbatim
#: ../ocaml/examples/guestfs-ocaml.pod:40
#, no-wrap
msgid ""
" val Guestfs.set_verbose : Guestfs.t -> bool -> unit\n"
"\n"
msgstr ""
" val Guestfs.set_verbose : Guestfs.t -> bool -> unit\n"
"\n"

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:42
msgid ""
"Alternately you can use an object-oriented style, calling methods on the "
"class C<Guestfs.guestfs>:"
msgstr ""
"Alternately you can use an object-oriented style, calling methods on the "
"class C<Guestfs.guestfs>:"

#. type: verbatim
#: ../ocaml/examples/guestfs-ocaml.pod:45
#, no-wrap
msgid ""
" method set_verbose : bool -> unit\n"
"\n"
msgstr ""
" method set_verbose : bool -> unit\n"
"\n"

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:47
msgid ""
"The object-oriented style is usually briefer, and the minor performance "
"penalty isn't noticeable in the general overhead of performing libguestfs "
"functions."
msgstr ""
"The object-oriented style is usually briefer, and the minor performance "
"penalty isn't noticeable in the general overhead of performing libguestfs "
"functions."

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:53
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 ""
"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."

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:60
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 ""
"Errors from libguestfs functions are mapped into the C<Guestfs.Error> "
"exception.  This has a single parameter which is the error message (a "
"string)."

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:64
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 ""
"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."

#. type: textblock
#: ../ocaml/examples/guestfs-ocaml.pod:82
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-"
"gobject(3)>, L<guestfs-golang(3)>, L<guestfs-java(3)>, L<guestfs-lua(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:3
msgid "guestfs-perl - How to use libguestfs from Perl"
msgstr "guestfs-perl - How to use libguestfs from Perl"

#. type: verbatim
#: ../perl/examples/guestfs-perl.pod:7
#, no-wrap
msgid ""
" use Sys::Guestfs;\n"
" \n"
msgstr ""
" use Sys::Guestfs;\n"
" \n"

#. type: verbatim
#: ../perl/examples/guestfs-perl.pod:9
#, no-wrap
msgid ""
" my $g = Sys::Guestfs->new ();\n"
" $g->add_drive_opts ('guest.img', format => 'raw');\n"
" $g->launch ();\n"
" $g->mount ('/dev/sda1', '/');\n"
" $g->touch ('/hello');\n"
" $g->shutdown ();\n"
" $g->close ();\n"
"\n"
msgstr ""
" my $g = Sys::Guestfs->new ();\n"
" $g->add_drive_opts ('guest.img', format => 'raw');\n"
" $g->launch ();\n"
" $g->mount ('/dev/sda1', '/');\n"
" $g->touch ('/hello');\n"
" $g->shutdown ();\n"
" $g->close ();\n"
"\n"

#. type: textblock
#: ../perl/examples/guestfs-perl.pod:19
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 ""
"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)>."

#. type: textblock
#: ../perl/examples/guestfs-perl.pod:27
msgid ""
"Errors from libguestfs functions turn into calls to C<croak> (see "
"L<Carp(3)>)."
msgstr ""
"Errors from libguestfs functions turn into calls to C<croak> (see "
"L<Carp(3)>)."

#. type: textblock
#: ../perl/examples/guestfs-perl.pod:40
msgid ""
"L<Sys::Guestfs(3)>, L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-"
"erlang(3)>, L<guestfs-gobject(3)>, L<guestfs-golang(3)>, L<guestfs-java(3)>, "
"L<guestfs-lua(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:3
msgid "guestfs-python - How to use libguestfs from Python"
msgstr "guestfs-python - How to use libguestfs from Python"

#. type: verbatim
#: ../python/examples/guestfs-python.pod:7
#, no-wrap
msgid ""
" import guestfs\n"
" g = guestfs.GuestFS(python_return_dict=True)\n"
" g.add_drive_opts(\"disk.img\", format=\"raw\", readonly=1)\n"
" g.launch()\n"
"\n"
msgstr ""

#. type: textblock
#: ../python/examples/guestfs-python.pod:14
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 ""
"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)>."

#. type: =head2
#: ../python/examples/guestfs-python.pod:19
msgid "python_return_dict=True"
msgstr "python_return_dict=True"

#. type: textblock
#: ../python/examples/guestfs-python.pod:21
msgid "All new code should construct the handle using:"
msgstr "All new code should construct the handle using:"

#. type: verbatim
#: ../python/examples/guestfs-python.pod:23
#, no-wrap
msgid ""
" g = guestfs.GuestFS(python_return_dict=True)\n"
"\n"
msgstr ""

#. type: textblock
#: ../python/examples/guestfs-python.pod:25
msgid ""
"This indicates that your program wants to receive Python dicts for methods "
"in the API that return hashtables."
msgstr ""
"This indicates that your program wants to receive Python dicts for methods "
"in the API that return hashtables."

#. type: textblock
#: ../python/examples/guestfs-python.pod:28
msgid "In a future version of libguestfs, this will become the default."
msgstr "In a future version of libguestfs, this will become the default."

#. type: textblock
#: ../python/examples/guestfs-python.pod:32
msgid ""
"Errors from libguestfs functions are mapped into C<RuntimeException> with a "
"single string argument which is the error message."
msgstr ""
"Errors from libguestfs functions are mapped into C<RuntimeException> with a "
"single string argument which is the error message."

#. type: =head2
#: ../python/examples/guestfs-python.pod:35
msgid "MORE DOCUMENTATION"
msgstr "MORE DOCUMENTATION"

#. type: textblock
#: ../python/examples/guestfs-python.pod:37
msgid "Type:"
msgstr "Type:"

#. type: verbatim
#: ../python/examples/guestfs-python.pod:39
#, no-wrap
msgid ""
" $ python\n"
" >>> import guestfs\n"
" >>> help(guestfs)\n"
"\n"
msgstr ""

#. type: =head2
#: ../python/examples/guestfs-python.pod:43
msgid "USING PYTHON BINDINGS IN A VIRTUALENV"
msgstr ""

#. type: textblock
#: ../python/examples/guestfs-python.pod:45
msgid ""
"These bindings are I<not> available in pypi owing to a licensing problem.  "
"See L<https://bugzilla.redhat.com/1075594> for current status."
msgstr ""

#. type: textblock
#: ../python/examples/guestfs-python.pod:49
msgid ""
"However we do publish a Python distribution for selected stable versions of "
"libguestfs in L<http://libguestfs.org/download/python>.  You can use it like "
"this:"
msgstr ""

#. type: verbatim
#: ../python/examples/guestfs-python.pod:53
#, no-wrap
msgid ""
" pip install http://libguestfs.org/download/python/guestfs-1.XX.YY.tar.gz\n"
"\n"
msgstr ""

#. type: textblock
#: ../python/examples/guestfs-python.pod:65
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-"
"gobject(3)>, L<guestfs-golang(3)>, L<guestfs-java(3)>, L<guestfs-lua(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:3
msgid "virt-rescue - Run a rescue shell on a virtual machine"
msgstr "virt-rescue - Run a rescue shell on a virtual machine"

#. type: verbatim
#: ../rescue/virt-rescue.pod:7
#, no-wrap
msgid ""
" virt-rescue [--options] -d domname\n"
"\n"
msgstr ""
" virt-rescue [--options] -d domname\n"
"\n"

#. type: verbatim
#: ../rescue/virt-rescue.pod:9
#, no-wrap
msgid ""
" virt-rescue [--options] -a disk.img [-a disk.img ...] [-i]\n"
"\n"
msgstr ""

#. type: verbatim
#: ../rescue/virt-rescue.pod:13
#, no-wrap
msgid ""
" virt-rescue [--options] domname\n"
"\n"
msgstr ""
" virt-rescue [--options] domname\n"
"\n"

#. type: verbatim
#: ../rescue/virt-rescue.pod:15
#, no-wrap
msgid ""
" virt-rescue [--options] disk.img [disk.img ...]\n"
"\n"
msgstr ""
" virt-rescue [--options] disk.img [disk.img ...]\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:19
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 ""
"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."

#. type: textblock
#: ../rescue/virt-rescue.pod:24
msgid ""
"You can run virt-rescue on any virtual machine known to libvirt, or directly "
"on disk image(s):"
msgstr ""
"You can run virt-rescue on any virtual machine known to libvirt, or directly "
"on disk image(s):"

#. type: verbatim
#: ../rescue/virt-rescue.pod:27
#, no-wrap
msgid ""
" virt-rescue -d GuestName -i\n"
"\n"
msgstr ""

#. type: verbatim
#: ../rescue/virt-rescue.pod:29
#, no-wrap
msgid ""
" virt-rescue --ro -a /path/to/disk.img -i\n"
"\n"
msgstr ""

#. type: verbatim
#: ../rescue/virt-rescue.pod:31
#, no-wrap
msgid ""
" virt-rescue -a /dev/sdc\n"
"\n"
msgstr ""
" virt-rescue -a /dev/sdc\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:33
msgid "For live VMs you I<must> use the I<--ro> option."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:35
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 F</> (F</bin>, F</lib> etc) is the rescue "
"appliance.  You must mount the virtual machine’s filesystems.  There is an "
"empty directory called F</sysroot> where you can mount filesystems."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:42
msgid ""
"To automatically mount the virtual machine’s filesystems under F</sysroot> "
"use the I<-i> option.  This uses libguestfs inspection to find the "
"filesystems and mount them in the right place.  You can also mount "
"filesystems individually using the I<-m> option."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:47
msgid ""
"Another way is to list the logical volumes (with L<lvs(8)>) and partitions "
"(with L<parted(8)>) and mount them by hand:"
msgstr ""
"Another way is to list the logical volumes (with L<lvs(8)>) and partitions "
"(with L<parted(8)>) and mount them by hand:"

#. type: verbatim
#: ../rescue/virt-rescue.pod:50
#, no-wrap
msgid ""
" ><rescue> lvs\n"
" LV      VG        Attr   LSize   Origin Snap%  Move Log Copy%  Convert\n"
" lv_root vg_f15x32 -wi-a-   8.83G\n"
" lv_swap vg_f15x32 -wi-a- 992.00M\n"
" ><rescue> mount /dev/vg_f15x32/lv_root /sysroot\n"
" ><rescue> mount /dev/vda1 /sysroot/boot\n"
" ><rescue> ls /sysroot\n"
"\n"
msgstr ""
" ><rescue> lvs\n"
" LV      VG        Attr   LSize   Origin Snap%  Move Log Copy%  Convert\n"
" lv_root vg_f15x32 -wi-a-   8.83G\n"
" lv_swap vg_f15x32 -wi-a- 992.00M\n"
" ><rescue> mount /dev/vg_f15x32/lv_root /sysroot\n"
" ><rescue> mount /dev/vda1 /sysroot/boot\n"
" ><rescue> ls /sysroot\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:58
msgid ""
"Another command to list available filesystems is L<virt-filesystems(1)>."
msgstr ""
"Another command to list available filesystems is L<virt-filesystems(1)>."

#. type: textblock
#: ../rescue/virt-rescue.pod:61
msgid ""
"To run commands in a Linux guest (for example, grub), you should chroot into "
"the /sysroot directory first:"
msgstr ""
"To run commands in a Linux guest (for example, grub), you should chroot into "
"the /sysroot directory first:"

#. type: verbatim
#: ../rescue/virt-rescue.pod:64
#, no-wrap
msgid ""
" ><rescue> chroot /sysroot\n"
"\n"
msgstr ""
" ><rescue> chroot /sysroot\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:68
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 USB drives, SD cards and hard disks."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:75
msgid ""
"You can get virt-rescue to give you scratch disk(s) to play with.  This is "
"useful for testing out Linux utilities (see I<--scratch>)."
msgstr ""
"You can get virt-rescue to give you scratch disk(s) to play with.  This is "
"useful for testing out Linux utilities (see I<--scratch>)."

#. type: textblock
#: ../rescue/virt-rescue.pod:78
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 ""
"Virt-rescue does not require root.  You only need to run it as root if you "
"need root to open the disk image."

#. type: textblock
#: ../rescue/virt-rescue.pod:81
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 ""
"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)>."

#. type: =item
#: ../rescue/virt-rescue.pod:111
msgid "B<--append> KERNELOPTS"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:113
msgid "Pass additional options to the rescue kernel."
msgstr "Pass additional options to the rescue kernel."

#. type: =item
#: ../rescue/virt-rescue.pod:134
msgid "B<-e none>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:136
msgid "Disable the escape key."
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:138
msgid "B<-e> KEY"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:140
msgid ""
"Set the escape key to the given key sequence.  The default is C<^]>.  To "
"specify the escape key you can use:"
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:145
msgid "C<^x>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:147
msgid "Control key + C<x> key."
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:149
msgid "C<none>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:151
msgid "I<-e none> means there is no escape key, escapes are disabled."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:155
msgid "See L</ESCAPE KEY> below for further information."
msgstr ""

#. type: verbatim
#: ../rescue/virt-rescue.pod:168
#, no-wrap
msgid ""
" virt-rescue --format=raw -a disk.img\n"
"\n"
msgstr ""
" virt-rescue --format=raw -a disk.img\n"
"\n"

#. type: verbatim
#: ../rescue/virt-rescue.pod:172
#, no-wrap
msgid ""
" virt-rescue --format=raw -a disk.img --format -a another.img\n"
"\n"
msgstr ""
" virt-rescue --format=raw -a disk.img --format -a another.img\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:189
msgid "The filesystems are mounted on F</sysroot> in the rescue environment."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:193
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 ""
"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."

#. type: textblock
#: ../rescue/virt-rescue.pod:208
msgid ""
"The filesystems are mounted under F</sysroot> in the rescue environment."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:227
msgid "Enable QEMU user networking in the guest.  See L</NETWORK>."
msgstr "Enable QEMU user networking in the guest.  See L</NETWORK>."

#. type: textblock
#: ../rescue/virt-rescue.pod:233
msgid "Open the image read-only."
msgstr "Open the image read-only."

#. type: =item
#: ../rescue/virt-rescue.pod:241
msgid "B<--scratch>"
msgstr "B<--scratch>"

#. type: =item
#: ../rescue/virt-rescue.pod:243
msgid "B<--scratch=N>"
msgstr "B<--scratch=N>"

#. type: textblock
#: ../rescue/virt-rescue.pod:245
msgid ""
"The I<--scratch> option adds a large scratch disk to the rescue appliance.  "
"I<--scratch=N> adds C<N> scratch disks.  The scratch disk(s) are deleted "
"automatically when virt-rescue exits."
msgstr ""
"The I<--scratch> option adds a large scratch disk to the rescue appliance.  "
"I<--scratch=N> adds C<N> scratch disks.  The scratch disk(s) are deleted "
"automatically when virt-rescue exits."

#. type: textblock
#: ../rescue/virt-rescue.pod:249
msgid ""
"You can also mix I<-a>, I<-d> and I<--scratch> options.  The scratch disk(s) "
"are added to the appliance in the order they appear on the command line."
msgstr ""
"You can also mix I<-a>, I<-d> and I<--scratch> options.  The scratch disk(s) "
"are added to the appliance in the order they appear on the command line."

#. type: textblock
#: ../rescue/virt-rescue.pod:259
msgid "Enable N E<ge> 2 virtual CPUs in the rescue appliance."
msgstr "Enable N E<ge> 2 virtual CPUs in the rescue appliance."

#. type: =item
#: ../rescue/virt-rescue.pod:261
msgid "B<--suggest>"
msgstr "B<--suggest>"

#. type: textblock
#: ../rescue/virt-rescue.pod:263
msgid ""
"This option was used in older versions of virt-rescue to suggest what "
"commands you could use to mount filesystems under F</sysroot>.  For the "
"current version of virt-rescue, it is easier to use the I<-i> option instead."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:268
msgid ""
"This option implies I<--ro> and is safe to use even if the guest is up or if "
"another virt-rescue is running."
msgstr ""
"This option implies I<--ro> and is safe to use even if the guest is up or if "
"another virt-rescue is running."

#. type: textblock
#: ../rescue/virt-rescue.pod:300
msgid "Previous versions of virt-rescue allowed you to write either:"
msgstr "Previous versions of virt-rescue allowed you to write either:"

#. type: verbatim
#: ../rescue/virt-rescue.pod:302
#, no-wrap
msgid ""
" virt-rescue disk.img [disk.img ...]\n"
"\n"
msgstr ""
" virt-rescue disk.img [disk.img ...]\n"
"\n"

#. type: verbatim
#: ../rescue/virt-rescue.pod:306
#, no-wrap
msgid ""
" virt-rescue guestname\n"
"\n"
msgstr ""
" virt-rescue guestname\n"
"\n"

#. type: =head1
#: ../rescue/virt-rescue.pod:314
msgid "NETWORK"
msgstr "NETWORK"

#. type: textblock
#: ../rescue/virt-rescue.pod:316
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 ""
"Adding the I<--network> option enables QEMU user networking in the rescue "
"appliance.  There are some differences between user networking and ordinary "
"networking:"

#. type: =item
#: ../rescue/virt-rescue.pod:322
msgid "ping does not work"
msgstr "ping does not work"

#. type: textblock
#: ../rescue/virt-rescue.pod:324
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 ""
"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."

#. type: =item
#: ../rescue/virt-rescue.pod:331
msgid "cannot receive connections"
msgstr "cannot receive connections"

#. type: textblock
#: ../rescue/virt-rescue.pod:333
msgid "QEMU user networking cannot receive incoming connections."
msgstr "QEMU user networking cannot receive incoming connections."

#. type: =item
#: ../rescue/virt-rescue.pod:335
msgid "making TCP connections"
msgstr "making TCP connections"

#. type: textblock
#: ../rescue/virt-rescue.pod:337
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 F</dev/tcp/"
"E<lt>hostnameE<gt>/E<lt>portE<gt>> syntax:"
msgstr ""

#. type: verbatim
#: ../rescue/virt-rescue.pod:342
#, no-wrap
msgid ""
" exec 3<>/dev/tcp/redhat.com/80\n"
" echo \"GET /\" >&3\n"
" cat <&3\n"
"\n"
msgstr ""
" exec 3<>/dev/tcp/redhat.com/80\n"
" echo \"GET /\" >&3\n"
" cat <&3\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:346
msgid "See L<bash(1)> for more details."
msgstr "See L<bash(1)> for more details."

#. type: =head1
#: ../rescue/virt-rescue.pod:350
msgid "ESCAPE KEY"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:352
msgid ""
"Virt-rescue supports various keyboard escape sequences which are entered by "
"pressing C<^]> (Control key + C<]> key)."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:355
msgid ""
"You can change the escape key using the I<-e> option on the command line "
"(see above), and you can disable escapes completely using I<-e none>.  The "
"rest of this section assumes the default escape key."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:359
msgid "The following escapes can be used:"
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:363
msgid "C<^] ?>"
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:365
msgid "C<^] h>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:367
msgid "Prints a brief help text about escape sequences."
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:369
msgid "C<^] i>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:371
msgid ""
"Prints brief libguestfs inspection information for the guest.  This only "
"works if you used I<-i> on the virt-rescue command line."
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:374
msgid "C<^] q>"
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:376
msgid "C<^] x>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:378
msgid "Quits virt-rescue immediately."
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:380
msgid "C<^] s>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:382
msgid "Synchronize the filesystems (sync)."
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:384
msgid "C<^] u>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:386
msgid ""
"Unmounts all the filesystems, except for the root (appliance)  filesystems."
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:389
msgid "C<^] z>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:391
msgid ""
"Suspend virt-rescue (like pressing C<^Z> except that it affects virt-rescue "
"rather than the program inside the rescue shell)."
msgstr ""

#. type: =item
#: ../rescue/virt-rescue.pod:394
msgid "C<^] ^]>"
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:396
msgid ""
"Sends the literal character C<^]> (ASCII 0x1d) through to the rescue shell."
msgstr ""

#. type: =head1
#: ../rescue/virt-rescue.pod:401
msgid "CAPTURING CORE DUMPS"
msgstr "CAPTURING CORE DUMPS"

#. type: textblock
#: ../rescue/virt-rescue.pod:403
msgid ""
"If you are testing a tool inside virt-rescue and the tool (B<not> virt-"
"rescue) segfaults, it can be tricky to capture the core dump outside virt-"
"rescue for later analysis.  This section describes one way to do this."
msgstr ""
"If you are testing a tool inside virt-rescue and the tool (B<not> virt-"
"rescue) segfaults, it can be tricky to capture the core dump outside virt-"
"rescue for later analysis.  This section describes one way to do this."

#. type: textblock
#: ../rescue/virt-rescue.pod:412
msgid "Create a scratch disk for core dumps:"
msgstr "Create a scratch disk for core dumps:"

#. type: verbatim
#: ../rescue/virt-rescue.pod:414
#, no-wrap
msgid ""
" truncate -s 4G /tmp/corefiles\n"
" virt-format --partition=mbr --filesystem=ext2 -a /tmp/corefiles\n"
" virt-filesystems -a /tmp/corefiles --all --long -h\n"
"\n"
msgstr ""
" truncate -s 4G /tmp/corefiles\n"
" virt-format --partition=mbr --filesystem=ext2 -a /tmp/corefiles\n"
" virt-filesystems -a /tmp/corefiles --all --long -h\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:420
msgid "When starting virt-rescue, attach the core files disk last:"
msgstr "When starting virt-rescue, attach the core files disk last:"

#. type: verbatim
#: ../rescue/virt-rescue.pod:422
#, no-wrap
msgid ""
" virt-rescue --rw [-a ...] -a /tmp/corefiles\n"
"\n"
msgstr ""
" virt-rescue --rw [-a ...] -a /tmp/corefiles\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:424
msgid ""
"B<NB.> If you use the I<--ro> option, then virt-rescue will silently not "
"write any core files to F</tmp/corefiles>."
msgstr ""

#. type: textblock
#: ../rescue/virt-rescue.pod:429
msgid ""
"Inside virt-rescue, mount the core files disk.  Note replace F</dev/sdb1> "
"with the last disk index.  For example if the core files disk is the last of "
"four disks, you would use F</dev/sdd1>."
msgstr ""

#. type: verbatim
#: ../rescue/virt-rescue.pod:433
#, no-wrap
msgid ""
" ><rescue> mkdir /tmp/mnt\n"
" ><rescue> mount /dev/sdb1 /tmp/mnt\n"
"\n"
msgstr ""
" ><rescue> mkdir /tmp/mnt\n"
" ><rescue> mount /dev/sdb1 /tmp/mnt\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:438
msgid "Enable core dumps in the rescue kernel:"
msgstr "Enable core dumps in the rescue kernel:"

#. type: verbatim
#: ../rescue/virt-rescue.pod:440
#, no-wrap
msgid ""
" ><rescue> echo '/tmp/mnt/core.%p' > /proc/sys/kernel/core_pattern\n"
" ><rescue> ulimit -Hc unlimited\n"
" ><rescue> ulimit -Sc unlimited\n"
"\n"
msgstr ""
" ><rescue> echo '/tmp/mnt/core.%p' > /proc/sys/kernel/core_pattern\n"
" ><rescue> ulimit -Hc unlimited\n"
" ><rescue> ulimit -Sc unlimited\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:446
msgid ""
"Run the tool that caused the core dump.  The core dump will be written to F</"
"tmp/mnt/core.I<PID>>."
msgstr ""

#. type: verbatim
#: ../rescue/virt-rescue.pod:449
#, no-wrap
msgid ""
" ><rescue> ls -l /tmp/mnt\n"
" total 1628\n"
" -rw------- 1 root root 1941504 Dec  7 13:13 core.130\n"
" drwx------ 2 root root   16384 Dec  7 13:00 lost+found\n"
"\n"
msgstr ""
" ><rescue> ls -l /tmp/mnt\n"
" total 1628\n"
" -rw------- 1 root root 1941504 Dec  7 13:13 core.130\n"
" drwx------ 2 root root   16384 Dec  7 13:00 lost+found\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:456
msgid "Before exiting virt-rescue, unmount (or at least sync) the disks:"
msgstr "Before exiting virt-rescue, unmount (or at least sync) the disks:"

#. type: verbatim
#: ../rescue/virt-rescue.pod:458
#, no-wrap
msgid ""
" ><rescue> umount /tmp/mnt\n"
" ><rescue> exit\n"
"\n"
msgstr ""
" ><rescue> umount /tmp/mnt\n"
" ><rescue> exit\n"
"\n"

#. type: =item
#: ../rescue/virt-rescue.pod:461
msgid "7."
msgstr "7."

#. type: textblock
#: ../rescue/virt-rescue.pod:463
msgid ""
"Outside virt-rescue, the core dump(s) can be removed from the disk using "
"L<guestfish(1)>.  For example:"
msgstr ""
"Outside virt-rescue, the core dump(s) can be removed from the disk using "
"L<guestfish(1)>.  For example:"

#. type: verbatim
#: ../rescue/virt-rescue.pod:466
#, no-wrap
msgid ""
" guestfish --ro -a /tmp/corefiles -m /dev/sda1\n"
" ><fs> ll /\n"
" ><fs> download /core.NNN /tmp/core.NNN\n"
"\n"
msgstr ""
" guestfish --ro -a /tmp/corefiles -m /dev/sda1\n"
" ><fs> ll /\n"
" ><fs> download /core.NNN /tmp/core.NNN\n"
"\n"

#. type: textblock
#: ../rescue/virt-rescue.pod:474
msgid ""
"Several environment variables affect virt-rescue.  See L<guestfs(3)/"
"ENVIRONMENT VARIABLES> for the complete list."
msgstr ""
"Several environment variables affect virt-rescue.  See L<guestfs(3)/"
"ENVIRONMENT VARIABLES> for the complete list."

#. type: textblock
#: ../rescue/virt-rescue.pod:498
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-edit(1)>, L<virt-"
"filesystems(1)>, L<libguestfs-tools.conf(5)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:3
msgid "virt-resize - Resize a virtual machine disk"
msgstr "virt-resize - Resize a virtual machine disk"

#. type: verbatim
#: ../resize/virt-resize.pod:7
#, 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 ""
" virt-resize [--resize /dev/sdaN=[+/-]<size>[%]]\n"
"   [--expand /dev/sdaN] [--shrink /dev/sdaN]\n"
"   [--ignore /dev/sdaN] [--delete /dev/sdaN] [...] indisk outdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:13
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:17
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:21
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:31
msgid ""
"This example takes C<olddisk> and resizes it into C<newdisk>, extending one "
"of the guest’s partitions to fill the extra 5GB of space:"
msgstr ""

#. type: verbatim
#: ../resize/virt-resize.pod:35
#, no-wrap
msgid ""
" virt-filesystems --long -h --all -a olddisk\n"
" \n"
msgstr ""
" virt-filesystems --long -h --all -a olddisk\n"
" \n"

#. type: verbatim
#: ../resize/virt-resize.pod:37
#, no-wrap
msgid ""
" truncate -r olddisk newdisk\n"
" truncate -s +5G newdisk\n"
" \n"
msgstr ""
" truncate -r olddisk newdisk\n"
" truncate -s +5G newdisk\n"
" \n"

#. type: verbatim
#: ../resize/virt-resize.pod:40
#, no-wrap
msgid ""
" # Note \"/dev/sda2\" is a partition inside the \"olddisk\" file.\n"
" virt-resize --expand /dev/sda2 olddisk newdisk\n"
"\n"
msgstr ""
" # Note \"/dev/sda2\" is a partition inside the \"olddisk\" file.\n"
" virt-resize --expand /dev/sda2 olddisk newdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:45
msgid ""
"As above, but make the /boot partition 200MB bigger, while giving the "
"remaining space to /dev/sda2:"
msgstr ""
"As above, but make the /boot partition 200MB bigger, while giving the "
"remaining space to /dev/sda2:"

#. type: verbatim
#: ../resize/virt-resize.pod:48
#, no-wrap
msgid ""
" virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
"   olddisk newdisk\n"
"\n"
msgstr ""
" virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
"   olddisk newdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:53
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 ""
"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:"

#. type: verbatim
#: ../resize/virt-resize.pod:57
#, no-wrap
msgid ""
" virt-resize --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root \\\n"
"   olddisk newdisk\n"
"\n"
msgstr ""
" virt-resize --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root \\\n"
"   olddisk newdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:62
msgid ""
"As in the first example, but the output format will be qcow2 instead of a "
"raw disk:"
msgstr ""
"As in the first example, but the output format will be qcow2 instead of a "
"raw disk:"

#. type: verbatim
#: ../resize/virt-resize.pod:65
#, no-wrap
msgid ""
" qemu-img create -f qcow2 -o preallocation=metadata newdisk.qcow2 15G\n"
" virt-resize --expand /dev/sda2 olddisk newdisk.qcow2\n"
"\n"
msgstr ""

#. type: =head1
#: ../resize/virt-resize.pod:70
msgid "DETAILED USAGE"
msgstr "DETAILED USAGE"

#. type: =head2
#: ../resize/virt-resize.pod:72
msgid "EXPANDING A VIRTUAL MACHINE DISK"
msgstr "EXPANDING A VIRTUAL MACHINE DISK"

#. type: =item
#: ../resize/virt-resize.pod:76
msgid "1. Shut down the virtual machine"
msgstr "1. Shut down the virtual machine"

#. type: =item
#: ../resize/virt-resize.pod:78
msgid "2. Locate input disk image"
msgstr "2. Locate input disk image"

#. type: textblock
#: ../resize/virt-resize.pod:80
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:84
#, 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 ""
" # virsh dumpxml guestname | xpath /domain/devices/disk/source\n"
" Found 1 nodes:\n"
" -- NODE --\n"
" <source dev=\"/dev/vg/lv_guest\" />\n"
"\n"

#. type: =item
#: ../resize/virt-resize.pod:89
msgid "3. Look at current sizing"
msgstr "3. Look at current sizing"

#. type: textblock
#: ../resize/virt-resize.pod:91
msgid "Use L<virt-filesystems(1)> to display the current partitions and sizes:"
msgstr ""
"Use L<virt-filesystems(1)> to display the current partitions and sizes:"

#. type: verbatim
#: ../resize/virt-resize.pod:94
#, 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 ""
" # 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"

#. type: textblock
#: ../resize/virt-resize.pod:100
msgid ""
"(This example is a virtual machine with an 8 GB disk which we would like to "
"expand up to 10 GB)."
msgstr ""
"(This example is a virtual machine with an 8 GB disk which we would like to "
"expand up to 10 GB)."

#. type: =item
#: ../resize/virt-resize.pod:103
msgid "4. Create output disk"
msgstr "4. Create output disk"

#. type: textblock
#: ../resize/virt-resize.pod:105
msgid ""
"Virt-resize cannot do in-place disk modifications.  You have to have space "
"to store the resized output disk."
msgstr ""
"Virt-resize cannot do in-place disk modifications.  You have to have space "
"to store the resized output disk."

#. type: textblock
#: ../resize/virt-resize.pod:108
msgid ""
"To store the resized disk image in a file, create a file of a suitable size:"
msgstr ""
"To store the resized disk image in a file, create a file of a suitable size:"

#. type: verbatim
#: ../resize/virt-resize.pod:111
#, no-wrap
msgid ""
" # rm -f outdisk\n"
" # truncate -s 10G outdisk\n"
"\n"
msgstr ""
" # rm -f outdisk\n"
" # truncate -s 10G outdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:114
msgid "Or use L<lvcreate(1)> to create a logical volume:"
msgstr "Or use L<lvcreate(1)> to create a logical volume:"

#. type: verbatim
#: ../resize/virt-resize.pod:116
#, no-wrap
msgid ""
" # lvcreate -L 10G -n lv_name vg_name\n"
"\n"
msgstr ""
" # lvcreate -L 10G -n lv_name vg_name\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:118
msgid "Or use L<virsh(1)> vol-create-as to create a libvirt storage volume:"
msgstr "Or use L<virsh(1)> vol-create-as to create a libvirt storage volume:"

#. type: verbatim
#: ../resize/virt-resize.pod:120
#, no-wrap
msgid ""
" # virsh pool-list\n"
" # virsh vol-create-as poolname newvol 10G\n"
"\n"
msgstr ""
" # virsh pool-list\n"
" # virsh vol-create-as poolname newvol 10G\n"
"\n"

#. type: =item
#: ../resize/virt-resize.pod:123
msgid "5. Resize"
msgstr "5. Resize"

#. type: textblock
#: ../resize/virt-resize.pod:125
msgid ""
"virt-resize takes two mandatory parameters, the input disk and the output "
"disk (both can be e.g. a device, a file, or a URI to a remote disk).  The "
"output disk is the one created in the previous step."
msgstr ""

#. type: verbatim
#: ../resize/virt-resize.pod:129
#, no-wrap
msgid ""
" # virt-resize indisk outdisk\n"
"\n"
msgstr ""
" # virt-resize indisk outdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:131
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:137
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 ""
"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)."

#. type: textblock
#: ../resize/virt-resize.pod:141
msgid ""
"L</--expand> is the most useful option.  It expands the named partition "
"within the disk to fill any extra space:"
msgstr ""
"L</--expand> is the most useful option.  It expands the named partition "
"within the disk to fill any extra space:"

#. type: verbatim
#: ../resize/virt-resize.pod:144
#, no-wrap
msgid ""
" # virt-resize --expand /dev/sda2 indisk outdisk\n"
"\n"
msgstr ""
" # virt-resize --expand /dev/sda2 indisk outdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:146
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 ""
"(In this case, an extra partition is I<not> created at the end of the disk, "
"because there will be no unused space)."

#. type: textblock
#: ../resize/virt-resize.pod:149
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 ""
"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:"

#. type: verbatim
#: ../resize/virt-resize.pod:153
#, no-wrap
msgid ""
" # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
"     indisk outdisk\n"
"\n"
msgstr ""
" # virt-resize --resize /dev/sda1=+200M --expand /dev/sda2 \\\n"
"     indisk outdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:156
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)>, "
"L<btrfs(8)>, L<xfs_growfs(8)>, or L<resize.f2fs(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: verbatim
#: ../resize/virt-resize.pod:164
#, no-wrap
msgid ""
" # virt-resize --expand /dev/sda2 nbd://example.com outdisk\n"
"\n"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:166
msgid ""
"The input disk can be a URI, in order to use a remote disk as the source.  "
"The URI format is compatible with guestfish.  See L<guestfish(1)/ADDING "
"REMOTE STORAGE>."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:170
msgid "Other options are covered below."
msgstr "Other options are covered below."

#. type: =item
#: ../resize/virt-resize.pod:172
msgid "6. Test"
msgstr "6. Test"

#. type: textblock
#: ../resize/virt-resize.pod:174
msgid "Thoroughly test the new disk image I<before> discarding the old one."
msgstr "Thoroughly test the new disk image I<before> discarding the old one."

#. type: textblock
#: ../resize/virt-resize.pod:176
msgid "If you are using libvirt, edit the XML to point at the new disk:"
msgstr "If you are using libvirt, edit the XML to point at the new disk:"

#. type: verbatim
#: ../resize/virt-resize.pod:178
#, no-wrap
msgid ""
" # virsh edit guestname\n"
"\n"
msgstr ""
" # virsh edit guestname\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:180
msgid ""
"Change E<lt>source ...E<gt>, see L<http://libvirt.org/formatdomain."
"html#elementsDisks>"
msgstr ""
"Change E<lt>source ...E<gt>, see L<http://libvirt.org/formatdomain."
"html#elementsDisks>"

#. type: textblock
#: ../resize/virt-resize.pod:183
msgid "Then start up the domain with the new, resized disk:"
msgstr "Then start up the domain with the new, resized disk:"

#. type: verbatim
#: ../resize/virt-resize.pod:185
#, no-wrap
msgid ""
" # virsh start guestname\n"
"\n"
msgstr ""
" # virsh start guestname\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:187
msgid ""
"and check that it still works.  See also the L</NOTES> section below for "
"additional information."
msgstr ""
"and check that it still works.  See also the L</NOTES> section below for "
"additional information."

#. type: =item
#: ../resize/virt-resize.pod:190
msgid "7. Resize LVs etc inside the guest"
msgstr "7. Resize LVs etc inside the guest"

#. type: textblock
#: ../resize/virt-resize.pod:192
msgid "(This can also be done offline using L<guestfish(1)>)"
msgstr "(This can also be done offline using L<guestfish(1)>)"

#. type: textblock
#: ../resize/virt-resize.pod:194
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 ""
"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."

#. type: =head2
#: ../resize/virt-resize.pod:201
msgid "SHRINKING A VIRTUAL MACHINE DISK"
msgstr "SHRINKING A VIRTUAL MACHINE DISK"

#. type: textblock
#: ../resize/virt-resize.pod:203
msgid ""
"Shrinking is somewhat more complex than expanding, and only an overview is "
"given here."
msgstr ""
"Shrinking is somewhat more complex than expanding, and only an overview is "
"given here."

#. type: textblock
#: ../resize/virt-resize.pod:206
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:211
msgid "(Shrinking can also be done offline using L<guestfish(1)>)"
msgstr "(Shrinking can also be done offline using L<guestfish(1)>)"

#. type: textblock
#: ../resize/virt-resize.pod:213
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 ""
"After shrinking PVs and filesystems, shut down the guest, and proceed with "
"steps 3 and 4 above to allocate a new disk image."

#. type: textblock
#: ../resize/virt-resize.pod:216
msgid ""
"Then run virt-resize with any of the I<--shrink> and/or I<--resize> options."
msgstr ""
"Then run virt-resize with any of the I<--shrink> and/or I<--resize> options."

#. type: =head2
#: ../resize/virt-resize.pod:219
msgid "IGNORING OR DELETING PARTITIONS"
msgstr "IGNORING OR DELETING PARTITIONS"

#. type: textblock
#: ../resize/virt-resize.pod:221
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 ""
"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."

#. type: =head2
#: ../resize/virt-resize.pod:228
msgid "QCOW2 AND NON-SPARSE RAW FORMATS"
msgstr "QCOW2 AND NON-SPARSE RAW FORMATS"

#. type: textblock
#: ../resize/virt-resize.pod:230
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 ""
"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:"

#. type: verbatim
#: ../resize/virt-resize.pod:236
#, no-wrap
msgid ""
" qemu-img create -f qcow2 -o preallocation=metadata outdisk [size]\n"
"\n"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:238
msgid "instead of the truncate command."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:240
msgid "Similarly, to get non-sparse raw output use:"
msgstr "Similarly, to get non-sparse raw output use:"

#. type: verbatim
#: ../resize/virt-resize.pod:242
#, no-wrap
msgid ""
" fallocate -l size outdisk\n"
"\n"
msgstr ""
" fallocate -l size outdisk\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:244
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: =head2
#: ../resize/virt-resize.pod:247
msgid "LOGICAL PARTITIONS"
msgstr "LOGICAL PARTITIONS"

#. type: textblock
#: ../resize/virt-resize.pod:249
msgid ""
"Logical partitions (a.k.a. F</dev/sda5+> on disks using DOS partition "
"tables) cannot be resized."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:252
msgid ""
"To understand what is going on, firstly one of the four partitions F</dev/"
"sda1-4> will have MBR partition type C<05> or C<0f>.  This is called the "
"B<extended partition>.  Use L<virt-filesystems(1)> to see the MBR partition "
"type."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:257
msgid "Logical partitions live inside the extended partition."
msgstr "Logical partitions live inside the extended partition."

#. type: textblock
#: ../resize/virt-resize.pod:259
msgid ""
"The extended partition can be expanded, but not shrunk (unless you force it, "
"which is not advisable).  When the extended partition is copied across, all "
"the logical partitions contained inside are copied over implicitly.  Virt-"
"resize does not look inside the extended partition, so it copies the logical "
"partitions blindly."
msgstr ""
"The extended partition can be expanded, but not shrunk (unless you force it, "
"which is not advisable).  When the extended partition is copied across, all "
"the logical partitions contained inside are copied over implicitly.  Virt-"
"resize does not look inside the extended partition, so it copies the logical "
"partitions blindly."

#. type: textblock
#: ../resize/virt-resize.pod:265
msgid ""
"You cannot specify a logical partition (F</dev/sda5+>) at all on the command "
"line.  Doing so will give an error."
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:276
msgid "B<--align-first> B<auto>"
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:278
msgid "B<--align-first> B<never>"
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:280
msgid "B<--align-first> B<always>"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:282
msgid ""
"Align the first partition for improved performance (see also the I<--"
"alignment> option)."
msgstr ""
"Align the first partition for improved performance (see also the I<--"
"alignment> option)."

#. type: textblock
#: ../resize/virt-resize.pod:285
msgid ""
"The default is I<--align-first auto> which only aligns the first partition "
"if it is safe to do so.  That is, only when we know how to fix the "
"bootloader automatically, and at the moment that can only be done for "
"Windows guests."
msgstr ""
"The default is I<--align-first auto> which only aligns the first partition "
"if it is safe to do so.  That is, only when we know how to fix the "
"bootloader automatically, and at the moment that can only be done for "
"Windows guests."

#. type: textblock
#: ../resize/virt-resize.pod:290
msgid ""
"I<--align-first never> means we never move the first partition.  This is the "
"safest option.  Try this if the guest does not boot after resizing."
msgstr ""
"I<--align-first never> means we never move the first partition.  This is the "
"safest option.  Try this if the guest does not boot after resizing."

#. type: textblock
#: ../resize/virt-resize.pod:294
msgid ""
"I<--align-first always> means we always align the first partition (if it "
"needs to be aligned).  For some guests this will break the bootloader, "
"making the guest unbootable."
msgstr ""
"I<--align-first always> means we always align the first partition (if it "
"needs to be aligned).  For some guests this will break the bootloader, "
"making the guest unbootable."

#. type: =item
#: ../resize/virt-resize.pod:298
msgid "B<--alignment> N"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:300
msgid ""
"Set the alignment of partitions to C<N> sectors.  The default in virt-resize "
"E<lt> 1.13.19 was 64 sectors, and after that is 128 sectors."
msgstr ""
"Set the alignment of partitions to C<N> sectors.  The default in virt-resize "
"E<lt> 1.13.19 was 64 sectors, and after that is 128 sectors."

#. type: textblock
#: ../resize/virt-resize.pod:304
msgid ""
"Assuming 512 byte sector size inside the guest, here are some suitable "
"values for this:"
msgstr ""
"Assuming 512 byte sector size inside the guest, here are some suitable "
"values for this:"

#. type: =item
#: ../resize/virt-resize.pod:309
msgid "I<--alignment 1> (512 bytes)"
msgstr "I<--alignment 1> (512 bytes)"

#. type: textblock
#: ../resize/virt-resize.pod:311
msgid ""
"The partitions would be packed together as closely as possible, but would be "
"completely unaligned.  In some cases this can cause very poor performance.  "
"See L<virt-alignment-scan(1)> for further details."
msgstr ""
"The partitions would be packed together as closely as possible, but would be "
"completely unaligned.  In some cases this can cause very poor performance.  "
"See L<virt-alignment-scan(1)> for further details."

#. type: =item
#: ../resize/virt-resize.pod:315
msgid "I<--alignment 8> (4K)"
msgstr "I<--alignment 8> (4K)"

#. type: textblock
#: ../resize/virt-resize.pod:317
msgid ""
"This would be the minimum acceptable alignment for reasonable performance on "
"modern hosts."
msgstr ""
"This would be the minimum acceptable alignment for reasonable performance on "
"modern hosts."

#. type: =item
#: ../resize/virt-resize.pod:320
msgid "I<--alignment 128> (64K)"
msgstr "I<--alignment 128> (64K)"

#. type: textblock
#: ../resize/virt-resize.pod:322
msgid ""
"This alignment provides good performance when the host is using high end "
"network storage."
msgstr ""
"This alignment provides good performance when the host is using high end "
"network storage."

#. type: =item
#: ../resize/virt-resize.pod:325
msgid "I<--alignment 2048> (1M)"
msgstr "I<--alignment 2048> (1M)"

#. type: textblock
#: ../resize/virt-resize.pod:327
msgid ""
"This is the standard alignment used by all newly installed guests since "
"around 2008."
msgstr ""
"This is the standard alignment used by all newly installed guests since "
"around 2008."

#. type: =item
#: ../resize/virt-resize.pod:341
msgid "B<-d>"
msgstr "B<-d>"

#. type: =item
#: ../resize/virt-resize.pod:343 ../tools/virt-win-reg:117
msgid "B<--debug>"
msgstr "B<--debug>"

#. type: textblock
#: ../resize/virt-resize.pod:345
msgid "(Deprecated: use I<-v> option instead)"
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:349
msgid "B<--delete> PART"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:351
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:355
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:360 ../resize/virt-resize.pod:437
#: ../resize/virt-resize.pod:570 ../sparsify/virt-sparsify.pod:226
msgid "You can give this option multiple times."
msgstr "You can give this option multiple times."

#. type: =item
#: ../resize/virt-resize.pod:362
msgid "B<--expand> PART"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:364
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 ""
"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)."

#. type: textblock
#: ../resize/virt-resize.pod:367
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:372
msgid "Currently virt-resize can resize:"
msgstr "Currently virt-resize can resize:"

#. type: textblock
#: ../resize/virt-resize.pod:378
msgid "ext2, ext3 and ext4 filesystems."
msgstr "ext2, ext3 and ext4 filesystems."

#. type: textblock
#: ../resize/virt-resize.pod:382
msgid "NTFS filesystems, if libguestfs was compiled with support for NTFS."
msgstr "NTFS filesystems, if libguestfs was compiled with support for NTFS."

#. type: textblock
#: ../resize/virt-resize.pod:384
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:391
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:397
msgid "Btrfs filesystems, if libguestfs was compiled with support for btrfs."
msgstr "Btrfs filesystems, if libguestfs was compiled with support for btrfs."

#. type: textblock
#: ../resize/virt-resize.pod:401
msgid "XFS filesystems, if libguestfs was compiled with support for XFS."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:405
msgid "Linux swap partitions."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:407
msgid ""
"Please note that libguestfs I<destroys> the existing swap content by "
"recreating it with C<mkswap>, so this should not be used when the guest is "
"suspended."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:413
msgid "f2fs filesystems, if libguestfs was compiled with support for f2fs."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:417 ../resize/virt-resize.pod:598
msgid "Note that you cannot use I<--expand> and I<--shrink> together."
msgstr "Note that you cannot use I<--expand> and I<--shrink> together."

#. type: =item
#: ../resize/virt-resize.pod:419
msgid "B<--format> B<raw>"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:421 ../sparsify/virt-sparsify.pod:206
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 ""
"Specify the format of the input disk image.  If this flag is not given then "
"it is auto-detected from the image itself."

#. type: textblock
#: ../resize/virt-resize.pod:427
msgid ""
"Note that this option I<does not> affect the output format.  See L</QCOW2 "
"AND NON-SPARSE RAW FORMATS>."
msgstr ""
"Note that this option I<does not> affect the output format.  See L</QCOW2 "
"AND NON-SPARSE RAW FORMATS>."

#. type: =item
#: ../resize/virt-resize.pod:430
msgid "B<--ignore> PART"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:432
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 ""
"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)."

#. type: =item
#: ../resize/virt-resize.pod:439
msgid "B<--LV-expand> LOGVOL"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:441
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 F</dev/sda2> and a root device called F</dev/vg_guest/"
"lv_root> would be:"
msgstr ""

#. type: verbatim
#: ../resize/virt-resize.pod:446
#, no-wrap
msgid ""
" virt-resize indisk outdisk \\\n"
"   --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root\n"
"\n"
msgstr ""
" virt-resize indisk outdisk \\\n"
"   --expand /dev/sda2 --LV-expand /dev/vg_guest/lv_root\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:449
msgid ""
"This would first expand the partition (and PV), and then expand the root "
"device to fill the extra space in the PV."
msgstr ""
"This would first expand the partition (and PV), and then expand the root "
"device to fill the extra space in the PV."

#. type: textblock
#: ../resize/virt-resize.pod:452
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 ""
"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>."

#. type: textblock
#: ../resize/virt-resize.pod:456
msgid "Use L<virt-filesystems(1)> to list the filesystems in the guest."
msgstr "Use L<virt-filesystems(1)> to list the filesystems in the guest."

#. type: textblock
#: ../resize/virt-resize.pod:458
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:474
msgid "Print a summary of what would be done, but don’t do anything."
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:476
msgid "B<--no-copy-boot-loader>"
msgstr "B<--no-copy-boot-loader>"

#. type: textblock
#: ../resize/virt-resize.pod:478
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:483
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 ""
"If you specify this flag, then this initial copy is not done.  You may need "
"to reinstall the boot loader in this case."

#. type: =item
#: ../resize/virt-resize.pod:486
msgid "B<--no-extra-partition>"
msgstr "B<--no-extra-partition>"

#. type: textblock
#: ../resize/virt-resize.pod:488
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:494
msgid ""
"Note that if the surplus space is smaller than 10 MB, no extra partition "
"will be created."
msgstr ""
"Note that if the surplus space is smaller than 10 MB, no extra partition "
"will be created."

#. type: =item
#: ../resize/virt-resize.pod:497
msgid "B<--no-expand-content>"
msgstr "B<--no-expand-content>"

#. type: textblock
#: ../resize/virt-resize.pod:499
msgid ""
"By default, virt-resize will try to expand the direct contents of "
"partitions, if it knows how (see I<--expand> option above)."
msgstr ""
"By default, virt-resize will try to expand the direct contents of "
"partitions, if it knows how (see I<--expand> option above)."

#. type: textblock
#: ../resize/virt-resize.pod:502
msgid ""
"If you give the I<--no-expand-content> option then virt-resize will not "
"attempt this."
msgstr ""
"If you give the I<--no-expand-content> option then virt-resize will not "
"attempt this."

#. type: =item
#: ../resize/virt-resize.pod:505
msgid "B<--no-sparse>"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:507
msgid "Turn off sparse copying.  See L</SPARSE COPYING> below."
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:509
msgid "B<--ntfsresize-force>"
msgstr "B<--ntfsresize-force>"

#. type: textblock
#: ../resize/virt-resize.pod:511
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 ""
"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."

#. type: =item
#: ../resize/virt-resize.pod:517
msgid "B<--output-format> B<raw>"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:519
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 ""
"Specify the format of the output disk image.  If this flag is not given then "
"it is auto-detected from the image itself."

#. type: textblock
#: ../resize/virt-resize.pod:525
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 ""
"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>."

#. type: textblock
#: ../resize/virt-resize.pod:534
msgid "Don’t print the summary."
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:536
msgid "B<--resize> PART=SIZE"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:538
msgid ""
"Resize the named partition (expanding or shrinking it) so that it has the "
"given size."
msgstr ""
"Resize the named partition (expanding or shrinking it) so that it has the "
"given size."

#. type: textblock
#: ../resize/virt-resize.pod:541
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:547
#, no-wrap
msgid ""
" --resize /dev/sda2=10G\n"
"\n"
msgstr ""
" --resize /dev/sda2=10G\n"
"\n"

#. type: verbatim
#: ../resize/virt-resize.pod:549
#, no-wrap
msgid ""
" --resize /dev/sda4=90%\n"
"\n"
msgstr ""
" --resize /dev/sda4=90%\n"
"\n"

#. type: verbatim
#: ../resize/virt-resize.pod:551
#, no-wrap
msgid ""
" --resize /dev/sda2=+1G\n"
"\n"
msgstr ""
" --resize /dev/sda2=+1G\n"
"\n"

#. type: verbatim
#: ../resize/virt-resize.pod:553
#, no-wrap
msgid ""
" --resize /dev/sda2=-200M\n"
"\n"
msgstr ""
" --resize /dev/sda2=-200M\n"
"\n"

#. type: verbatim
#: ../resize/virt-resize.pod:555
#, no-wrap
msgid ""
" --resize /dev/sda1=+128K\n"
"\n"
msgstr ""
" --resize /dev/sda1=+128K\n"
"\n"

#. type: verbatim
#: ../resize/virt-resize.pod:557
#, no-wrap
msgid ""
" --resize /dev/sda1=+10%\n"
"\n"
msgstr ""
" --resize /dev/sda1=+10%\n"
"\n"

#. type: verbatim
#: ../resize/virt-resize.pod:559
#, no-wrap
msgid ""
" --resize /dev/sda1=-10%\n"
"\n"
msgstr ""
" --resize /dev/sda1=-10%\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:561
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> above)."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:565
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 ""
"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>)."

#. type: =item
#: ../resize/virt-resize.pod:572
msgid "B<--resize-force> PART=SIZE"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:574
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 ""
"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)."

#. type: textblock
#: ../resize/virt-resize.pod:580
msgid "See also the I<--ignore> option."
msgstr "See also the I<--ignore> option."

#. type: =item
#: ../resize/virt-resize.pod:582
msgid "B<--shrink> PART"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:584
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:590
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 ""
"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."

#. type: =item
#: ../resize/virt-resize.pod:600
msgid "B<--unknown-filesystems> B<ignore>"
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:602
msgid "B<--unknown-filesystems> B<warn>"
msgstr ""

#. type: =item
#: ../resize/virt-resize.pod:604
msgid "B<--unknown-filesystems> B<error>"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:606
msgid ""
"Configure the behaviour of virt-resize when asking to expand a filesystem, "
"and neither libguestfs has the support it, nor virt-resize knows how to "
"expand the content of the filesystem."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:610
msgid ""
"I<--unknown-filesystems ignore> will cause virt-resize to silently ignore "
"such filesystems, and nothing is printed about them."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:613
msgid ""
"I<--unknown-filesystems warn> (the default behaviour) will cause virt-resize "
"to warn for each of the filesystem that cannot be expanded, but still "
"continuing to resize the disk."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:617
msgid ""
"I<--unknown-filesystems error> will cause virt-resize to error out at the "
"first filesystem that cannot be expanded."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:620
msgid ""
"See also L</\"unknown/unavailable method for expanding the TYPE filesystem "
"on DEVICE/LV\">."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:642
msgid ""
"The I<--machine-readable> option can be used to make the output more machine "
"friendly, which is useful when calling virt-resize from other programs, GUIs "
"etc."
msgstr ""
"The I<--machine-readable> option can be used to make the output more machine "
"friendly, which is useful when calling virt-resize from other programs, GUIs "
"etc."

#. type: textblock
#: ../resize/virt-resize.pod:646 ../sparsify/virt-sparsify.pod:363
msgid "There are two ways to use this option."
msgstr "There are two ways to use this option."

#. type: textblock
#: ../resize/virt-resize.pod:648
msgid ""
"Firstly use the option on its own to query the capabilities of the virt-"
"resize binary.  Typical output looks like this:"
msgstr ""
"Firstly use the option on its own to query the capabilities of the virt-"
"resize binary.  Typical output looks like this:"

#. type: verbatim
#: ../resize/virt-resize.pod:651
#, no-wrap
msgid ""
" $ virt-resize --machine-readable\n"
" virt-resize\n"
" ntfsresize-force\n"
" 32bitok\n"
" ntfs\n"
" btrfs\n"
"\n"
msgstr ""
" $ virt-resize --machine-readable\n"
" virt-resize\n"
" ntfsresize-force\n"
" 32bitok\n"
" ntfs\n"
" btrfs\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:661 ../sparsify/virt-sparsify.pod:376
msgid ""
"Secondly use the option in conjunction with other options to make the "
"regular program output more machine friendly."
msgstr ""
"Secondly use the option in conjunction with other options to make the "
"regular program output more machine friendly."

#. type: textblock
#: ../resize/virt-resize.pod:664 ../sparsify/virt-sparsify.pod:379
msgid "At the moment this means:"
msgstr "At the moment this means:"

#. type: textblock
#: ../resize/virt-resize.pod:670 ../sparsify/virt-sparsify.pod:385
msgid ""
"Progress bar messages can be parsed from stdout by looking for this regular "
"expression:"
msgstr ""
"Progress bar messages can be parsed from stdout by looking for this regular "
"expression:"

#. type: verbatim
#: ../resize/virt-resize.pod:673 ../sparsify/virt-sparsify.pod:388
#, no-wrap
msgid ""
" ^[0-9]+/[0-9]+$\n"
"\n"
msgstr ""
" ^[0-9]+/[0-9]+$\n"
"\n"

#. type: textblock
#: ../resize/virt-resize.pod:677 ../sparsify/virt-sparsify.pod:392
msgid ""
"The calling program should treat messages sent to stdout (except for "
"progress bar messages) as status messages.  They can be logged and/or "
"displayed to the user."
msgstr ""
"The calling program should treat messages sent to stdout (except for "
"progress bar messages) as status messages.  They can be logged and/or "
"displayed to the user."

#. type: textblock
#: ../resize/virt-resize.pod:683
msgid ""
"The calling program should treat messages sent to stderr as error messages.  "
"In addition, virt-resize exits with a non-zero status code if there was a "
"fatal error."
msgstr ""
"The calling program should treat messages sent to stderr as error messages.  "
"In addition, virt-resize exits with a non-zero status code if there was a "
"fatal error."

#. type: textblock
#: ../resize/virt-resize.pod:689
msgid ""
"Versions of the program prior to 1.13.9 did not support the I<--machine-"
"readable> option and will return an error."
msgstr ""
"Versions of the program prior to 1.13.9 did not support the I<--machine-"
"readable> option and will return an error."

#. type: =head2
#: ../resize/virt-resize.pod:697
msgid "\"Partition 1 does not end on cylinder boundary.\""
msgstr "\"Partition 1 does not end on cylinder boundary.\""

#. type: textblock
#: ../resize/virt-resize.pod:699
msgid ""
"Virt-resize aligns partitions to multiples of 128 sectors (see the I<--"
"alignment> parameter).  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 ""
"Virt-resize aligns partitions to multiples of 128 sectors (see the I<--"
"alignment> parameter).  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."

#. type: =head2
#: ../resize/virt-resize.pod:706
msgid "GUEST BOOT STUCK AT \"GRUB\""
msgstr "GUEST BOOT STUCK AT \"GRUB\""

#. type: textblock
#: ../resize/virt-resize.pod:708
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."
msgstr ""
"If a Linux guest does not boot after resizing, and the boot is stuck after "
"printing C<GRUB> on the console, try reinstalling grub."

#. type: verbatim
#: ../resize/virt-resize.pod:711
#, 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 ""
" 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"

#. type: textblock
#: ../resize/virt-resize.pod:718
msgid ""
"For more flexible guest reconfiguration, including if you need to specify "
"other parameters to grub-install, use L<virt-rescue(1)>."
msgstr ""
"For more flexible guest reconfiguration, including if you need to specify "
"other parameters to grub-install, use L<virt-rescue(1)>."

#. type: =head2
#: ../resize/virt-resize.pod:721
msgid "RESIZING WINDOWS BOOT PARTITIONS"
msgstr "RESIZING WINDOWS BOOT PARTITIONS"

#. type: textblock
#: ../resize/virt-resize.pod:723
msgid ""
"In Windows Vista and later versions, Microsoft switched to using a separate "
"boot partition.  In these VMs, typically F</dev/sda1> is the boot partition "
"and F</dev/sda2> is the main (C:) drive.  Resizing the first (boot) "
"partition causes the bootloader to fail with C<0xC0000225> error.  Resizing "
"the second partition (ie. C: drive)  should work."
msgstr ""

#. type: =head2
#: ../resize/virt-resize.pod:730
msgid "WINDOWS CHKDSK"
msgstr "WINDOWS CHKDSK"

#. type: textblock
#: ../resize/virt-resize.pod:732
msgid ""
"Windows disks which use NTFS must be consistent before virt-resize can be "
"used.  If the ntfsresize operation fails, try booting the original VM and "
"running C<chkdsk /f> on all NTFS partitions, then shut down the VM cleanly.  "
"For further information see: L<https://bugzilla.redhat.com/show_bug.cgi?"
"id=975753>"
msgstr ""
"Windows disks which use NTFS must be consistent before virt-resize can be "
"used.  If the ntfsresize operation fails, try booting the original VM and "
"running C<chkdsk /f> on all NTFS partitions, then shut down the VM cleanly.  "
"For further information see: L<https://bugzilla.redhat.com/show_bug.cgi?"
"id=975753>"

#. type: textblock
#: ../resize/virt-resize.pod:738
msgid ""
"I<After resize> Windows may initiate a lengthy \"chkdsk\" on first boot if "
"NTFS partitions have been expanded.  This is just a safety check and (unless "
"it find errors) is nothing to worry about."
msgstr ""
"I<After resize> Windows may initiate a lengthy \"chkdsk\" on first boot if "
"NTFS partitions have been expanded.  This is just a safety check and (unless "
"it find errors) is nothing to worry about."

#. type: =head2
#: ../resize/virt-resize.pod:742
msgid "WINDOWS UNMOUNTABLE_BOOT_VOLUME BSOD"
msgstr "WINDOWS UNMOUNTABLE_BOOT_VOLUME BSOD"

#. type: textblock
#: ../resize/virt-resize.pod:744
msgid ""
"After sysprepping a Windows guest and then resizing it with virt-resize, you "
"may see the guest fail to boot with an C<UNMOUNTABLE_BOOT_VOLUME> BSOD.  "
"This error is caused by having C<ExtendOemPartition=1> in the sysprep.inf "
"file.  Removing this line before sysprepping should fix the problem."
msgstr ""
"After sysprepping a Windows guest and then resizing it with virt-resize, you "
"may see the guest fail to boot with an C<UNMOUNTABLE_BOOT_VOLUME> BSOD.  "
"This error is caused by having C<ExtendOemPartition=1> in the sysprep.inf "
"file.  Removing this line before sysprepping should fix the problem."

#. type: textblock
#: ../resize/virt-resize.pod:752
msgid ""
"Windows 8 \"fast startup\" can prevent virt-resize from resizing NTFS "
"partitions.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST "
"STARTUP>."
msgstr ""
"Windows 8 \"fast startup\" can prevent virt-resize from resizing NTFS "
"partitions.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST "
"STARTUP>."

#. type: =head2
#: ../resize/virt-resize.pod:756
msgid "SPARSE COPYING"
msgstr "SPARSE COPYING"

#. type: textblock
#: ../resize/virt-resize.pod:758
msgid ""
"You should create a fresh, zeroed target disk image for virt-resize to use."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:761
msgid ""
"Virt-resize by default performs sparse copying.  This means that it does not "
"copy blocks from the source disk which are all zeroes.  This improves speed "
"and efficiency, but will produce incorrect results if the target disk image "
"contains unzeroed data."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:766
msgid ""
"The main time this can be a problem is if the target is a host partition "
"(eg. S<C<virt-resize source.img /dev/sda4>>) because the usual partitioning "
"tools tend to leave whatever data happened to be on the disk before."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:771
msgid ""
"If you have to reuse a target which contains data already, you should use "
"the I<--no-sparse> option.  Note this can be much slower."
msgstr ""

#. type: =head2
#: ../resize/virt-resize.pod:774
msgid ""
"\"unknown/unavailable method for expanding the TYPE filesystem on DEVICE/LV\""
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:776
msgid ""
"Virt-resize was asked to expand a partition or a logical volume containing a "
"filesystem with the type C<TYPE>, but there is no available nor known "
"expanding method for that filesystem."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:780
msgid "This may be due to either of the following:"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:786
msgid ""
"There corresponding filesystem is not available in libguestfs, because there "
"is no proper package in the host with utilities for it.  This is usually the "
"case for C<btrfs>, C<ntfs>, C<xfs>, and C<f2fs> filesystems."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:791
msgid "Check the results of:"
msgstr ""

#. type: verbatim
#: ../resize/virt-resize.pod:793
#, no-wrap
msgid ""
" virt-resize --machine-readable\n"
" guestfish -a /dev/null run : available\n"
" guestfish -a /dev/null run : filesystem_available TYPE\n"
"\n"
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:797
msgid ""
"In this case, it is enough to install the proper packages adding support for "
"them.  For example, C<libguestfs-xfs> on Red Hat Enterprise Linux, CentOS, "
"Debian, Ubuntu, and distributions derived from them, for supporting the "
"C<xfs> filesystem."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:804
msgid "Virt-resize has no support for expanding that type of filesystem."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:806
msgid ""
"In this case, there’s nothing that can be done to let virt-resize expand "
"that type of filesystem."
msgstr ""

#. type: textblock
#: ../resize/virt-resize.pod:811
msgid ""
"In both cases, virt-resize will not expand the mentioned filesystem; the "
"result (unless I<--unknown-filesystems error> is specified)  is that the "
"partitions containing such filesystems will be actually bigger as requested, "
"but the filesystems will still be usable at their older sizes."
msgstr ""

#. type: =head1
#: ../resize/virt-resize.pod:817
msgid "ALTERNATIVE TOOLS"
msgstr "ALTERNATIVE TOOLS"

#. type: textblock
#: ../resize/virt-resize.pod:819
msgid ""
"There are several proprietary tools for resizing partitions.  We won't "
"mention any here."
msgstr ""
"There are several proprietary tools for resizing partitions.  We won't "
"mention any here."

#. type: textblock
#: ../resize/virt-resize.pod:822
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:827
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 ""
"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."

#. type: textblock
#: ../resize/virt-resize.pod:833
msgid ""
"L<dracut(8)> includes a module called C<dracut-modules-growroot> which can "
"be used to grow the root partition when the guest first boots up.  There is "
"documentation for this module in an associated README file."
msgstr ""
"L<dracut(8)> includes a module called C<dracut-modules-growroot> which can "
"be used to grow the root partition when the guest first boots up.  There is "
"documentation for this module in an associated README file."

#. type: textblock
#: ../resize/virt-resize.pod:844
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<xfs_growfs(8)>, L<resize.f2fs(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<virt-sparsify(1)>, L<virt-alignment-"
"scan(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../ruby/examples/guestfs-ruby.pod:3
msgid "guestfs-ruby - How to use libguestfs from Ruby"
msgstr "guestfs-ruby - How to use libguestfs from Ruby"

#. type: verbatim
#: ../ruby/examples/guestfs-ruby.pod:7
#, fuzzy, 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"
msgid ""
" require 'guestfs'\n"
" g = Guestfs::Guestfs.new()\n"
" g.add_drive_opts(\"disk.img\",\n"
"                  :readonly => true, :format => \"raw\")\n"
" g.launch()\n"
"\n"
msgstr ""
" require 'guestfs'\n"
" g = Guestfs::Guestfs.new()\n"
" g.add_drive_opts(\"disk.img\",\n"
"                  :readonly => 1, :format => \"raw\")\n"
" g.launch()\n"
"\n"

#. type: textblock
#: ../ruby/examples/guestfs-ruby.pod:15
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 ""
"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)>."

#. type: textblock
#: ../ruby/examples/guestfs-ruby.pod:22
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 ""
"Errors from libguestfs functions are mapped into the C<Error> exception.  "
"This has a single parameter which is the error message (a string)."

#. type: textblock
#: ../ruby/examples/guestfs-ruby.pod:36
msgid ""
"L<guestfs(3)>, L<guestfs-examples(3)>, L<guestfs-erlang(3)>, L<guestfs-"
"gobject(3)>, L<guestfs-golang(3)>, L<guestfs-java(3)>, L<guestfs-lua(3)>, "
"L<guestfs-ocaml(3)>, L<guestfs-perl(3)>, L<guestfs-python(3)>, L<guestfs-"
"recipes(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:3
msgid "virt-sparsify - Make a virtual machine disk sparse"
msgstr "virt-sparsify - Make a virtual machine disk sparse"

#. type: verbatim
#: ../sparsify/virt-sparsify.pod:7
#, no-wrap
msgid ""
" virt-sparsify [--options] indisk outdisk\n"
"\n"
msgstr ""
" virt-sparsify [--options] indisk outdisk\n"
"\n"

#. type: verbatim
#: ../sparsify/virt-sparsify.pod:9
#, no-wrap
msgid ""
" virt-sparsify [--options] --in-place disk\n"
"\n"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:13
msgid ""
"Virt-sparsify is a tool which can make a virtual machine disk (or any disk "
"image) sparse a.k.a. thin-provisioned.  This means that free space within "
"the disk image can be converted back to free space on the host."
msgstr ""
"Virt-sparsify is a tool which can make a virtual machine disk (or any disk "
"image) sparse a.k.a. thin-provisioned.  This means that free space within "
"the disk image can be converted back to free space on the host."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:18
msgid ""
"Virt-sparsify can locate and sparsify free space in most filesystems (eg. "
"ext2/3/4, btrfs, NTFS, etc.), and also in LVM physical volumes."
msgstr ""
"Virt-sparsify can locate and sparsify free space in most filesystems (eg. "
"ext2/3/4, btrfs, NTFS, etc.), and also in LVM physical volumes."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:21
msgid ""
"Virt-sparsify can also convert between some disk formats, for example "
"converting a raw disk image to a thin-provisioned qcow2 image."
msgstr ""
"Virt-sparsify can also convert between some disk formats, for example "
"converting a raw disk image to a thin-provisioned qcow2 image."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:24
msgid ""
"Virt-sparsify can operate on any disk image, not just ones from virtual "
"machines.  However if a virtual machine has multiple disks and uses volume "
"management, then virt-sparsify will work but not be very effective (L<http://"
"bugzilla.redhat.com/887826>)."
msgstr ""
"Virt-sparsify can operate on any disk image, not just ones from virtual "
"machines.  However if a virtual machine has multiple disks and uses volume "
"management, then virt-sparsify will work but not be very effective (L<http://"
"bugzilla.redhat.com/887826>)."

#. type: =head2
#: ../sparsify/virt-sparsify.pod:29
msgid "IMPORTANT NOTE ABOUT SPARSE OUTPUT IMAGES"
msgstr "IMPORTANT NOTE ABOUT SPARSE OUTPUT IMAGES"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:31
msgid ""
"If the input is raw, then the default output is raw sparse.  B<You must "
"check the output size using a tool that understands sparseness> such as C<du "
"-sh>.  It can make a huge difference:"
msgstr ""
"If the input is raw, then the default output is raw sparse.  B<You must "
"check the output size using a tool that understands sparseness> such as C<du "
"-sh>.  It can make a huge difference:"

#. type: =head2
#: ../sparsify/virt-sparsify.pod:42
msgid "IMPORTANT LIMITATIONS"
msgstr "IMPORTANT LIMITATIONS"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:48
msgid "The virtual machine I<must be shut down> before using this tool."
msgstr "The virtual machine I<must be shut down> before using this tool."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:52
msgid ""
"Virt-sparsify may require up to 2x the virtual size of the source disk image "
"(1 temporary copy + 1 destination image).  This is in the worst case and "
"usually much less space is required."
msgstr ""
"Virt-sparsify may require up to 2x the virtual size of the source disk image "
"(1 temporary copy + 1 destination image).  This is in the worst case and "
"usually much less space is required."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:56 ../sparsify/virt-sparsify.pod:441
msgid ""
"If you are using the I<--in-place> option, then large amounts of temporary "
"space are B<not> required."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:61
msgid ""
"Virt-sparsify cannot resize disk images.  To do that, use L<virt-resize(1)>."
msgstr ""
"Virt-sparsify cannot resize disk images.  To do that, use L<virt-resize(1)>."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:66
msgid ""
"Virt-sparsify cannot handle encrypted disks.  Libguestfs supports encrypted "
"disks, but encrypted disks themselves cannot be sparsified."
msgstr ""
"Virt-sparsify cannot handle encrypted disks.  Libguestfs supports encrypted "
"disks, but encrypted disks themselves cannot be sparsified."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:71
msgid ""
"Virt-sparsify cannot yet sparsify the space between partitions.  Note that "
"this space is often used for critical items like bootloaders so it's not "
"really unused."
msgstr ""
"Virt-sparsify cannot yet sparsify the space between partitions.  Note that "
"this space is often used for critical items like bootloaders so it's not "
"really unused."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:77
msgid ""
"In copy mode, qcow2 internal snapshots are not copied over to the "
"destination image."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:82
msgid ""
"You may also want to read the manual pages for the associated tools L<virt-"
"filesystems(1)> and L<virt-df(1)> before starting."
msgstr ""
"You may also want to read the manual pages for the associated tools L<virt-"
"filesystems(1)> and L<virt-df(1)> before starting."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:87
msgid "Typical usage is:"
msgstr "Typical usage is:"

#. type: verbatim
#: ../sparsify/virt-sparsify.pod:89
#, no-wrap
msgid ""
" virt-sparsify indisk outdisk\n"
"\n"
msgstr ""
" virt-sparsify indisk outdisk\n"
"\n"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:91
msgid ""
"which copies C<indisk> to C<outdisk>, making the output sparse.  C<outdisk> "
"is created, or overwritten if it already exists.  The format of the input "
"disk is detected (eg. qcow2) and the same format is used for the output disk."
msgstr ""
"which copies C<indisk> to C<outdisk>, making the output sparse.  C<outdisk> "
"is created, or overwritten if it already exists.  The format of the input "
"disk is detected (eg. qcow2) and the same format is used for the output disk."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:96
msgid "To convert between formats, use the I<--convert> option:"
msgstr "To convert between formats, use the I<--convert> option:"

#. type: verbatim
#: ../sparsify/virt-sparsify.pod:98
#, no-wrap
msgid ""
" virt-sparsify disk.raw --convert qcow2 disk.qcow2\n"
"\n"
msgstr ""
" virt-sparsify disk.raw --convert qcow2 disk.qcow2\n"
"\n"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:100
msgid ""
"Virt-sparsify tries to zero and sparsify free space on every filesystem it "
"can find within the source disk image.  You can get it to ignore (don't zero "
"free space on) certain filesystems by doing:"
msgstr ""
"Virt-sparsify tries to zero and sparsify free space on every filesystem it "
"can find within the source disk image.  You can get it to ignore (don't zero "
"free space on) certain filesystems by doing:"

#. type: verbatim
#: ../sparsify/virt-sparsify.pod:104
#, no-wrap
msgid ""
" virt-sparsify --ignore /dev/sda1 indisk outdisk\n"
"\n"
msgstr ""
" virt-sparsify --ignore /dev/sda1 indisk outdisk\n"
"\n"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:106
msgid ""
"See L<virt-filesystems(1)> to get a list of filesystems within a disk image."
msgstr ""
"See L<virt-filesystems(1)> to get a list of filesystems within a disk image."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:109
msgid ""
"Since virt-sparsify E<ge> 1.26, you can now sparsify a disk image in place "
"by doing:"
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:122
msgid "B<--check-tmpdir> B<ignore>"
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:124
msgid "B<--check-tmpdir> B<continue>"
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:126
msgid "B<--check-tmpdir> B<warn>"
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:128
msgid "B<--check-tmpdir> B<fail>"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:130
msgid ""
"Check if L</TMPDIR> or I<--tmp> directory has enough space to complete the "
"operation.  This is just an estimate."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:133
msgid "If the check indicates a problem, then you can either:"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:139
msgid "B<ignore> it,"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:143
msgid "print a warning and B<continue>,"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:147
msgid ""
"B<warn> and wait for the user to press the Return key (this is the default), "
"or:"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:152
msgid "B<fail> and exit."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:156 ../sparsify/virt-sparsify.pod:172
#: ../sparsify/virt-sparsify.pod:193 ../sparsify/virt-sparsify.pod:260
#: ../sparsify/virt-sparsify.pod:282
msgid "You cannot use this option and I<--in-place> together."
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:167
msgid "B<--compress>"
msgstr "B<--compress>"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:169
msgid ""
"Compress the output file.  This I<only> works if the output format is "
"C<qcow2>."
msgstr ""
"Compress the output file.  This I<only> works if the output format is "
"C<qcow2>."

#. type: =item
#: ../sparsify/virt-sparsify.pod:174
msgid "B<--convert> raw"
msgstr "B<--convert> raw"

#. type: =item
#: ../sparsify/virt-sparsify.pod:176
msgid "B<--convert> qcow2"
msgstr "B<--convert> qcow2"

#. type: =item
#: ../sparsify/virt-sparsify.pod:178
msgid "B<--convert> [other formats]"
msgstr "B<--convert> [other formats]"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:180
msgid ""
"Use C<output-format> as the format for the destination image.  If this is "
"not specified, then the input format is used."
msgstr ""
"Use C<output-format> as the format for the destination image.  If this is "
"not specified, then the input format is used."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:183
msgid ""
"Supported and known-working output formats are: C<raw>, C<qcow2>, C<vdi>."
msgstr ""
"Supported and known-working output formats are: C<raw>, C<qcow2>, C<vdi>."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:185
msgid ""
"You can also use any format supported by the L<qemu-img(1)> program, eg. "
"C<vmdk>, but support for other formats is reliant on qemu."
msgstr ""
"You can also use any format supported by the L<qemu-img(1)> program, eg. "
"C<vmdk>, but support for other formats is reliant on qemu."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:188
msgid ""
"Specifying the I<--convert> option is usually a good idea, because then virt-"
"sparsify doesn't need to try to guess the input format."
msgstr ""
"Specifying the I<--convert> option is usually a good idea, because then virt-"
"sparsify doesn't need to try to guess the input format."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:191
msgid "For fine-tuning the output format, see: I<--compress>, I<-o>."
msgstr "For fine-tuning the output format, see: I<--compress>, I<-o>."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:197
msgid ""
"When prompting for keys and passphrases, virt-sparsify 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
#: ../sparsify/virt-sparsify.pod:212
msgid "B<--ignore> filesystem"
msgstr "B<--ignore> filesystem"

#. type: =item
#: ../sparsify/virt-sparsify.pod:214
msgid "B<--ignore> volgroup"
msgstr "B<--ignore> volgroup"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:216
msgid "Ignore the named filesystem."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:218
msgid ""
"When not using I<--in-place>: Free space on the filesystem will not be "
"zeroed, but existing blocks of zeroes will still be sparsified."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:221
msgid "When using I<--in-place>, the filesystem is ignored completely."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:223
msgid ""
"In the second form, this ignores the named volume group.  Use the volume "
"group name without the F</dev/> prefix, eg. I<--ignore vg_foo>"
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:228
msgid "B<--in-place>"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:230
msgid ""
"Do in-place sparsification instead of copying sparsification.  See L</IN-"
"PLACE SPARSIFICATION> below."
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:248
msgid "B<-o> option[,option,...]"
msgstr "B<-o> option[,option,...]"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:250
msgid ""
"Pass I<-o> option(s) to the L<qemu-img(1)> command to fine-tune the output "
"format.  Options available depend on the output format (see I<--convert>) "
"and the installed version of the qemu-img program."
msgstr ""
"Pass I<-o> option(s) to the L<qemu-img(1)> command to fine-tune the output "
"format.  Options available depend on the output format (see I<--convert>) "
"and the installed version of the qemu-img program."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:254
msgid ""
"You should use I<-o> at most once.  To pass multiple options, separate them "
"with commas, eg:"
msgstr ""
"You should use I<-o> at most once.  To pass multiple options, separate them "
"with commas, eg:"

#. type: verbatim
#: ../sparsify/virt-sparsify.pod:257
#, no-wrap
msgid ""
" virt-sparsify --convert qcow2 \\\n"
"   -o cluster_size=512,preallocation=metadata ...\n"
"\n"
msgstr ""
" virt-sparsify --convert qcow2 \\\n"
"   -o cluster_size=512,preallocation=metadata ...\n"
"\n"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:266
msgid "This disables progress bars and other unnecessary output."
msgstr "This disables progress bars and other unnecessary output."

#. type: =item
#: ../sparsify/virt-sparsify.pod:268
msgid "B<--tmp> block_device"
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:270
msgid "B<--tmp> dir"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:272
msgid ""
"In copying mode only, use the named device or directory as the location of "
"the temporary overlay (see also L</TMPDIR> below)."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:275
msgid ""
"If the parameter given is a block device, then the block device is written "
"to directly.  B<Note this erases the existing contents of the block device>."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:279
msgid ""
"If the parameter is a directory, then this is the same as setting the L</"
"TMPDIR> environment variable."
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:284
msgid "B<--tmp> prebuilt:file"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:286
msgid ""
"In copying mode only, the specialized option I<--tmp prebuilt:file> (where "
"C<prebuilt:> is a literal string) causes virt-sparsify to use the qcow2 "
"C<file> as temporary space."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:294
msgid ""
"The file B<must> be freshly formatted as qcow2, with indisk as the backing "
"file."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:299
msgid ""
"If you rerun virt-sparsify, you B<must> recreate the file before each run."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:304
msgid "Virt-sparsify does not delete the file."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:308
msgid ""
"This option is used by oVirt which requires a specially formatted temporary "
"file."
msgstr ""

#. type: =item
#: ../sparsify/virt-sparsify.pod:327
msgid "B<--zero> partition"
msgstr "B<--zero> partition"

#. type: =item
#: ../sparsify/virt-sparsify.pod:329
msgid "B<--zero> logvol"
msgstr "B<--zero> logvol"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:331
msgid ""
"Zero the contents of the named partition or logical volume in the guest.  "
"All data on the device is lost, but sparsification is excellent! You can "
"give this option multiple times."
msgstr ""
"Zero the contents of the named partition or logical volume in the guest.  "
"All data on the device is lost, but sparsification is excellent! You can "
"give this option multiple times."

#. type: =head1
#: ../sparsify/virt-sparsify.pod:337
msgid "IN-PLACE SPARSIFICATION"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:339
msgid ""
"Since virt-sparsify E<ge> 1.26, the tool is able to do in-place "
"sparsification (instead of copying from an input disk to an output disk).  "
"This is more efficient.  It is not able to recover quite as much space as "
"copying sparsification."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:344
msgid "To use this mode, specify a disk image which will be modified in place:"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:349
msgid ""
"Some options are not compatible with this mode: I<--convert>, I<--compress> "
"and I<-o> because they require wholesale disk format changes; I<--check-"
"tmpdir> because large amounts of temporary space are not required."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:354
msgid ""
"In-place sparsification works using discard (a.k.a trim or unmap)  support."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:359
msgid ""
"The I<--machine-readable> option can be used to make the output more machine "
"friendly, which is useful when calling virt-sparsify from other programs, "
"GUIs etc."
msgstr ""
"The I<--machine-readable> option can be used to make the output more machine "
"friendly, which is useful when calling virt-sparsify from other programs, "
"GUIs etc."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:365
msgid ""
"Firstly use the option on its own to query the capabilities of the virt-"
"sparsify binary.  Typical output looks like this:"
msgstr ""
"Firstly use the option on its own to query the capabilities of the virt-"
"sparsify binary.  Typical output looks like this:"

#. type: verbatim
#: ../sparsify/virt-sparsify.pod:368
#, no-wrap
msgid ""
" $ virt-sparsify --machine-readable\n"
" virt-sparsify\n"
" ntfs\n"
" btrfs\n"
"\n"
msgstr ""
" $ virt-sparsify --machine-readable\n"
" virt-sparsify\n"
" ntfs\n"
" btrfs\n"
"\n"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:398
msgid ""
"The calling program should treat messages sent to stderr as error messages.  "
"In addition, virt-sparsify exits with a non-zero status code if there was a "
"fatal error."
msgstr ""
"The calling program should treat messages sent to stderr as error messages.  "
"In addition, virt-sparsify exits with a non-zero status code if there was a "
"fatal error."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:404
msgid ""
"All versions of virt-sparsify have supported the I<--machine-readable> "
"option."
msgstr ""
"All versions of virt-sparsify have supported the I<--machine-readable> "
"option."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:412
msgid ""
"Windows 8 \"fast startup\" can prevent virt-sparsify from working.  See "
"L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>."
msgstr ""
"Windows 8 \"fast startup\" can prevent virt-sparsify from working.  See "
"L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:421
msgid ""
"Location of the temporary directory used for the potentially large temporary "
"overlay file."
msgstr ""
"Location of the temporary directory used for the potentially large temporary "
"overlay file."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:424
msgid ""
"In virt-sparsify E<ge> 1.28, you can override this environment variable "
"using the I<--tmp> option."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:427
msgid ""
"You should ensure there is enough free space in the worst case for a full "
"copy of the source disk (I<virtual> size), or else set C<$TMPDIR> to point "
"to another directory that has enough space."
msgstr ""
"You should ensure there is enough free space in the worst case for a full "
"copy of the source disk (I<virtual> size), or else set C<$TMPDIR> to point "
"to another directory that has enough space."

#. type: textblock
#: ../sparsify/virt-sparsify.pod:431
msgid "This defaults to F</tmp>."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:433
msgid ""
"Note that if C<$TMPDIR> is a tmpfs (eg. if F</tmp> is on tmpfs, or if you "
"use C<TMPDIR=/dev/shm>), tmpfs defaults to a maximum size of I<half> of "
"physical RAM.  If virt-sparsify exceeds this, it will hang.  The solution is "
"either to use a real disk, or to increase the maximum size of the tmpfs "
"mountpoint, eg:"
msgstr ""

#. type: verbatim
#: ../sparsify/virt-sparsify.pod:439
#, no-wrap
msgid ""
" mount -o remount,size=10G /tmp\n"
"\n"
msgstr ""
" mount -o remount,size=10G /tmp\n"
"\n"

#. type: textblock
#: ../sparsify/virt-sparsify.pod:450
msgid ""
"This program returns 0 if the operation completed without errors.  (This "
"doesn't necessarily mean that space could be freed up.)"
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:453
msgid "A non-zero exit code indicates an error."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:455
msgid ""
"If the exit code is C<3> and the I<--in-place> option was used, that "
"indicates that discard support is not available in libguestfs, so copying "
"mode must be used instead."
msgstr ""

#. type: textblock
#: ../sparsify/virt-sparsify.pod:461
msgid ""
"L<virt-df(1)>, L<virt-filesystems(1)>, L<virt-resize(1)>, L<virt-rescue(1)>, "
"L<guestfs(3)>, L<guestfish(1)>, L<truncate(1)>, L<fallocate(1)>, L<qemu-"
"img(1)>, L<http://libguestfs.org/>."
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:1
msgid "B<--append-line> FILE:LINE (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:32
msgid "B<--chmod> PERMISSIONS:FILE (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:40
msgid "B<--commands-from-file> FILENAME (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:65
msgid "B<--copy> SOURCE:DEST (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:72
msgid "B<--copy-in> LOCALPATH:REMOTEDIR (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:80
msgid "B<--delete> PATH (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:94
msgid "B<--edit> FILE:EXPR (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:106
msgid "B<--firstboot> SCRIPT (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:125
msgid "B<--firstboot-command> 'CMD+ARGS' (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:139
msgid "B<--firstboot-install> PKG,PKG..  (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:149
msgid "B<--hostname> HOSTNAME (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:155
msgid "B<--install> PKG,PKG..  (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:167
msgid "B<--keep-user-accounts> USERS (see C<user-account> below)"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:170
msgid ""
"The user accounts to be kept in the guest.  The value of this option is a "
"list of user names separated by comma, where specifying an user means it is "
"going to be kept.  For example:"
msgstr ""

#. type: verbatim
#: ../sysprep/sysprep-extra-options.pod:175
#, no-wrap
msgid ""
" --keep-user-accounts mary\n"
"\n"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:177
msgid "would keep the user account C<mary>."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:179
#: ../sysprep/sysprep-extra-options.pod:255
msgid "This option can be specified multiple times."
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:181
msgid "B<--link> TARGET:LINK[:LINK..] (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:187
msgid "B<--mkdir> DIR (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:195
msgid "B<--move> SOURCE:DEST (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:202
msgid "B<--no-logfile> (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:211
msgid "B<--password> USER:SELECTOR (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:220
msgid "B<--password-crypto> md5|sha256|sha512 (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:243
msgid "B<--remove-user-accounts> USERS (see C<user-account> below)"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:246
msgid ""
"The user accounts to be removed from the guest.  The value of this option is "
"a list of user names separated by comma, where specifying an user means it "
"is going to be removed.  For example:"
msgstr ""

#. type: verbatim
#: ../sysprep/sysprep-extra-options.pod:251
#, no-wrap
msgid ""
" --remove-user-accounts bob,eve\n"
"\n"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:253
msgid "would only remove the user accounts C<bob> and C<eve>."
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:257
msgid "B<--root-password> SELECTOR (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:268
msgid "B<--run> SCRIPT (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:288
msgid "B<--run-command> 'CMD+ARGS' (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:305
msgid "B<--script> SCRIPT (see C<script> below)"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:308
msgid ""
"Run the named C<SCRIPT> (a shell script or program) against the guest.  The "
"script can be any program on the host.  The script’s current directory will "
"be the guest’s root directory."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:312
msgid ""
"B<Note:> If the script is not on the $PATH, then you must give the full "
"absolute path to the script."
msgstr ""
"B<Note:> If the script is not on the $PATH, then you must give the full "
"absolute path to the script."

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:315
msgid "B<--scriptdir> SCRIPTDIR (see C<script> below)"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:318
msgid ""
"The mount point (an empty directory on the host) used when the C<script> "
"operation is enabled and one or more scripts are specified using I<--script> "
"parameter(s)."
msgstr ""
"The mount point (an empty directory on the host) used when the C<script> "
"operation is enabled and one or more scripts are specified using I<--script> "
"parameter(s)."

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:322
msgid "B<Note:> C<SCRIPTDIR> B<must> be an absolute path."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-extra-options.pod:324
msgid ""
"If I<--scriptdir> is not specified then a temporary mountpoint will be "
"created."
msgstr ""
"If I<--scriptdir> is not specified then a temporary mountpoint will be "
"created."

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:327
msgid "B<--scrub> FILE (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:344
msgid "B<--selinux-relabel> (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:355
msgid "B<--sm-attach> SELECTOR (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:363
msgid "B<--sm-credentials> SELECTOR (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:371
msgid "B<--sm-register> (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:378
msgid "B<--sm-remove> (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:384
msgid "B<--sm-unregister> (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:389
msgid "B<--ssh-inject> USER[:SELECTOR] (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:402
msgid "B<--timezone> TIMEZONE (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:408
msgid "B<--touch> FILE (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:413
msgid "B<--truncate> FILE (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:419
msgid "B<--truncate-recursive> PATH (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:424
msgid "B<--uninstall> PKG,PKG..  (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:434
msgid "B<--update> (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:443
msgid "B<--upload> FILE:DEST (see C<customize> below)"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-extra-options.pod:459
msgid "B<--write> FILE:CONTENT (see C<customize> below)"
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:1
msgid "B<abrt-data> *"
msgstr "B<abrt-data> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:4
msgid "Remove the crash data generated by ABRT."
msgstr "Remove the crash data generated by ABRT."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:6
msgid ""
"Remove the automatically generated ABRT crash data in C</var/spool/abrt/>."
msgstr ""
"Remove the automatically generated ABRT crash data in C</var/spool/abrt/>."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:9
msgid "B<backup-files> *"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:12
msgid "Remove editor backup files from the guest."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:14
msgid "The following files are removed from anywhere in the guest filesystem:"
msgstr ""

#. type: =item
#: ../sysprep/sysprep-operations.pod:19 ../sysprep/sysprep-operations.pod:23
#: ../sysprep/sysprep-operations.pod:34 ../sysprep/sysprep-operations.pod:38
#: ../sysprep/sysprep-operations.pod:42 ../sysprep/sysprep-operations.pod:46
#: ../sysprep/sysprep-operations.pod:50 ../sysprep/sysprep-operations.pod:180
#: ../sysprep/sysprep-operations.pod:184 ../sysprep/sysprep-operations.pod:188
#: ../sysprep/sysprep-operations.pod:192 ../sysprep/sysprep-operations.pod:196
#: ../sysprep/sysprep-operations.pod:200 ../sysprep/sysprep-operations.pod:204
#: ../sysprep/sysprep-operations.pod:208 ../sysprep/sysprep-operations.pod:212
#: ../sysprep/sysprep-operations.pod:216 ../sysprep/sysprep-operations.pod:220
#: ../sysprep/sysprep-operations.pod:224 ../sysprep/sysprep-operations.pod:228
#: ../sysprep/sysprep-operations.pod:232 ../sysprep/sysprep-operations.pod:236
#: ../sysprep/sysprep-operations.pod:240 ../sysprep/sysprep-operations.pod:244
#: ../sysprep/sysprep-operations.pod:248 ../sysprep/sysprep-operations.pod:252
#: ../sysprep/sysprep-operations.pod:256 ../sysprep/sysprep-operations.pod:260
#: ../sysprep/sysprep-operations.pod:264 ../sysprep/sysprep-operations.pod:268
#: ../sysprep/sysprep-operations.pod:272 ../sysprep/sysprep-operations.pod:276
#: ../sysprep/sysprep-operations.pod:280 ../sysprep/sysprep-operations.pod:284
#: ../sysprep/sysprep-operations.pod:288 ../sysprep/sysprep-operations.pod:292
#: ../sysprep/sysprep-operations.pod:296 ../sysprep/sysprep-operations.pod:300
#: ../sysprep/sysprep-operations.pod:304 ../sysprep/sysprep-operations.pod:308
#: ../sysprep/sysprep-operations.pod:312 ../sysprep/sysprep-operations.pod:316
#: ../sysprep/sysprep-operations.pod:320 ../sysprep/sysprep-operations.pod:324
#: ../sysprep/sysprep-operations.pod:328 ../sysprep/sysprep-operations.pod:332
#: ../sysprep/sysprep-operations.pod:336 ../sysprep/sysprep-operations.pod:340
#: ../sysprep/sysprep-operations.pod:344 ../sysprep/sysprep-operations.pod:348
#: ../sysprep/sysprep-operations.pod:352 ../sysprep/sysprep-operations.pod:356
#: ../sysprep/sysprep-operations.pod:360 ../sysprep/sysprep-operations.pod:364
#: ../sysprep/sysprep-operations.pod:368 ../sysprep/sysprep-operations.pod:372
#: ../sysprep/sysprep-operations.pod:376 ../sysprep/sysprep-operations.pod:380
#: ../sysprep/sysprep-operations.pod:384 ../sysprep/sysprep-operations.pod:388
#: ../sysprep/sysprep-operations.pod:392 ../sysprep/sysprep-operations.pod:396
#: ../sysprep/sysprep-operations.pod:400 ../sysprep/sysprep-operations.pod:404
#: ../sysprep/sysprep-operations.pod:408 ../sysprep/sysprep-operations.pod:412
#: ../sysprep/sysprep-operations.pod:416 ../sysprep/sysprep-operations.pod:420
#: ../sysprep/sysprep-operations.pod:424 ../sysprep/sysprep-operations.pod:428
#: ../sysprep/sysprep-operations.pod:432 ../sysprep/sysprep-operations.pod:436
#: ../sysprep/sysprep-operations.pod:440 ../sysprep/sysprep-operations.pod:444
#: ../sysprep/sysprep-operations.pod:448 ../sysprep/sysprep-operations.pod:452
#: ../sysprep/sysprep-operations.pod:456 ../sysprep/sysprep-operations.pod:528
#: ../sysprep/sysprep-operations.pod:532 ../sysprep/sysprep-operations.pod:536
#: ../sysprep/sysprep-operations.pod:540 ../sysprep/sysprep-operations.pod:544
#: ../sysprep/sysprep-operations.pod:548
msgid "·"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:21
msgid "*.bak"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:25
msgid "*~"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:29
msgid ""
"On Linux and Unix operating systems, only the following filesystems will be "
"examined:"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:36
msgid "/etc"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:40
msgid "/root"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:44
msgid "/srv"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:48
msgid "/tmp"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:52
msgid "/var"
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:56
msgid "B<bash-history> *"
msgstr "B<bash-history> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:59
msgid "Remove the bash history in the guest."
msgstr "Remove the bash history in the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:61
msgid ""
"Remove the bash history of user \"root\" and any other users who have a C<."
"bash_history> file in their home directory."
msgstr ""
"Remove the bash history of user \"root\" and any other users who have a C<."
"bash_history> file in their home directory."

#. type: =head3
#: ../sysprep/sysprep-operations.pod:64
msgid "Notes on bash-history"
msgstr "Notes on bash-history"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:66
msgid ""
"Currently this only looks in C</root> and C</home/*> for home directories, "
"so users with home directories in other locations won't have the bash "
"history removed."
msgstr ""
"Currently this only looks in C</root> and C</home/*> for home directories, "
"so users with home directories in other locations won't have the bash "
"history removed."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:70
msgid "B<blkid-tab> *"
msgstr "B<blkid-tab> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:73
msgid "Remove blkid tab in the guest."
msgstr "Remove blkid tab in the guest."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:75
msgid "B<ca-certificates>"
msgstr "B<ca-certificates>"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:77
msgid "Remove CA certificates in the guest."
msgstr "Remove CA certificates in the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:79
msgid "In case any certificate is removed, the system CA store is updated."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:81
msgid "B<crash-data> *"
msgstr "B<crash-data> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:84
msgid "Remove the crash data generated by kexec-tools."
msgstr "Remove the crash data generated by kexec-tools."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:86
msgid "Remove the automatically generated kdump kernel crash data."
msgstr "Remove the automatically generated kdump kernel crash data."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:88
msgid "B<cron-spool> *"
msgstr "B<cron-spool> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:91
msgid "Remove user at-jobs and cron-jobs."
msgstr "Remove user at-jobs and cron-jobs."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:93
msgid "B<customize> *"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:96
msgid "Customize the guest."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:98
msgid ""
"Customize the guest by providing L<virt-customize(1)> options for installing "
"packages, editing files and so on."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:101
msgid "B<dhcp-client-state> *"
msgstr "B<dhcp-client-state> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:104
msgid "Remove DHCP client leases."
msgstr "Remove DHCP client leases."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:106
msgid "B<dhcp-server-state> *"
msgstr "B<dhcp-server-state> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:109
msgid "Remove DHCP server leases."
msgstr "Remove DHCP server leases."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:111
msgid "B<dovecot-data> *"
msgstr "B<dovecot-data> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:114
msgid "Remove Dovecot (mail server) data."
msgstr "Remove Dovecot (mail server) data."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:116
msgid "B<firewall-rules>"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:118
msgid "Remove the firewall rules."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:120
msgid ""
"This removes custom firewall rules by removing C</etc/sysconfig/iptables> or "
"custom firewalld configuration in C</etc/firewalld/*/*>."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:123
msgid ""
"Note this is I<not> enabled by default since it may expose guests to "
"exploits.  Use with care."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:126
msgid "B<flag-reconfiguration>"
msgstr "B<flag-reconfiguration>"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:128
msgid "Flag the system for reconfiguration."
msgstr "Flag the system for reconfiguration."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:130
msgid ""
"For Linux guests, this touches C</.unconfigured>, which causes the first "
"boot to interactively query the user for settings such as the root password "
"and timezone."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:134
msgid "B<fs-uuids>"
msgstr "B<fs-uuids>"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:136
msgid "Change filesystem UUIDs."
msgstr "Change filesystem UUIDs."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:138
msgid ""
"On guests and filesystem types where this is supported, new random UUIDs are "
"generated and assigned to filesystems."
msgstr ""
"On guests and filesystem types where this is supported, new random UUIDs are "
"generated and assigned to filesystems."

#. type: =head3
#: ../sysprep/sysprep-operations.pod:141
msgid "Notes on fs-uuids"
msgstr "Notes on fs-uuids"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:143
msgid ""
"The fs-uuids operation is disabled by default because it does not yet find "
"and update all the places in the guest that use the UUIDs.  For example C</"
"etc/fstab> or the bootloader.  Enabling this operation is more likely than "
"not to make your guest unbootable."
msgstr ""
"The fs-uuids operation is disabled by default because it does not yet find "
"and update all the places in the guest that use the UUIDs.  For example C</"
"etc/fstab> or the bootloader.  Enabling this operation is more likely than "
"not to make your guest unbootable."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:149
msgid "See: L<https://bugzilla.redhat.com/show_bug.cgi?id=991641>"
msgstr "See: L<https://bugzilla.redhat.com/show_bug.cgi?id=991641>"

#. type: =head2
#: ../sysprep/sysprep-operations.pod:151
#, fuzzy
#| msgid "B<dhcp-client-state> *"
msgid "B<ipa-client> *"
msgstr "B<dhcp-client-state> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:154
#, fuzzy
#| msgid "Remove the utmp file."
msgid "Remove the IPA files."
msgstr "Remove the utmp file."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:156
msgid ""
"Remove all the files related to an IPA (Identity, Policy, Audit) system.  "
"This effectively unenrolls the guest from an IPA server without interacting "
"with it."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:160
msgid "This operation does not run C<ipa-client>."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:162
msgid "B<kerberos-data>"
msgstr "B<kerberos-data>"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:164
msgid "Remove Kerberos data in the guest."
msgstr "Remove Kerberos data in the guest."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:166
#, fuzzy
#| msgid "B<kerberos-data>"
msgid "B<kerberos-hostkeytab> *"
msgstr "B<kerberos-data>"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:169
#, fuzzy
#| msgid "Remove the SSH host keys in the guest."
msgid "Remove the Kerberos host keytab file in the guest."
msgstr "Remove the SSH host keys in the guest."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:171
msgid "B<logfiles> *"
msgstr "B<logfiles> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:174
msgid "Remove many log files from the guest."
msgstr "Remove many log files from the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:176 ../sysprep/sysprep-operations.pod:524
msgid "On Linux the following files are removed:"
msgstr "On Linux the following files are removed:"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:182
msgid "/etc/Pegasus/*.cnf"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:186
msgid "/etc/Pegasus/*.crt"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:190
msgid "/etc/Pegasus/*.csr"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:194
msgid "/etc/Pegasus/*.pem"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:198
msgid "/etc/Pegasus/*.srl"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:202
msgid "/root/anaconda-ks.cfg"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:206
msgid "/root/anaconda-post.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:210
msgid "/root/initial-setup-ks.cfg"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:214
msgid "/root/install.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:218
msgid "/root/install.log.syslog"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:222
msgid "/root/original-ks.cfg"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:226
msgid "/var/cache/fontconfig/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:230
msgid "/var/cache/gdm/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:234
msgid "/var/cache/man/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:238
msgid "/var/lib/AccountService/users/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:242
msgid "/var/lib/fprint/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:246
msgid "/var/lib/logrotate.status"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:250
msgid "/var/log/*.log*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:254
msgid "/var/log/BackupPC/LOG"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:258
msgid "/var/log/ConsoleKit/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:262
msgid "/var/log/anaconda.syslog"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:266
msgid "/var/log/anaconda/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:270
msgid "/var/log/apache2/*_log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:274
msgid "/var/log/apache2/*_log-*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:278
msgid "/var/log/apt/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:282
msgid "/var/log/aptitude*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:286
msgid "/var/log/audit/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:290
msgid "/var/log/btmp*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:294
msgid "/var/log/ceph/*.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:298
msgid "/var/log/chrony/*.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:302
msgid "/var/log/cron*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:306
msgid "/var/log/cups/*_log*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:310
msgid "/var/log/debug*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:314
msgid "/var/log/dmesg*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:318
msgid "/var/log/exim4/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:322
msgid "/var/log/faillog*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:326
msgid "/var/log/firewalld*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:330
msgid "/var/log/gdm/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:334
msgid "/var/log/glusterfs/*glusterd.vol.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:338
msgid "/var/log/glusterfs/glusterfs.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:342
msgid "/var/log/grubby*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:346
msgid "/var/log/httpd/*log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:350
msgid "/var/log/installer/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:354
msgid "/var/log/jetty/jetty-console.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:358
msgid "/var/log/journal/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:362
msgid "/var/log/lastlog*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:366
msgid "/var/log/libvirt/libvirtd.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:370
msgid "/var/log/libvirt/libxl/*.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:374
msgid "/var/log/libvirt/lxc/*.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:378
msgid "/var/log/libvirt/qemu/*.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:382
msgid "/var/log/libvirt/uml/*.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:386
msgid "/var/log/lightdm/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:390
msgid "/var/log/mail/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:394
msgid "/var/log/maillog*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:398
msgid "/var/log/messages*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:402
msgid "/var/log/ntp"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:406
msgid "/var/log/ntpstats/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:410
msgid "/var/log/ppp/connect-errors"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:414
msgid "/var/log/rhsm/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:418
msgid "/var/log/sa/*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:422
msgid "/var/log/secure*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:426
msgid "/var/log/setroubleshoot/*.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:430
msgid "/var/log/spooler*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:434
msgid "/var/log/squid/*.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:438
msgid "/var/log/syslog*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:442
msgid "/var/log/tallylog*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:446
msgid "/var/log/tuned/tuned.log"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:450
msgid "/var/log/wtmp*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:454
msgid "/var/log/xferlog*"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:458
msgid "/var/named/data/named.run"
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:462
msgid "B<lvm-uuids> *"
msgstr "B<lvm-uuids> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:465
msgid "Change LVM2 PV and VG UUIDs."
msgstr "Change LVM2 PV and VG UUIDs."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:467
msgid ""
"On Linux guests that have LVM2 physical volumes (PVs) or volume groups "
"(VGs), new random UUIDs are generated and assigned to those PVs and VGs."
msgstr ""
"On Linux guests that have LVM2 physical volumes (PVs) or volume groups "
"(VGs), new random UUIDs are generated and assigned to those PVs and VGs."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:470
msgid "B<machine-id> *"
msgstr "B<machine-id> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:473
msgid "Remove the local machine ID."
msgstr "Remove the local machine ID."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:475
msgid ""
"The machine ID is usually generated from a random source during system "
"installation and stays constant for all subsequent boots.  Optionally, for "
"stateless systems it is generated during runtime at boot if it is found to "
"be empty."
msgstr ""
"The machine ID is usually generated from a random source during system "
"installation and stays constant for all subsequent boots.  Optionally, for "
"stateless systems it is generated during runtime at boot if it is found to "
"be empty."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:480
msgid "B<mail-spool> *"
msgstr "B<mail-spool> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:483
msgid "Remove email from the local mail spool directory."
msgstr "Remove e-mail from the local mail spool directory."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:485
msgid "B<net-hostname> *"
msgstr "B<net-hostname> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:488
msgid "Remove HOSTNAME and DHCP_HOSTNAME in network interface configuration."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:490 ../sysprep/sysprep-operations.pod:498
msgid ""
"For Fedora and Red Hat Enterprise Linux, this is removed from C<ifcfg-*> "
"files."
msgstr ""
"For Fedora and Red Hat Enterprise Linux, this is removed from C<ifcfg-*> "
"files."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:493
msgid "B<net-hwaddr> *"
msgstr "B<net-hwaddr> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:496
msgid "Remove HWADDR (hard-coded MAC address) configuration."
msgstr "Remove HWADDR (hard-coded MAC address) configuration."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:501
msgid "B<pacct-log> *"
msgstr "B<pacct-log> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:504
msgid "Remove the process accounting log files."
msgstr "Remove the process accounting log files."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:506
msgid ""
"The system wide process accounting will store to the pacct log files if the "
"process accounting is on."
msgstr ""
"The system wide process accounting will store to the pacct log files if the "
"process accounting is on."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:509
msgid "B<package-manager-cache> *"
msgstr "B<package-manager-cache> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:512
msgid "Remove package manager cache."
msgstr "Remove package manager cache."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:514
msgid "B<pam-data> *"
msgstr "B<pam-data> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:517
msgid "Remove the PAM data in the guest."
msgstr "Remove the PAM data in the guest."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:519
msgid "B<passwd-backups> *"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:522
msgid "Remove /etc/passwd- and similar backup files."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:530
msgid "/etc/group-"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:534
msgid "/etc/gshadow-"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:538
msgid "/etc/passwd-"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:542
msgid "/etc/shadow-"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:546
msgid "/etc/subgid-"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:550
msgid "/etc/subuid-"
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:554
msgid "B<puppet-data-log> *"
msgstr "B<puppet-data-log> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:557
msgid "Remove the data and log files of puppet."
msgstr "Remove the data and log files of puppet."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:559
msgid "B<rh-subscription-manager> *"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:562
msgid "Remove the RH subscription manager files."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:564
msgid "B<rhn-systemid> *"
msgstr "B<rhn-systemid> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:567
msgid "Remove the RHN system ID."
msgstr "Remove the RHN system ID."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:569
msgid "B<rpm-db> *"
msgstr "B<rpm-db> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:572
msgid "Remove host-specific RPM database files."
msgstr "Remove host-specific RPM database files."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:574
msgid ""
"Remove host-specific RPM database files and locks.  RPM will recreate these "
"files automatically if needed."
msgstr ""
"Remove host-specific RPM database files and locks.  RPM will recreate these "
"files automatically if needed."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:577
msgid "B<samba-db-log> *"
msgstr "B<samba-db-log> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:580
msgid "Remove the database and log files of Samba."
msgstr "Remove the database and log files of Samba."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:582
msgid "B<script> *"
msgstr "B<script> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:585
msgid "Run arbitrary scripts against the guest."
msgstr "Run arbitrary scripts against the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:587
msgid ""
"The C<script> module lets you run arbitrary shell scripts or programs "
"against the guest."
msgstr ""
"The C<script> module lets you run arbitrary shell scripts or programs "
"against the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:590
msgid ""
"Note this feature requires FUSE support.  You may have to enable this in "
"your host, for example by adding the current user to the C<fuse> group, or "
"by loading a kernel module."
msgstr ""
"Note this feature requires FUSE support.  You may have to enable this in "
"your host, for example by adding the current user to the C<fuse> group, or "
"by loading a kernel module."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:594
msgid ""
"Use one or more I<--script> parameters to specify scripts or programs that "
"will be run against the guest."
msgstr ""
"Use one or more I<--script> parameters to specify scripts or programs that "
"will be run against the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:597
msgid ""
"The script or program is run with its current directory being the guest’s "
"root directory, so relative paths should be used.  For example: C<rm etc/"
"resolv.conf> in the script would remove a Linux guest’s DNS configuration "
"file, but C<rm /etc/resolv.conf> would (try to) remove the host’s file."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:603
msgid ""
"Normally a temporary mount point for the guest is used, but you can choose a "
"specific one by using the I<--scriptdir> parameter."
msgstr ""
"Normally a temporary mount point for the guest is used, but you can choose a "
"specific one by using the I<--scriptdir> parameter."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:606
msgid ""
"B<Note:> This is different from I<--firstboot> scripts (which run in the "
"context of the guest when it is booting first time).  I<--script> scripts "
"run on the host, not in the guest."
msgstr ""
"B<Note:> This is different from I<--firstboot> scripts (which run in the "
"context of the guest when it is booting first time).  I<--script> scripts "
"run on the host, not in the guest."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:610
msgid "B<smolt-uuid> *"
msgstr "B<smolt-uuid> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:613
msgid "Remove the Smolt hardware UUID."
msgstr "Remove the Smolt hardware UUID."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:615
msgid "B<ssh-hostkeys> *"
msgstr "B<ssh-hostkeys> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:618
msgid "Remove the SSH host keys in the guest."
msgstr "Remove the SSH host keys in the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:620
msgid ""
"The SSH host keys are regenerated (differently) next time the guest is "
"booted."
msgstr ""
"The SSH host keys are regenerated (differently) next time the guest is "
"booted."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:623
msgid ""
"If, after cloning, the guest gets the same IP address, ssh will give you a "
"stark warning about the host key changing:"
msgstr ""
"If, after cloning, the guest gets the same IP address, ssh will give you a "
"stark warning about the host key changing:"

#. type: verbatim
#: ../sysprep/sysprep-operations.pod:626
#, no-wrap
msgid ""
" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
" @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\n"
" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
" IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!\n"
"\n"
msgstr ""
" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
" @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @\n"
" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n"
" IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!\n"
"\n"

#. type: =head2
#: ../sysprep/sysprep-operations.pod:631
msgid "B<ssh-userdir> *"
msgstr "B<ssh-userdir> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:634
msgid "Remove \".ssh\" directories in the guest."
msgstr "Remove \".ssh\" directories in the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:636
msgid ""
"Remove the C<.ssh> directory of user \"root\" and any other users who have a "
"C<.ssh> directory in their home directory."
msgstr ""
"Remove the C<.ssh> directory of user \"root\" and any other users who have a "
"C<.ssh> directory in their home directory."

#. type: =head3
#: ../sysprep/sysprep-operations.pod:639
msgid "Notes on ssh-userdir"
msgstr "Notes on ssh-userdir"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:641
msgid ""
"Currently this only looks in C</root> and C</home/*> for home directories, "
"so users with home directories in other locations won't have the ssh files "
"removed."
msgstr ""
"Currently this only looks in C</root> and C</home/*> for home directories, "
"so users with home directories in other locations won't have the ssh files "
"removed."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:645
msgid "B<sssd-db-log> *"
msgstr "B<sssd-db-log> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:648
msgid "Remove the database and log files of sssd."
msgstr "Remove the database and log files of sssd."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:650
msgid "B<tmp-files> *"
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:653
msgid "Remove temporary files."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:655
msgid "This removes temporary files under C</tmp> and C</var/tmp>."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:657
msgid "B<udev-persistent-net> *"
msgstr "B<udev-persistent-net> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:660
msgid "Remove udev persistent net rules."
msgstr "Remove udev persistent net rules."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:662
msgid ""
"Remove udev persistent net rules which map the guest’s existing MAC address "
"to a fixed ethernet device (eg. eth0)."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:665
msgid ""
"After a guest is cloned, the MAC address usually changes.  Since the old MAC "
"address occupies the old name (eg. eth0), this means the fresh MAC address "
"is assigned to a new name (eg. eth1) and this is usually undesirable.  "
"Erasing the udev persistent net rules avoids this."
msgstr ""
"After a guest is cloned, the MAC address usually changes.  Since the old MAC "
"address occupies the old name (eg. eth0), this means the fresh MAC address "
"is assigned to a new name (eg. eth1) and this is usually undesirable.  "
"Erasing the udev persistent net rules avoids this."

#. type: =head2
#: ../sysprep/sysprep-operations.pod:670
msgid "B<user-account>"
msgstr "B<user-account>"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:672
msgid "Remove the user accounts in the guest."
msgstr "Remove the user accounts in the guest."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:674
msgid ""
"By default remove all the user accounts and their home directories.  The "
"\"root\" account is not removed."
msgstr ""

#. type: textblock
#: ../sysprep/sysprep-operations.pod:677
msgid ""
"See the I<--remove-user-accounts> parameter for a way to specify how to "
"remove only some users, or to not remove some others."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:680
msgid "B<utmp> *"
msgstr "B<utmp> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:683
msgid "Remove the utmp file."
msgstr "Remove the utmp file."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:685
msgid ""
"This file records who is currently logged in on a machine.  In modern Linux "
"distros it is stored in a ramdisk and hence not part of the virtual "
"machine’s disk, but it was stored on disk in older distros."
msgstr ""

#. type: =head2
#: ../sysprep/sysprep-operations.pod:689
msgid "B<yum-uuid> *"
msgstr "B<yum-uuid> *"

#. type: textblock
#: ../sysprep/sysprep-operations.pod:692
msgid "Remove the yum UUID."
msgstr "Remove the yum UUID."

#. type: textblock
#: ../sysprep/sysprep-operations.pod:694
msgid ""
"Yum creates a fresh UUID the next time it runs when it notices that the "
"original UUID has been erased."
msgstr ""
"Yum creates a fresh UUID the next time it runs when it notices that the "
"original UUID has been erased."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:3
msgid ""
"virt-sysprep - Reset, unconfigure or customize a virtual machine so clones "
"can be made"
msgstr ""
"virt-sysprep - Reset, unconfigure or customise a virtual machine so clones "
"can be made"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:7
#, no-wrap
msgid ""
" virt-sysprep [--options] -d domname\n"
"\n"
msgstr ""
" virt-sysprep [--options] -d domname\n"
"\n"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:9
#, no-wrap
msgid ""
" virt-sysprep [--options] -a disk.img [-a disk.img ...]\n"
"\n"
msgstr ""
" virt-sysprep [--options] -a disk.img [-a disk.img ...]\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:13
msgid ""
"Virt-sysprep can reset or unconfigure a virtual machine so that clones can "
"be made from it.  Steps in this process include removing SSH host keys, "
"removing persistent network MAC configuration, and removing user accounts.  "
"Virt-sysprep can also customize a virtual machine, for instance by adding "
"SSH keys, users or logos.  Each step can be enabled or disabled as required."
msgstr ""
"Virt-sysprep can reset or unconfigure a virtual machine so that clones can "
"be made from it.  Steps in this process include removing SSH host keys, "
"removing persistent network MAC configuration, and removing user accounts.  "
"Virt-sysprep can also customise a virtual machine, for instance by adding "
"SSH keys, users or logos.  Each step can be enabled or disabled as required."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:20
msgid ""
"Virt-sysprep modifies the guest or disk image I<in place>.  The guest must "
"be shut down.  If you want to preserve the existing contents of the guest, "
"I<you must snapshot, copy or clone the disk first>.  See L</COPYING AND "
"CLONING> below."
msgstr ""
"Virt-sysprep modifies the guest or disk image I<in place>.  The guest must "
"be shut down.  If you want to preserve the existing contents of the guest, "
"I<you must snapshot, copy or clone the disk first>.  See L</COPYING AND "
"CLONING> below."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:25
msgid ""
"You do I<not> need to run virt-sysprep as root.  In fact we'd generally "
"recommend that you don't.  The time you might want to run it as root is when "
"you need root in order to access the disk image, but even in this case it "
"would be better to change the permissions on the disk image to be writable "
"as the non-root user running virt-sysprep."
msgstr ""
"You do I<not> need to run virt-sysprep as root.  In fact we'd generally "
"recommend that you don't.  The time you might want to run it as root is when "
"you need root in order to access the disk image, but even in this case it "
"would be better to change the permissions on the disk image to be writable "
"as the non-root user running virt-sysprep."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:31
msgid ""
"\"Sysprep\" stands for \"system preparation\" tool.  The name comes from the "
"Microsoft program F<sysprep.exe> which is used to unconfigure Windows "
"machines in preparation for cloning them.  Having said that, virt-sysprep "
"does I<not> currently work on Microsoft Windows guests.  We plan to support "
"Windows sysprepping in a future version, and we already have code to do it."
msgstr ""

#. type: =item
#: ../sysprep/virt-sysprep.pod:95
msgid "B<--enable> operations"
msgstr "B<--enable> operations"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:97 ../sysprep/virt-sysprep.pod:121
msgid ""
"Choose which sysprep operations to perform.  Give a comma-separated list of "
"operations, for example:"
msgstr ""
"Choose which sysprep operations to perform.  Give a comma-separated list of "
"operations, for example:"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:100
#, no-wrap
msgid ""
" --enable ssh-hostkeys,udev-persistent-net\n"
"\n"
msgstr ""
" --enable ssh-hostkeys,udev-persistent-net\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:102 ../sysprep/virt-sysprep.pod:126
msgid ""
"would enable ONLY C<ssh-hostkeys> and C<udev-persistent-net> operations."
msgstr ""
"would enable ONLY C<ssh-hostkeys> and C<udev-persistent-net> operations."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:104
msgid ""
"If the I<--enable> option is not given, then we default to trying most "
"sysprep operations (see I<--list-operations> to show which are enabled)."
msgstr ""
"If the I<--enable> option is not given, then we default to trying most "
"sysprep operations (see I<--list-operations> to show which are enabled)."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:108
msgid ""
"Regardless of the I<--enable> option, sysprep operations are skipped for "
"some guest types."
msgstr ""
"Regardless of the I<--enable> option, sysprep operations are skipped for "
"some guest types."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:111 ../sysprep/virt-sysprep.pod:152
msgid ""
"Use I<--list-operations> to list operations supported by a particular "
"version of virt-sysprep."
msgstr ""
"Use I<--list-operations> to list operations supported by a particular "
"version of virt-sysprep."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:114 ../sysprep/virt-sysprep.pod:155
msgid ""
"See L</OPERATIONS> below for a list and an explanation of each operation."
msgstr ""
"See L</OPERATIONS> below for a list and an explanation of each operation."

#. type: =item
#: ../sysprep/virt-sysprep.pod:117
msgid "B<--operation> operations"
msgstr ""

#. type: =item
#: ../sysprep/virt-sysprep.pod:119
msgid "B<--operations> operations"
msgstr ""

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:124
#, no-wrap
msgid ""
" --operations ssh-hostkeys,udev-persistent-net\n"
"\n"
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:128
msgid ""
"I<--operations> allows you to enable and disable any operation, including "
"the default ones (which would be tried when specifying neither I<--"
"operations> nor I<--enable>) and all the available ones; prepending a C<-> "
"in front of an operation name removes it from the list of enabled "
"operations, while the meta-names C<defaults> and C<all> represent "
"respectively the operations enabled by default and all the available ones.  "
"For example:"
msgstr ""

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:136
#, no-wrap
msgid ""
" --operations firewall-rules,defaults,-tmp-files\n"
"\n"
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:138
msgid ""
"would enable the C<firewall-rules> operation (regardless whether it is "
"enabled by default), all the default ones, and disable the C<tmp-files> "
"operation."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:141
msgid ""
"I<--operations> can be specified multiple times; the first time the set of "
"enabled operations is empty, while any further I<--operations> affects the "
"operations enabled so far."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:145
msgid ""
"If the I<--operations> option is not given, then we default to trying most "
"sysprep operations (see I<--list-operations> to show which are enabled)."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:149
msgid ""
"Regardless of the I<--operations> option, sysprep operations are skipped for "
"some guest types."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:160
msgid ""
"When prompting for keys and passphrases, virt-sysprep 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: verbatim
#: ../sysprep/virt-sysprep.pod:176
#, no-wrap
msgid ""
" virt-sysprep --format raw -a disk.img\n"
"\n"
msgstr ""
" virt-sysprep --format raw -a disk.img\n"
"\n"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:180
#, no-wrap
msgid ""
" virt-sysprep --format raw -a disk.img --format auto -a another.img\n"
"\n"
msgstr ""
" virt-sysprep --format raw -a disk.img --format auto -a another.img\n"
"\n"

#. type: =item
#: ../sysprep/virt-sysprep.pod:196
msgid "B<--list-operations>"
msgstr "B<--list-operations>"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:198
msgid "List the operations supported by the virt-sysprep program."
msgstr "List the operations supported by the virt-sysprep program."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:200
msgid ""
"These are listed one per line, with one or more single-space-separated "
"fields, eg:"
msgstr ""
"These are listed one per line, with one or more single-space-separated "
"fields, eg:"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:203
#, no-wrap
msgid ""
" $ virt-sysprep --list-operations\n"
" bash-history * Remove the bash history in the guest\n"
" cron-spool * Remove user at-jobs and cron-jobs\n"
" dhcp-client-state * Remove DHCP client leases\n"
" dhcp-server-state * Remove DHCP server leases\n"
" [etc]\n"
"\n"
msgstr ""
" $ virt-sysprep --list-operations\n"
" bash-history * Remove the bash history in the guest\n"
" cron-spool * Remove user at-jobs and cron-jobs\n"
" dhcp-client-state * Remove DHCP client leases\n"
" dhcp-server-state * Remove DHCP server leases\n"
" [etc]\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:210
msgid ""
"The first field is the operation name, which can be supplied to I<--"
"enable>.  The second field is a C<*> character if the operation is enabled "
"by default or blank if not.  Subsequent fields on the same line are the "
"description of the operation."
msgstr ""
"The first field is the operation name, which can be supplied to I<--"
"enable>.  The second field is a C<*> character if the operation is enabled "
"by default or blank if not.  Subsequent fields on the same line are the "
"description of the operation."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:215
msgid ""
"Before libguestfs 1.17.33 only the first (operation name) field was shown "
"and all operations were enabled by default."
msgstr ""
"Before libguestfs 1.17.33 only the first (operation name) field was shown "
"and all operations were enabled by default."

#. type: =item
#: ../sysprep/virt-sysprep.pod:218
msgid "B<--mount-options> mp:opts[;mp:opts;...]"
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:220
msgid ""
"Set the mount options used when libguestfs opens the disk image.  Note this "
"has no effect on the guest.  It is used when opening certain guests such as "
"ones using the UFS (BSD) filesystem."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:224
msgid ""
"Use a semicolon-separated list of C<mountpoint:options> pairs.  You may need "
"to quote this list to protect it from the shell."
msgstr ""

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:229
#, no-wrap
msgid ""
" --mount-options \"/:noatime\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:231
msgid "will mount the root directory with C<notime>.  This example:"
msgstr ""

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:233
#, no-wrap
msgid ""
" --mount-options \"/:noatime;/var:rw,nodiratime\"\n"
"\n"
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:235
msgid "will do the same, plus mount F</var> with C<rw,nodiratime>."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:251
msgid ""
"In virt-sysprep, the network is I<disabled> by default.  You must use I<--"
"network> to enable it, in order that options such as I<--install> or I<--"
"update> will work."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:255
msgid ""
"L<virt-builder(1)> has more information about the security advantages of "
"disabling the network."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:274
msgid "__EXTRA_OPTIONS__"
msgstr "__EXTRA_OPTIONS__"

#. type: =head1
#: ../sysprep/virt-sysprep.pod:278
msgid "OPERATIONS"
msgstr "OPERATIONS"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:280
msgid ""
"If the I<--enable>/I<--operations> option is I<not> given, then most sysprep "
"operations are enabled."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:283
msgid ""
"Use C<virt-sysprep --list-operations> to list all operations for your virt-"
"sysprep binary.  The ones which are enabled by default are marked with a "
"C<*> character.  Regardless of the I<--enable>/I<--operations> options, "
"sysprep operations are skipped for some guest types."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:288
msgid ""
"Operations can be individually enabled using the I<--enable>/I<--operations> "
"options.  Use a comma-separated list, for example:"
msgstr ""

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:292
#, no-wrap
msgid ""
" virt-sysprep --operations ssh-hostkeys,udev-persistent-net [etc..]\n"
"\n"
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:294
msgid ""
"Future versions of virt-sysprep may add more operations.  If you are using "
"virt-sysprep and want predictable behaviour, specify only the operations "
"that you want to have enabled."
msgstr ""
"Future versions of virt-sysprep may add more operations.  If you are using "
"virt-sysprep and want predictable behaviour, specify only the operations "
"that you want to have enabled."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:298
msgid ""
"C<*> = enabled by default when no I<--enable>/I<--operations> option is "
"given."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:301
msgid "__OPERATIONS__"
msgstr "__OPERATIONS__"

#. type: =head1
#: ../sysprep/virt-sysprep.pod:303
msgid "COPYING AND CLONING"
msgstr "COPYING AND CLONING"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:305
msgid ""
"Virt-sysprep can be used as part of a process of cloning guests, or to "
"prepare a template from which guests can be cloned.  There are many "
"different ways to achieve this using the virt tools, and this section is "
"just an introduction."
msgstr ""
"Virt-sysprep can be used as part of a process of cloning guests, or to "
"prepare a template from which guests can be cloned.  There are many "
"different ways to achieve this using the virt tools, and this section is "
"just an introduction."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:310
msgid "A virtual machine (when switched off) consists of two parts:"
msgstr "A virtual machine (when switched off) consists of two parts:"

#. type: =item
#: ../sysprep/virt-sysprep.pod:314
msgid "I<configuration>"
msgstr "I<configuration>"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:316
msgid ""
"The configuration or description of the guest.  eg. The libvirt XML (see "
"C<virsh dumpxml>), the running configuration of the guest, or another "
"external format like OVF."
msgstr ""
"The configuration or description of the guest.  eg. The libvirt XML (see "
"C<virsh dumpxml>), the running configuration of the guest, or another "
"external format like OVF."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:320
msgid "Some configuration items that might need to be changed:"
msgstr "Some configuration items that might need to be changed:"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:326
msgid "name"
msgstr "name"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:330 ../sysprep/virt-sysprep.pod:357
msgid "UUID"
msgstr "UUID"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:334
msgid "path to block device(s)"
msgstr "path to block device(s)"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:338
msgid "network card MAC address"
msgstr "network card MAC address"

#. type: =item
#: ../sysprep/virt-sysprep.pod:342
msgid "I<block device(s)>"
msgstr "I<block device(s)>"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:344
msgid ""
"One or more hard disk images, themselves containing files, directories, "
"applications, kernels, configuration, etc."
msgstr ""
"One or more hard disk images, themselves containing files, directories, "
"applications, kernels, configuration, etc."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:347
msgid "Some things inside the block devices that might need to be changed:"
msgstr "Some things inside the block devices that might need to be changed:"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:353
msgid "hostname and other net configuration"
msgstr "hostname and other net configuration"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:361
msgid "SSH host keys"
msgstr "SSH host keys"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:365
msgid "Windows unique security ID (SID)"
msgstr "Windows unique security ID (SID)"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:369
msgid "Puppet registration"
msgstr "Puppet registration"

#. type: =head2
#: ../sysprep/virt-sysprep.pod:375
msgid "COPYING THE BLOCK DEVICE"
msgstr "COPYING THE BLOCK DEVICE"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:377
msgid ""
"Starting with an original guest, you probably wish to copy the guest block "
"device and its configuration to make a template.  Then once you are happy "
"with the template, you will want to make many clones from it."
msgstr ""
"Starting with an original guest, you probably wish to copy the guest block "
"device and its configuration to make a template.  Then once you are happy "
"with the template, you will want to make many clones from it."

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:382
#, no-wrap
msgid ""
"                        virt-sysprep\n"
"                             |\n"
"                             v\n"
" original guest --------> template ---------->\n"
"                                      \\------> cloned\n"
"                                       \\-----> guests\n"
"                                        \\---->\n"
"\n"
msgstr ""
"                        virt-sysprep\n"
"                             |\n"
"                             v\n"
" original guest --------> template ---------->\n"
"                                      \\------> cloned\n"
"                                       \\-----> guests\n"
"                                        \\---->\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:390
msgid ""
"You can, of course, just copy the block device on the host using L<cp(1)> or "
"L<dd(1)>."
msgstr ""
"You can, of course, just copy the block device on the host using L<cp(1)> or "
"L<dd(1)>."

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:393
#, no-wrap
msgid ""
"                   dd                 dd\n"
" original guest --------> template ---------->\n"
"                                      \\------> cloned\n"
"                                       \\-----> guests\n"
"                                        \\---->\n"
"\n"
msgstr ""
"                   dd                 dd\n"
" original guest --------> template ---------->\n"
"                                      \\------> cloned\n"
"                                       \\-----> guests\n"
"                                        \\---->\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:399
msgid "There are some smarter (and faster) ways too:"
msgstr "There are some smarter (and faster) ways too:"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:401
#, no-wrap
msgid ""
"                          snapshot\n"
"                template ---------->\n"
"                            \\------> cloned\n"
"                             \\-----> guests\n"
"                              \\---->\n"
"\n"
msgstr ""
"                          snapshot\n"
"                template ---------->\n"
"                            \\------> cloned\n"
"                             \\-----> guests\n"
"                              \\---->\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:407
msgid ""
"You may want to run virt-sysprep twice, once to reset the guest (to make a "
"template) and a second time to customize the guest for a specific user:"
msgstr ""
"You may want to run virt-sysprep twice, once to reset the guest (to make a "
"template) and a second time to customise the guest for a specific user:"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:411
#, no-wrap
msgid ""
"                    virt-sysprep        virt-sysprep\n"
"                      (reset)      (add user, keys, logos)\n"
"                         |                   |\n"
"                 dd      v          dd       v\n"
" original guest ----> template ---------> copied ------> custom\n"
"                                          template       guest\n"
"\n"
msgstr ""
"                    virt-sysprep        virt-sysprep\n"
"                      (reset)      (add user, keys, logos)\n"
"                         |                   |\n"
"                 dd      v          dd       v\n"
" original guest ----> template ---------> copied ------> custom\n"
"                                          template       guest\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:422
msgid "Create a snapshot using qemu-img:"
msgstr "Create a snapshot using qemu-img:"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:424
#, no-wrap
msgid ""
" qemu-img create -f qcow2 -o backing_file=original snapshot.qcow\n"
"\n"
msgstr ""
" qemu-img create -f qcow2 -o backing_file=original snapshot.qcow\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:426
msgid ""
"The advantage is that you don’t need to copy the original (very fast)  and "
"only changes are stored (less storage required)."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:429
msgid ""
"Note that writing to the backing file once you have created guests on top of "
"it is not possible: you will corrupt the guests."
msgstr ""
"Note that writing to the backing file once you have created guests on top of "
"it is not possible: you will corrupt the guests."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:434
msgid "Create a snapshot using C<lvcreate --snapshot>."
msgstr "Create a snapshot using C<lvcreate --snapshot>."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:438
msgid ""
"Other ways to create snapshots include using filesystems-level tools (for "
"filesystems such as btrfs)."
msgstr ""
"Other ways to create snapshots include using filesystems-level tools (for "
"filesystems such as btrfs)."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:441
msgid ""
"Most Network Attached Storage (NAS) devices can also create cheap snapshots "
"from files or LUNs."
msgstr ""
"Most Network Attached Storage (NAS) devices can also create cheap snapshots "
"from files or LUNs."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:446
msgid ""
"Get your NAS to duplicate the LUN.  Most NAS devices can also duplicate LUNs "
"very cheaply (they copy them on-demand in the background)."
msgstr ""
"Get your NAS to duplicate the LUN.  Most NAS devices can also duplicate LUNs "
"very cheaply (they copy them on-demand in the background)."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:452
msgid "Prepare your template using L<virt-sparsify(1)>.  See below."
msgstr "Prepare your template using L<virt-sparsify(1)>.  See below."

#. type: =head2
#: ../sysprep/virt-sysprep.pod:456
msgid "VIRT-CLONE"
msgstr "VIRT-CLONE"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:458
msgid ""
"A separate tool, L<virt-clone(1)>, can be used to duplicate the block device "
"and/or modify the external libvirt configuration of a guest.  It will reset "
"the name, UUID and MAC address of the guest in the libvirt XML."
msgstr ""
"A separate tool, L<virt-clone(1)>, can be used to duplicate the block device "
"and/or modify the external libvirt configuration of a guest.  It will reset "
"the name, UUID and MAC address of the guest in the libvirt XML."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:463
msgid ""
"L<virt-clone(1)> does not use libguestfs and cannot look inside the disk "
"image.  This was the original motivation to write virt-sysprep."
msgstr ""
"L<virt-clone(1)> does not use libguestfs and cannot look inside the disk "
"image.  This was the original motivation to write virt-sysprep."

#. type: =head2
#: ../sysprep/virt-sysprep.pod:466
msgid "SPARSIFY"
msgstr "SPARSIFY"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:468
#, no-wrap
msgid ""
"              virt-sparsify\n"
" original guest --------> template\n"
"\n"
msgstr ""
"              virt-sparsify\n"
" original guest --------> template\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:471
msgid ""
"L<virt-sparsify(1)> can be used to make the cloning template smaller, making "
"it easier to compress and/or faster to copy."
msgstr ""
"L<virt-sparsify(1)> can be used to make the cloning template smaller, making "
"it easier to compress and/or faster to copy."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:474
msgid ""
"Notice that since virt-sparsify also copies the image, you can use it to "
"make the initial copy (instead of C<dd>)."
msgstr ""
"Notice that since virt-sparsify also copies the image, you can use it to "
"make the initial copy (instead of C<dd>)."

#. type: =head2
#: ../sysprep/virt-sysprep.pod:477
msgid "RESIZE"
msgstr "RESIZE"

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:479
#, no-wrap
msgid ""
"                         virt-resize\n"
"                template ---------->\n"
"                            \\------> cloned\n"
"                             \\-----> guests\n"
"                              \\---->\n"
"\n"
msgstr ""
"                         virt-resize\n"
"                template ---------->\n"
"                            \\------> cloned\n"
"                             \\-----> guests\n"
"                              \\---->\n"
"\n"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:485
msgid ""
"If you want to give people cloned guests, but let them pick the size of the "
"guest themselves (eg. depending on how much they are prepared to pay for "
"disk space), then instead of copying the template, you can run L<virt-"
"resize(1)>.  Virt-resize performs a copy and resize, and thus is ideal for "
"cloning guests from a template."
msgstr ""
"If you want to give people cloned guests, but let them pick the size of the "
"guest themselves (eg. depending on how much they are prepared to pay for "
"disk space), then instead of copying the template, you can run L<virt-"
"resize(1)>.  Virt-resize performs a copy and resize, and thus is ideal for "
"cloning guests from a template."

#. type: =head1
#: ../sysprep/virt-sysprep.pod:491
msgid "FIRSTBOOT VS SCRIPT"
msgstr "FIRSTBOOT VS SCRIPT"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:493
msgid ""
"The two options I<--firstboot> and I<--script> both supply shell scripts "
"that are run against the guest.  However these two options are significantly "
"different."
msgstr ""
"The two options I<--firstboot> and I<--script> both supply shell scripts "
"that are run against the guest.  However these two options are significantly "
"different."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:497
msgid ""
"I<--firstboot script> uploads the file C<script> into the guest and arranges "
"that it will run, in the guest, when the guest is next booted.  (The script "
"will only run once, at the \"first boot\")."
msgstr ""
"I<--firstboot script> uploads the file C<script> into the guest and arranges "
"that it will run, in the guest, when the guest is next booted.  (The script "
"will only run once, at the \"first boot\")."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:501
msgid ""
"I<--script script> runs the shell C<script> I<on the host>, with its current "
"directory inside the guest filesystem."
msgstr ""
"I<--script script> runs the shell C<script> I<on the host>, with its current "
"directory inside the guest filesystem."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:504
msgid ""
"If you needed, for example, to C<yum install> new packages, then you I<must "
"not> use I<--script> for this, since that would (a) run the C<yum> command "
"on the host and (b) wouldn't have access to the same resources "
"(repositories, keys, etc.) as the guest.  Any command that needs to run on "
"the guest I<must> be run via I<--firstboot>."
msgstr ""
"If you needed, for example, to C<yum install> new packages, then you I<must "
"not> use I<--script> for this, since that would (a) run the C<yum> command "
"on the host and (b) wouldn't have access to the same resources "
"(repositories, keys, etc.) as the guest.  Any command that needs to run on "
"the guest I<must> be run via I<--firstboot>."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:510
msgid ""
"On the other hand if you need to make adjustments to the guest filesystem "
"(eg. copying in files), then I<--script> is ideal since (a)  it has access "
"to the host filesystem and (b) you will get immediate feedback on errors."
msgstr ""
"On the other hand if you need to make adjustments to the guest filesystem "
"(eg. copying in files), then I<--script> is ideal since (a)  it has access "
"to the host filesystem and (b) you will get immediate feedback on errors."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:515
msgid "Either or both options can be used multiple times on the command line."
msgstr "Either or both options can be used multiple times on the command line."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:519
msgid ""
"Although virt-sysprep removes some sensitive information from the guest, it "
"does not pretend to remove all of it.  You should examine the L</OPERATIONS> "
"above and the guest afterwards."
msgstr ""
"Although virt-sysprep removes some sensitive information from the guest, it "
"does not pretend to remove all of it.  You should examine the L</OPERATIONS> "
"above and the guest afterwards."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:523
msgid ""
"Sensitive files are simply removed.  The data they contained may still exist "
"on the disk, easily recovered with a hex editor or undelete tool.  The I<--"
"scrub> option can be used to scrub files instead of just deleting them.  "
"L<virt-sparsify(1)> is another way to remove this content.  See also the "
"L<scrub(1)> command to get rid of deleted content in directory entries and "
"inodes."
msgstr ""

#. type: =head2
#: ../sysprep/virt-sysprep.pod:530
msgid "RANDOM SEED"
msgstr "RANDOM SEED"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:532
msgid "I<(This section applies to Linux guests only)>"
msgstr "I<(This section applies to Linux guests only)>"

#. type: textblock
#: ../sysprep/virt-sysprep.pod:534
msgid ""
"For supported guests, virt-sysprep writes a few bytes of randomness from the "
"host into the guest’s random seed file."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:537
msgid ""
"If this is just done once and the guest is cloned from the same template, "
"then each guest will start with the same entropy, and things like SSH host "
"keys and TCP sequence numbers may be predictable."
msgstr ""
"If this is just done once and the guest is cloned from the same template, "
"then each guest will start with the same entropy, and things like SSH host "
"keys and TCP sequence numbers may be predictable."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:541
msgid ""
"Therefore you should arrange to add more randomness I<after> cloning from a "
"template too, which can be done by enabling just the customize module:"
msgstr ""

#. type: verbatim
#: ../sysprep/virt-sysprep.pod:545
#, no-wrap
msgid ""
" cp template.img newguest.img\n"
" virt-sysprep --enable customize -a newguest.img\n"
"\n"
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:558
msgid ""
"Windows 8 \"fast startup\" can prevent virt-sysprep from working.  See "
"L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>."
msgstr ""
"Windows 8 \"fast startup\" can prevent virt-sysprep from working.  See "
"L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST STARTUP>."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:603
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-builder(1)>, L<virt-clone(1)>, L<virt-"
"customize(1)>, L<virt-rescue(1)>, L<virt-resize(1)>, L<virt-sparsify(1)>, "
"L<virsh(1)>, L<lvcreate(8)>, L<qemu-img(1)>, L<scrub(1)>, L<http://"
"libguestfs.org/>, L<http://libvirt.org/>."
msgstr ""

#. type: textblock
#: ../sysprep/virt-sysprep.pod:622
msgid "Wanlong Gao, Fujitsu Ltd."
msgstr "Wanlong Gao, Fujitsu Ltd."

#. type: textblock
#: ../sysprep/virt-sysprep.pod:628
msgid "Copyright (C) 2012 Fujitsu Ltd."
msgstr "Copyright (C) 2012 Fujitsu Ltd."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:3
msgid "libguestfs-test-tool - Diagnostics for libguestfs"
msgstr "libguestfs-test-tool - Diagnostics for libguestfs"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:7
#, no-wrap
msgid ""
" libguestfs-test-tool [--options]\n"
"\n"
msgstr ""
" libguestfs-test-tool [--options]\n"
"\n"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:11
msgid ""
"libguestfs-test-tool is a test program shipped with libguestfs to allow you "
"to check basic libguestfs functionality is working.  This is needed because "
"libguestfs occasionally breaks for reasons beyond our control: usually "
"because of changes in the underlying qemu or kernel packages, or the host "
"environment."
msgstr ""
"libguestfs-test-tool is a test program shipped with libguestfs to allow you "
"to check basic libguestfs functionality is working.  This is needed because "
"libguestfs occasionally breaks for reasons beyond our control: usually "
"because of changes in the underlying qemu or kernel packages, or the host "
"environment."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:17
msgid "If you suspect a problem in libguestfs, then just run:"
msgstr "If you suspect a problem in libguestfs, then just run:"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:21
msgid "It will print lots of diagnostic messages."
msgstr "It will print lots of diagnostic messages."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:23
msgid "If it runs to completion successfully, you will see this near the end:"
msgstr "If it runs to completion successfully, you will see this near the end:"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:25
#, no-wrap
msgid ""
" ===== TEST FINISHED OK =====\n"
"\n"
msgstr ""
" ===== TEST FINISHED OK =====\n"
"\n"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:27
msgid "and the test tool will exit with code 0."
msgstr "and the test tool will exit with code 0."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:29
msgid ""
"If it fails (and/or exits with non-zero error code), please paste the "
"I<complete, unedited> output of the test tool into a bug report.  More "
"information about reporting bugs can be found on the L<http://libguestfs.org/"
"> website."
msgstr ""
"If it fails (and/or exits with non-zero error code), please paste the "
"I<complete, unedited> output of the test tool into a bug report.  More "
"information about reporting bugs can be found on the L<http://libguestfs.org/"
"> website."

#. type: =item
#: ../test-tool/libguestfs-test-tool.pod:42
msgid "B<--qemu> qemu_binary"
msgstr ""

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:44
msgid ""
"If you have downloaded another qemu binary, point this option at the full "
"path of the binary to try it."
msgstr ""
"If you have downloaded another qemu binary, point this option at the full "
"path of the binary to try it."

#. type: =item
#: ../test-tool/libguestfs-test-tool.pod:47
msgid "B<--qemudir> qemu_source_dir"
msgstr ""

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:49
msgid ""
"If you have compiled qemu from source, point this option at the source "
"directory to try it."
msgstr ""
"If you have compiled qemu from source, point this option at the source "
"directory to try it."

#. type: =item
#: ../test-tool/libguestfs-test-tool.pod:52
msgid "B<-t> N"
msgstr ""

#. type: =item
#: ../test-tool/libguestfs-test-tool.pod:54
msgid "B<--timeout> N"
msgstr ""

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:56
msgid ""
"Set the launch timeout to C<N> seconds.  The default is 600 seconds (10 "
"minutes) which does not usually need to be adjusted."
msgstr ""
"Set the launch timeout to C<N> seconds.  The default is 600 seconds (10 "
"minutes) which does not usually need to be adjusted."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:63
msgid "Display the libguestfs version number and exit."
msgstr "Display the libguestfs version number and exit."

#. type: =head1
#: ../test-tool/libguestfs-test-tool.pod:67
msgid "TRYING OUT A DIFFERENT VERSION OF QEMU"
msgstr "TRYING OUT A DIFFERENT VERSION OF QEMU"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:69
msgid ""
"If you have compiled another version of qemu from source and would like to "
"try that, then you can use the I<--qemudir> option to point to the qemu "
"source directory."
msgstr ""
"If you have compiled another version of qemu from source and would like to "
"try that, then you can use the I<--qemudir> option to point to the qemu "
"source directory."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:73
msgid ""
"If you have downloaded a qemu binary from somewhere, use the I<--qemu> "
"option to point to the binary."
msgstr ""
"If you have downloaded a qemu binary from somewhere, use the I<--qemu> "
"option to point to the binary."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:76
msgid ""
"Note when using these options, you can ignore the business of qemu wrapper "
"scripts (L<guestfs(3)/QEMU WRAPPERS>), since libguestfs-test-tool writes a "
"wrapper script for you if one is needed."
msgstr ""
"Note when using these options, you can ignore the business of qemu wrapper "
"scripts (L<guestfs(3)/QEMU WRAPPERS>), since libguestfs-test-tool writes a "
"wrapper script for you if one is needed."

#. type: =head1
#: ../test-tool/libguestfs-test-tool.pod:80
msgid "TRYING OUT A DIFFERENT KERNEL"
msgstr "TRYING OUT A DIFFERENT KERNEL"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:82
msgid ""
"You can tell supermin to try a different kernel.  You do this by setting the "
"environment variables C<SUPERMIN_KERNEL>, C<SUPERMIN_KERNEL_VERSION> and/or "
"C<SUPERMIN_MODULES>."
msgstr ""

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:86
msgid "Refer to L<supermin(1)/ENVIRONMENT VARIABLES> for further information."
msgstr ""

#. type: =head1
#: ../test-tool/libguestfs-test-tool.pod:88
msgid "TRYING OUT A DIFFERENT VERSION OF LIBVIRT"
msgstr "TRYING OUT A DIFFERENT VERSION OF LIBVIRT"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:90
#: ../test-tool/libguestfs-test-tool.pod:111
#: ../test-tool/libguestfs-test-tool.pod:134
msgid ""
"To find out which backend is the default in your libguestfs package, do:"
msgstr ""
"To find out which backend is the default in your libguestfs package, do:"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:96
msgid ""
"If you are using the libvirt backend, then you can try out a different (eg. "
"upstream) version of libvirt by running these commands (I<not> as root):"
msgstr ""
"If you are using the libvirt backend, then you can try out a different (eg. "
"upstream) version of libvirt by running these commands (I<not> as root):"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:100
#, no-wrap
msgid ""
" killall libvirtd lt-libvirtd\n"
" ~/path/to/libvirt/run libguestfs-test-tool\n"
"\n"
msgstr ""
" killall libvirtd lt-libvirtd\n"
" ~/path/to/libvirt/run libguestfs-test-tool\n"
"\n"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:103
msgid ""
"The first command kills any session C<libvirtd> process(es) that may be "
"running on the machine.  The second command uses libvirt’s C<run> script (in "
"the top-level libvirt build directory) to set some environment variables so "
"that the alternate version of libvirt is used to run the program."
msgstr ""

#. type: =head1
#: ../test-tool/libguestfs-test-tool.pod:109
msgid "TRYING OUT WITH / WITHOUT LIBVIRT"
msgstr "TRYING OUT WITH / WITHOUT LIBVIRT"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:117
msgid ""
"If you are using the libvirt backend, you can try without (ie. libguestfs "
"directly launching qemu) by doing:"
msgstr ""
"If you are using the libvirt backend, you can try without (ie. libguestfs "
"directly launching qemu) by doing:"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:122
msgid ""
"Or if you are using the default (direct) backend, then you can try libvirt:"
msgstr ""
"Or if you are using the default (direct) backend, then you can try libvirt:"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:125
#, no-wrap
msgid ""
" export LIBGUESTFS_BACKEND=libvirt\n"
"\n"
msgstr ""
" export LIBGUESTFS_BACKEND=libvirt\n"
"\n"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:127
msgid ""
"or with libvirt and a specific L<libvirt URI|http://libvirt.org/uri.html>:"
msgstr ""
"or with libvirt and a specific L<libvirt URI|http://libvirt.org/uri.html>:"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:130
#, no-wrap
msgid ""
" export LIBGUESTFS_BACKEND=libvirt:qemu:///session\n"
"\n"
msgstr ""
" export LIBGUESTFS_BACKEND=libvirt:qemu:///session\n"
"\n"

#. type: =head1
#: ../test-tool/libguestfs-test-tool.pod:132
msgid "TRYING OUT DIFFERENT SELINUX SETTINGS"
msgstr "TRYING OUT DIFFERENT SELINUX SETTINGS"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:140
msgid "To find out if SELinux is being used, do:"
msgstr "To find out if SELinux is being used, do:"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:142
#, no-wrap
msgid ""
" getenforce\n"
"\n"
msgstr ""
" getenforce\n"
"\n"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:144
msgid ""
"If you are using libvirt, SELinux and sVirt, then you can try to see if "
"changing SELinux to \"permissive\" mode makes any difference.  Use this "
"command as root:"
msgstr ""
"If you are using libvirt, SELinux and sVirt, then you can try to see if "
"changing SELinux to \"permissive\" mode makes any difference.  Use this "
"command as root:"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:148
#, no-wrap
msgid ""
" setenforce Permissive\n"
"\n"
msgstr ""
" setenforce Permissive\n"
"\n"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:150
msgid ""
"If this makes a difference, look in the audit logs for recent failures "
"(\"AVCs\"):"
msgstr ""
"If this makes a difference, look in the audit logs for recent failures "
"(\"AVCs\"):"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:153
#, no-wrap
msgid ""
" ausearch -m avc -ts recent\n"
"\n"
msgstr ""
" ausearch -m avc -ts recent\n"
"\n"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:155
msgid ""
"You can convert AVCs into suggested SELinux policy rules using tools like "
"L<audit2allow(1)>.  For more information, see the \"Security Enhanced Linux "
"User Guide\"."
msgstr ""
"You can convert AVCs into suggested SELinux policy rules using tools like "
"L<audit2allow(1)>.  For more information, see the \"Security Enhanced Linux "
"User Guide\"."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:159
msgid "To reenable SELinux and sVirt, do:"
msgstr "To reenable SELinux and sVirt, do:"

#. type: verbatim
#: ../test-tool/libguestfs-test-tool.pod:161
#, no-wrap
msgid ""
" setenforce Enforcing\n"
"\n"
msgstr ""
" setenforce Enforcing\n"
"\n"

#. type: =head1
#: ../test-tool/libguestfs-test-tool.pod:163
msgid "SELF-DIAGNOSIS"
msgstr "SELF-DIAGNOSIS"

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:165
msgid ""
"Refer to L<guestfs(3)/APPLIANCE BOOT PROCESS> to understand the messages "
"produced by libguestfs-test-tool and/or possible errors."
msgstr ""
"Refer to L<guestfs(3)/APPLIANCE BOOT PROCESS> to understand the messages "
"produced by libguestfs-test-tool and/or possible errors."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:170
msgid ""
"libguestfs-test-tool returns I<0> if the tests completed without error, or "
"I<1> if there was an error."
msgstr ""
"libguestfs-test-tool returns I<0> if the tests completed without error, or "
"I<1> if there was an error."

#. type: textblock
#: ../test-tool/libguestfs-test-tool.pod:180
msgid "L<guestfs(3)>, L<http://libguestfs.org/>, L<http://qemu.org/>."
msgstr "L<guestfs(3)>, L<http://libguestfs.org/>, L<http://qemu.org/>."

#. type: textblock
#: ../tools/virt-list-filesystems:29
msgid ""
"virt-list-filesystems - List filesystems in a virtual machine or disk image"
msgstr ""
"virt-list-filesystems - List filesystems in a virtual machine or disk image"

#. type: verbatim
#: ../tools/virt-list-filesystems:33
#, no-wrap
msgid ""
" virt-list-filesystems [--options] domname\n"
"\n"
msgstr ""
" virt-list-filesystems [--options] domname\n"
"\n"

#. type: verbatim
#: ../tools/virt-list-filesystems:35
#, no-wrap
msgid ""
" virt-list-filesystems [--options] disk.img [disk.img ...]\n"
"\n"
msgstr ""
" virt-list-filesystems [--options] disk.img [disk.img ...]\n"
"\n"

#. type: =head1
#: ../tools/virt-list-filesystems:37 ../tools/virt-list-partitions:37
#: ../tools/virt-tar:42
msgid "OBSOLETE"
msgstr "OBSOLETE"

#. type: textblock
#: ../tools/virt-list-filesystems:39 ../tools/virt-list-partitions:39
msgid ""
"This tool is obsolete.  Use L<virt-filesystems(1)> as a more flexible "
"replacement."
msgstr ""
"This tool is obsolete.  Use L<virt-filesystems(1)> as a more flexible "
"replacement."

#. type: textblock
#: ../tools/virt-list-filesystems:44
msgid ""
"C<virt-list-filesystems> is a command line tool to list the filesystems that "
"are contained in a virtual machine or disk image."
msgstr ""
"C<virt-list-filesystems> is a command line tool to list the filesystems that "
"are contained in a virtual machine or disk image."

#. type: textblock
#: ../tools/virt-list-filesystems:48
msgid ""
"C<virt-list-filesystems> is just a simple wrapper around L<libguestfs(3)> "
"functionality.  For more complex cases you should look at the "
"L<guestfish(1)> tool."
msgstr ""
"C<virt-list-filesystems> is just a simple wrapper around L<libguestfs(3)> "
"functionality.  For more complex cases you should look at the "
"L<guestfish(1)> tool."

#. type: =item
#: ../tools/virt-list-filesystems:76 ../tools/virt-list-partitions:77
#: ../tools/virt-tar:124 ../tools/virt-win-reg:125
msgid "B<-c URI>"
msgstr "B<-c URI>"

#. type: =item
#: ../tools/virt-list-filesystems:78 ../tools/virt-list-partitions:79
#: ../tools/virt-tar:126 ../tools/virt-win-reg:127
msgid "B<--connect URI>"
msgstr "B<--connect URI>"

#. type: textblock
#: ../tools/virt-list-filesystems:111
msgid ""
"With this option, C<virt-list-filesystems> displays the type of each "
"filesystem too (where \"type\" means C<ext3>, C<xfs> etc.)"
msgstr ""
"With this option, C<virt-list-filesystems> displays the type of each "
"filesystem too (where \"type\" means C<ext3>, C<xfs> etc.)"

#. type: =item
#: ../tools/virt-list-filesystems:118
msgid "B<-a>"
msgstr "B<-a>"

#. type: textblock
#: ../tools/virt-list-filesystems:122
msgid ""
"Normally we only show mountable filesystems.  If this option is given then "
"swap devices are shown too."
msgstr ""
"Normally we only show mountable filesystems.  If this option is given then "
"swap devices are shown too."

#. type: textblock
#: ../tools/virt-list-filesystems:183
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-tar(1)>, L<virt-"
"filesystems(1)>, L<virt-list-partitions(1)>, L<Sys::Guestfs(3)>, L<Sys::"
"Virt(3)>, L<http://libguestfs.org/>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-tar(1)>, L<virt-"
"filesystems(1)>, L<virt-list-partitions(1)>, L<Sys::Guestfs(3)>, L<Sys::"
"Virt(3)>, L<http://libguestfs.org/>."

#. type: textblock
#: ../tools/virt-list-filesystems:199 ../tools/virt-tar:312
msgid "Copyright (C) 2009 Red Hat Inc."
msgstr "Copyright (C) 2009 Red Hat Inc."

#. type: textblock
#: ../tools/virt-list-partitions:29
msgid ""
"virt-list-partitions - List partitions in a virtual machine or disk image"
msgstr ""
"virt-list-partitions - List partitions in a virtual machine or disk image"

#. type: verbatim
#: ../tools/virt-list-partitions:33
#, no-wrap
msgid ""
" virt-list-partitions [--options] domname\n"
"\n"
msgstr ""
" virt-list-partitions [--options] domname\n"
"\n"

#. type: verbatim
#: ../tools/virt-list-partitions:35
#, no-wrap
msgid ""
" virt-list-partitions [--options] disk.img [disk.img ...]\n"
"\n"
msgstr ""
" virt-list-partitions [--options] disk.img [disk.img ...]\n"
"\n"

#. type: textblock
#: ../tools/virt-list-partitions:44
msgid ""
"C<virt-list-partitions> is a command line tool to list the partitions that "
"are contained in a virtual machine or disk image.  It is mainly useful as a "
"first step to using L<virt-resize(1)>."
msgstr ""
"C<virt-list-partitions> is a command line tool to list the partitions that "
"are contained in a virtual machine or disk image.  It is mainly useful as a "
"first step to using L<virt-resize(1)>."

#. type: textblock
#: ../tools/virt-list-partitions:49
msgid ""
"C<virt-list-partitions> is just a simple wrapper around L<libguestfs(3)> "
"functionality.  For more complex cases you should look at the "
"L<guestfish(1)> tool."
msgstr ""
"C<virt-list-partitions> is just a simple wrapper around L<libguestfs(3)> "
"functionality.  For more complex cases you should look at the "
"L<guestfish(1)> tool."

#. type: textblock
#: ../tools/virt-list-partitions:112
msgid "Show sizes in human-readable form (eg. \"1G\")."
msgstr "Show sizes in human-readable form (eg. \"1G\")."

#. type: textblock
#: ../tools/virt-list-partitions:122
msgid ""
"With this option, C<virt-list-partitions> displays the type and size of each "
"partition too (where \"type\" means C<ext3>, C<pv> etc.)"
msgstr ""
"With this option, C<virt-list-partitions> displays the type and size of each "
"partition too (where \"type\" means C<ext3>, C<pv> etc.)"

#. type: =item
#: ../tools/virt-list-partitions:129
msgid "B<-t>"
msgstr "B<-t>"

#. type: =item
#: ../tools/virt-list-partitions:131
msgid "B<--total>"
msgstr "B<--total>"

#. type: textblock
#: ../tools/virt-list-partitions:133
msgid ""
"Display the total size of each block device (as a separate row or rows)."
msgstr ""
"Display the total size of each block device (as a separate row or rows)."

#. type: textblock
#: ../tools/virt-list-partitions:265
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<virt-list-"
"filesystems(1)>, L<virt-resize(1)>, L<Sys::Guestfs(3)>, L<Sys::Virt(3)>, "
"L<http://libguestfs.org/>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-filesystems(1)>, L<virt-list-"
"filesystems(1)>, L<virt-resize(1)>, L<Sys::Guestfs(3)>, L<Sys::Virt(3)>, "
"L<http://libguestfs.org/>."

#. type: textblock
#: ../tools/virt-tar:30
msgid "virt-tar - Extract or upload files to a virtual machine"
msgstr "virt-tar - Extract or upload files to a virtual machine"

#. type: verbatim
#: ../tools/virt-tar:34
#, no-wrap
msgid ""
" virt-tar [--options] -x domname directory tarball\n"
"\n"
msgstr ""
" virt-tar [--options] -x domname directory tarball\n"
"\n"

#. type: verbatim
#: ../tools/virt-tar:36
#, no-wrap
msgid ""
" virt-tar [--options] -u domname tarball directory\n"
"\n"
msgstr ""
" virt-tar [--options] -u domname tarball directory\n"
"\n"

#. type: verbatim
#: ../tools/virt-tar:38
#, no-wrap
msgid ""
" virt-tar [--options] disk.img [disk.img ...] -x directory tarball\n"
"\n"
msgstr ""
" virt-tar [--options] disk.img [disk.img ...] -x directory tarball\n"
"\n"

#. type: verbatim
#: ../tools/virt-tar:40
#, no-wrap
msgid ""
" virt-tar [--options] disk.img [disk.img ...] -u tarball directory\n"
"\n"
msgstr ""
" virt-tar [--options] disk.img [disk.img ...] -u tarball directory\n"
"\n"

#. type: textblock
#: ../tools/virt-tar:44
msgid ""
"This tool is obsolete.  Use L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-"
"tar-in(1)>, L<virt-tar-out(1)> as replacements."
msgstr ""
"This tool is obsolete.  Use L<virt-copy-in(1)>, L<virt-copy-out(1)>, L<virt-"
"tar-in(1)>, L<virt-tar-out(1)> as replacements."

#. type: textblock
#: ../tools/virt-tar:49
msgid "Download C</home> from the VM into a local tarball:"
msgstr "Download C</home> from the VM into a local tarball:"

#. type: verbatim
#: ../tools/virt-tar:51
#, no-wrap
msgid ""
" virt-tar -x domname /home home.tar\n"
"\n"
msgstr ""
" virt-tar -x domname /home home.tar\n"
"\n"

#. type: verbatim
#: ../tools/virt-tar:53
#, no-wrap
msgid ""
" virt-tar -zx domname /home home.tar.gz\n"
"\n"
msgstr ""
" virt-tar -zx domname /home home.tar.gz\n"
"\n"

#. type: textblock
#: ../tools/virt-tar:55
msgid "Upload a local tarball and unpack it inside C</tmp> in the VM:"
msgstr "Upload a local tarball and unpack it inside C</tmp> in the VM:"

#. type: verbatim
#: ../tools/virt-tar:57
#, no-wrap
msgid ""
" virt-tar -u domname uploadstuff.tar /tmp\n"
"\n"
msgstr ""
" virt-tar -u domname uploadstuff.tar /tmp\n"
"\n"

#. type: verbatim
#: ../tools/virt-tar:59
#, no-wrap
msgid ""
" virt-tar -zu domname uploadstuff.tar.gz /tmp\n"
"\n"
msgstr ""
" virt-tar -zu domname uploadstuff.tar.gz /tmp\n"
"\n"

#. type: =head1
#: ../tools/virt-tar:61 ../tools/virt-win-reg:48
msgid "WARNING"
msgstr "WARNING"

#. type: textblock
#: ../tools/virt-tar:63
msgid ""
"You must I<not> use C<virt-tar> with the I<-u> option (upload) on live "
"virtual machines.  If you do this, you risk disk corruption in the VM.  "
"C<virt-tar> tries to stop you from doing this, but doesn't catch all cases."
msgstr ""
"You must I<not> use C<virt-tar> with the I<-u> option (upload) on live "
"virtual machines.  If you do this, you risk disk corruption in the VM.  "
"C<virt-tar> tries to stop you from doing this, but doesn't catch all cases."

#. type: textblock
#: ../tools/virt-tar:68
msgid ""
"You can use I<-x> (extract) on live virtual machines, but you might get "
"inconsistent results or errors if there is filesystem activity inside the "
"VM.  If the live VM is synched and quiescent, then C<virt-tar> will usually "
"work, but the only way to guarantee consistent results is if the virtual "
"machine is shut down."
msgstr ""
"You can use I<-x> (extract) on live virtual machines, but you might get "
"inconsistent results or errors if there is filesystem activity inside the "
"VM.  If the live VM is synched and quiescent, then C<virt-tar> will usually "
"work, but the only way to guarantee consistent results is if the virtual "
"machine is shut down."

#. type: textblock
#: ../tools/virt-tar:76
msgid ""
"C<virt-tar> is a general purpose archive tool for downloading and uploading "
"parts of a guest filesystem.  There are many possibilities: making backups, "
"uploading data files, snooping on guest activity, fixing or customizing "
"guests, etc."
msgstr ""
"C<virt-tar> is a general purpose archive tool for downloading and uploading "
"parts of a guest filesystem.  There are many possibilities: making backups, "
"uploading data files, snooping on guest activity, fixing or customising "
"guests, etc."

#. type: textblock
#: ../tools/virt-tar:81
msgid ""
"If you want to just view a single file, use L<virt-cat(1)>.  If you just "
"want to edit a single file, use L<virt-edit(1)>.  For more complex cases you "
"should look at the L<guestfish(1)> tool."
msgstr ""
"If you want to just view a single file, use L<virt-cat(1)>.  If you just "
"want to edit a single file, use L<virt-edit(1)>.  For more complex cases you "
"should look at the L<guestfish(1)> tool."

#. type: textblock
#: ../tools/virt-tar:85
msgid ""
"There are two modes of operation: I<-x> (eXtract) downloads a directory and "
"its contents (recursively) from the virtual machine into a local tarball.  "
"I<-u> uploads from a local tarball, unpacking it into a directory inside the "
"virtual machine.  You cannot use these two options together."
msgstr ""
"There are two modes of operation: I<-x> (eXtract) downloads a directory and "
"its contents (recursively) from the virtual machine into a local tarball.  "
"I<-u> uploads from a local tarball, unpacking it into a directory inside the "
"virtual machine.  You cannot use these two options together."

#. type: textblock
#: ../tools/virt-tar:91
msgid ""
"In addition, you may need to use the I<-z> (gZip) option to enable "
"compression.  When uploading, you have to specify I<-z> if the upload file "
"is compressed because virt-tar won't detect this on its own."
msgstr ""
"In addition, you may need to use the I<-z> (gZip) option to enable "
"compression.  When uploading, you have to specify I<-z> if the upload file "
"is compressed because virt-tar won't detect this on its own."

#. type: textblock
#: ../tools/virt-tar:95
msgid ""
"C<virt-tar> can only handle tar (optionally gzipped) format tarballs.  For "
"example it cannot do PKZip files or bzip2 compression.  If you want that "
"then you'll have to rebuild the tarballs yourself.  (This is a limitation of "
"the L<libguestfs(3)> API)."
msgstr ""
"C<virt-tar> can only handle tar (optionally gzipped) format tarballs.  For "
"example it cannot do PKZip files or bzip2 compression.  If you want that "
"then you'll have to rebuild the tarballs yourself.  (This is a limitation of "
"the L<libguestfs(3)> API)."

#. type: =item
#: ../tools/virt-tar:157
msgid "B<--extract>"
msgstr "B<--extract>"

#. type: =item
#: ../tools/virt-tar:159
msgid "B<--download>"
msgstr "B<--download>"

#. type: =item
#: ../tools/virt-tar:163
msgid "B<--upload>"
msgstr "B<--upload>"

#. type: textblock
#: ../tools/virt-tar:165
msgid ""
"Use I<-x> to extract (download) a directory from a virtual machine to a "
"local tarball."
msgstr ""
"Use I<-x> to extract (download) a directory from a virtual machine to a "
"local tarball."

#. type: textblock
#: ../tools/virt-tar:168
msgid ""
"Use I<-u> to upload and unpack from a local tarball into a virtual machine.  "
"Please read the L</WARNING> section above before using this option."
msgstr ""
"Use I<-u> to upload and unpack from a local tarball into a virtual machine.  "
"Please read the L</WARNING> section above before using this option."

#. type: textblock
#: ../tools/virt-tar:172
msgid "You must specify exactly one of these options."
msgstr "You must specify exactly one of these options."

#. type: =item
#: ../tools/virt-tar:178
msgid "B<-z>"
msgstr "B<-z>"

#. type: =item
#: ../tools/virt-tar:180
msgid "B<--gzip>"
msgstr "B<--gzip>"

#. type: textblock
#: ../tools/virt-tar:182
msgid "Specify that the input or output tarball is gzip-compressed."
msgstr "Specify that the input or output tarball is gzip-compressed."

#. type: textblock
#: ../tools/virt-tar:294
msgid ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-edit(1)>, L<virt-copy-"
"in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<Sys::"
"Guestfs(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>."
msgstr ""
"L<guestfs(3)>, L<guestfish(1)>, L<virt-cat(1)>, L<virt-edit(1)>, L<virt-copy-"
"in(1)>, L<virt-copy-out(1)>, L<virt-tar-in(1)>, L<virt-tar-out(1)>, L<Sys::"
"Guestfs(3)>, L<Sys::Virt(3)>, L<http://libguestfs.org/>."

#. type: textblock
#: ../tools/virt-win-reg:34
msgid ""
"virt-win-reg - Export and merge Windows Registry entries from a Windows guest"
msgstr ""
"virt-win-reg - Export and merge Windows Registry entries from a Windows guest"

#. type: verbatim
#: ../tools/virt-win-reg:38
#, no-wrap
msgid ""
" virt-win-reg domname 'HKLM\\Path\\To\\Subkey'\n"
"\n"
msgstr ""
" virt-win-reg domname 'HKLM\\Path\\To\\Subkey'\n"
"\n"

#. type: verbatim
#: ../tools/virt-win-reg:40
#, no-wrap
msgid ""
" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' name\n"
"\n"
msgstr ""
" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' name\n"
"\n"

#. type: verbatim
#: ../tools/virt-win-reg:42
#, no-wrap
msgid ""
" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' @\n"
"\n"
msgstr ""
" virt-win-reg domname 'HKLM\\Path\\To\\Subkey' @\n"
"\n"

#. type: verbatim
#: ../tools/virt-win-reg:44
#, no-wrap
msgid ""
" virt-win-reg --merge domname [input.reg ...]\n"
"\n"
msgstr ""
" virt-win-reg --merge domname [input.reg ...]\n"
"\n"

#. type: verbatim
#: ../tools/virt-win-reg:46
#, no-wrap
msgid ""
" virt-win-reg [--options] disk.img ... # instead of domname\n"
"\n"
msgstr ""
" virt-win-reg [--options] disk.img ... # instead of domname\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:50
msgid ""
"You must I<not> use C<virt-win-reg> with the I<--merge> option on live "
"virtual machines.  If you do this, you I<will> get irreversible disk "
"corruption in the VM.  C<virt-win-reg> tries to stop you from doing this, "
"but doesn't catch all cases."
msgstr ""
"You must I<not> use C<virt-win-reg> with the I<--merge> option on live "
"virtual machines.  If you do this, you I<will> get irreversible disk "
"corruption in the VM.  C<virt-win-reg> tries to stop you from doing this, "
"but doesn't catch all cases."

#. type: textblock
#: ../tools/virt-win-reg:55
msgid ""
"Modifying the Windows Registry is an inherently risky operation.  The format "
"is deliberately obscure and undocumented, and Registry changes can leave the "
"system unbootable.  Therefore when using the I<--merge> option, make sure "
"you have a reliable backup first."
msgstr ""
"Modifying the Windows Registry is an inherently risky operation.  The format "
"is deliberately obscure and undocumented, and Registry changes can leave the "
"system unbootable.  Therefore when using the I<--merge> option, make sure "
"you have a reliable backup first."

#. type: textblock
#: ../tools/virt-win-reg:62
msgid ""
"This program can export and merge Windows Registry entries from a Windows "
"guest."
msgstr ""
"This program can export and merge Windows Registry entries from a Windows "
"guest."

#. type: textblock
#: ../tools/virt-win-reg:65
msgid ""
"The first parameter is the libvirt guest name or the raw disk image of a "
"Windows guest."
msgstr ""
"The first parameter is the libvirt guest name or the raw disk image of a "
"Windows guest."

#. type: textblock
#: ../tools/virt-win-reg:68
msgid ""
"If I<--merge> is I<not> specified, then the chosen registry key is displayed/"
"exported (recursively).  For example:"
msgstr ""
"If I<--merge> is I<not> specified, then the chosen registry key is displayed/"
"exported (recursively).  For example:"

#. type: verbatim
#: ../tools/virt-win-reg:71
#, no-wrap
msgid ""
" $ virt-win-reg Windows7 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft'\n"
"\n"
msgstr ""
" $ virt-win-reg Windows7 'HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft'\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:73
msgid ""
"You can also display single values from within registry keys, for example:"
msgstr ""
"You can also display single values from within registry keys, for example:"

#. type: verbatim
#: ../tools/virt-win-reg:76
#, no-wrap
msgid ""
" $ cvkey='HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion'\n"
" $ virt-win-reg Windows7 $cvkey ProductName\n"
" Windows 7 Enterprise\n"
"\n"
msgstr ""
" $ cvkey='HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion'\n"
" $ virt-win-reg Windows7 $cvkey ProductName\n"
" Windows 7 Enterprise\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:80
msgid ""
"With I<--merge>, you can merge a textual regedit file into the Windows "
"Registry:"
msgstr ""
"With I<--merge>, you can merge a textual regedit file into the Windows "
"Registry:"

#. type: verbatim
#: ../tools/virt-win-reg:83
#, no-wrap
msgid ""
" $ virt-win-reg --merge Windows7 changes.reg\n"
"\n"
msgstr ""
" $ virt-win-reg --merge Windows7 changes.reg\n"
"\n"

#. type: =head2
#: ../tools/virt-win-reg:85
msgid "NOTE"
msgstr "NOTE"

#. type: textblock
#: ../tools/virt-win-reg:87
msgid ""
"This program is only meant for simple access to the registry.  If you want "
"to do complicated things with the registry, we suggest you download the "
"Registry hive files from the guest using L<libguestfs(3)> or L<guestfish(1)> "
"and access them locally, eg. using L<hivex(3)>, L<hivexsh(1)> or "
"L<hivexregedit(1)>."
msgstr ""
"This program is only meant for simple access to the registry.  If you want "
"to do complicated things with the registry, we suggest you download the "
"Registry hive files from the guest using L<libguestfs(3)> or L<guestfish(1)> "
"and access them locally, eg. using L<hivex(3)>, L<hivexsh(1)> or "
"L<hivexregedit(1)>."

#. type: =item
#: ../tools/virt-win-reg:156
msgid "B<--merge>"
msgstr "B<--merge>"

#. type: textblock
#: ../tools/virt-win-reg:158
msgid ""
"In merge mode, this merges a textual regedit file into the Windows Registry "
"of the virtual machine.  If this flag is I<not> given then virt-win-reg "
"displays or exports Registry entries instead."
msgstr ""
"In merge mode, this merges a textual regedit file into the Windows Registry "
"of the virtual machine.  If this flag is I<not> given then virt-win-reg "
"displays or exports Registry entries instead."

#. type: textblock
#: ../tools/virt-win-reg:162
msgid ""
"Note that I<--merge> is I<unsafe> to use on live virtual machines, and will "
"result in disk corruption.  However exporting (without this flag)  is always "
"safe."
msgstr ""
"Note that I<--merge> is I<unsafe> to use on live virtual machines, and will "
"result in disk corruption.  However exporting (without this flag)  is always "
"safe."

#. type: =item
#: ../tools/virt-win-reg:170
msgid "B<--encoding> UTF-16LE|ASCII"
msgstr "B<--encoding> UTF-16LE|ASCII"

#. type: textblock
#: ../tools/virt-win-reg:172
msgid ""
"When merging (only), you may need to specify the encoding for strings to be "
"used in the hive file.  This is explained in detail in L<Win::Hivex::"
"Regedit(3)/ENCODING STRINGS>."
msgstr ""
"When merging (only), you may need to specify the encoding for strings to be "
"used in the hive file.  This is explained in detail in L<Win::Hivex::"
"Regedit(3)/ENCODING STRINGS>."

#. type: textblock
#: ../tools/virt-win-reg:176
msgid ""
"The default is to use UTF-16LE, which should work with recent versions of "
"Windows."
msgstr ""
"The default is to use UTF-16LE, which should work with recent versions of "
"Windows."

#. type: =item
#: ../tools/virt-win-reg:183
msgid "B<--unsafe-printable-strings>"
msgstr "B<--unsafe-printable-strings>"

#. type: textblock
#: ../tools/virt-win-reg:185
msgid ""
"When exporting (only), assume strings are UTF-16LE and print them as strings "
"instead of hex sequences.  Remove the final zero codepoint from strings if "
"present."
msgstr ""
"When exporting (only), assume strings are UTF-16LE and print them as strings "
"instead of hex sequences.  Remove the final zero codepoint from strings if "
"present."

#. type: textblock
#: ../tools/virt-win-reg:189
msgid ""
"This is unsafe and does not preserve the fidelity of strings in the original "
"Registry for various reasons:"
msgstr ""
"This is unsafe and does not preserve the fidelity of strings in the original "
"Registry for various reasons:"

#. type: textblock
#: ../tools/virt-win-reg:196
msgid ""
"Assumes the original encoding is UTF-16LE.  ASCII strings and strings in "
"other encodings will be corrupted by this transformation."
msgstr ""
"Assumes the original encoding is UTF-16LE.  ASCII strings and strings in "
"other encodings will be corrupted by this transformation."

#. type: textblock
#: ../tools/virt-win-reg:201
msgid ""
"Assumes that everything which has type 1 or 2 is really a string and that "
"everything else is not a string, but the type field in real Registries is "
"not reliable."
msgstr ""
"Assumes that everything which has type 1 or 2 is really a string and that "
"everything else is not a string, but the type field in real Registries is "
"not reliable."

#. type: textblock
#: ../tools/virt-win-reg:207
msgid ""
"Loses information about whether a zero codepoint followed the string in the "
"Registry or not."
msgstr ""
"Loses information about whether a zero codepoint followed the string in the "
"Registry or not."

#. type: textblock
#: ../tools/virt-win-reg:212
msgid ""
"This all happens because the Registry itself contains no information about "
"how strings are encoded (see L<Win::Hivex::Regedit(3)/ENCODING STRINGS>)."
msgstr ""
"This all happens because the Registry itself contains no information about "
"how strings are encoded (see L<Win::Hivex::Regedit(3)/ENCODING STRINGS>)."

#. type: textblock
#: ../tools/virt-win-reg:216
msgid ""
"You should only use this option for quick hacking and debugging of the "
"Registry contents, and I<never> use it if the output is going to be passed "
"into another program or stored in another Registry."
msgstr ""
"You should only use this option for quick hacking and debugging of the "
"Registry contents, and I<never> use it if the output is going to be passed "
"into another program or stored in another Registry."

#. type: =head1
#: ../tools/virt-win-reg:602
msgid "SUPPORTED SYSTEMS"
msgstr "SUPPORTED SYSTEMS"

#. type: textblock
#: ../tools/virt-win-reg:604
msgid ""
"The program currently supports Windows NT-derived guests starting with "
"Windows XP through to at least Windows 8."
msgstr ""
"The program currently supports Windows NT-derived guests starting with "
"Windows XP through to at least Windows 8."

#. type: textblock
#: ../tools/virt-win-reg:607
msgid "The following Registry keys are supported:"
msgstr "The following Registry keys are supported:"

#. type: =item
#: ../tools/virt-win-reg:611
msgid "C<HKEY_LOCAL_MACHINE\\SAM>"
msgstr "C<HKEY_LOCAL_MACHINE\\SAM>"

#. type: =item
#: ../tools/virt-win-reg:613
msgid "C<HKEY_LOCAL_MACHINE\\SECURITY>"
msgstr "C<HKEY_LOCAL_MACHINE\\SECURITY>"

#. type: =item
#: ../tools/virt-win-reg:615
msgid "C<HKEY_LOCAL_MACHINE\\SOFTWARE>"
msgstr "C<HKEY_LOCAL_MACHINE\\SOFTWARE>"

#. type: =item
#: ../tools/virt-win-reg:617
msgid "C<HKEY_LOCAL_MACHINE\\SYSTEM>"
msgstr "C<HKEY_LOCAL_MACHINE\\SYSTEM>"

#. type: =item
#: ../tools/virt-win-reg:619
msgid "C<HKEY_USERS\\.DEFAULT>"
msgstr "C<HKEY_USERS\\.DEFAULT>"

#. type: =item
#: ../tools/virt-win-reg:621
msgid "C<HKEY_USERS\\I<SID>>"
msgstr "C<HKEY_USERS\\I<SID>>"

#. type: textblock
#: ../tools/virt-win-reg:623
msgid "where I<SID> is a Windows User SID (eg. C<S-1-5-18>)."
msgstr "where I<SID> is a Windows User SID (eg. C<S-1-5-18>)."

#. type: =item
#: ../tools/virt-win-reg:625
msgid "C<HKEY_USERS\\I<username>>"
msgstr "C<HKEY_USERS\\I<username>>"

#. type: textblock
#: ../tools/virt-win-reg:627
msgid ""
"where I<username> is a local user name (this is a libguestfs extension)."
msgstr ""
"where I<username> is a local user name (this is a libguestfs extension)."

#. type: textblock
#: ../tools/virt-win-reg:631
msgid ""
"You can use C<HKLM> as a shorthand for C<HKEY_LOCAL_MACHINE>, and C<HKU> for "
"C<HKEY_USERS>."
msgstr ""
"You can use C<HKLM> as a shorthand for C<HKEY_LOCAL_MACHINE>, and C<HKU> for "
"C<HKEY_USERS>."

#. type: textblock
#: ../tools/virt-win-reg:634
msgid ""
"The literal keys C<HKEY_USERS\\$SID> and C<HKEY_CURRENT_USER> are not "
"supported (there is no \"current user\")."
msgstr ""
"The literal keys C<HKEY_USERS\\$SID> and C<HKEY_CURRENT_USER> are not "
"supported (there is no \"current user\")."

#. type: textblock
#: ../tools/virt-win-reg:639
msgid ""
"Windows 8 \"fast startup\" can prevent virt-win-reg from being able to edit "
"the Registry.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST "
"STARTUP>."
msgstr ""
"Windows 8 \"fast startup\" can prevent virt-win-reg from being able to edit "
"the Registry.  See L<guestfs(3)/WINDOWS HIBERNATION AND WINDOWS 8 FAST "
"STARTUP>."

#. type: =head1
#: ../tools/virt-win-reg:643
msgid "ENCODING"
msgstr "ENCODING"

#. type: textblock
#: ../tools/virt-win-reg:645
msgid ""
"C<virt-win-reg> expects that regedit files have already been reencoded in "
"the local encoding.  Usually on Linux hosts, this means UTF-8 with Unix-"
"style line endings.  Since Windows regedit files are often in UTF-16LE with "
"Windows-style line endings, you may need to reencode the whole file before "
"or after processing."
msgstr ""
"C<virt-win-reg> expects that regedit files have already been reencoded in "
"the local encoding.  Usually on Linux hosts, this means UTF-8 with Unix-"
"style line endings.  Since Windows regedit files are often in UTF-16LE with "
"Windows-style line endings, you may need to reencode the whole file before "
"or after processing."

#. type: textblock
#: ../tools/virt-win-reg:651
msgid ""
"To reencode a file from Windows format to Linux (before processing it with "
"the I<--merge> option), you would do something like this:"
msgstr ""
"To reencode a file from Windows format to Linux (before processing it with "
"the I<--merge> option), you would do something like this:"

#. type: verbatim
#: ../tools/virt-win-reg:654
#, no-wrap
msgid ""
" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n"
"\n"
msgstr ""
" iconv -f utf-16le -t utf-8 < win.reg | dos2unix > linux.reg\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:656
msgid ""
"To go in the opposite direction, after exporting and before sending the file "
"to a Windows user, do something like this:"
msgstr ""
"To go in the opposite direction, after exporting and before sending the file "
"to a Windows user, do something like this:"

#. type: verbatim
#: ../tools/virt-win-reg:659
#, no-wrap
msgid ""
" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n"
"\n"
msgstr ""
" unix2dos linux.reg | iconv -f utf-8 -t utf-16le > win.reg\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:661
msgid "For more information about encoding, see L<Win::Hivex::Regedit(3)>."
msgstr "For more information about encoding, see L<Win::Hivex::Regedit(3)>."

#. type: textblock
#: ../tools/virt-win-reg:663
msgid ""
"If you are unsure about the current encoding, use the L<file(1)> command.  "
"Recent versions of Windows regedit.exe produce a UTF-16LE file with Windows-"
"style (CRLF) line endings, like this:"
msgstr ""
"If you are unsure about the current encoding, use the L<file(1)> command.  "
"Recent versions of Windows regedit.exe produce a UTF-16LE file with Windows-"
"style (CRLF) line endings, like this:"

#. type: verbatim
#: ../tools/virt-win-reg:667
#, no-wrap
msgid ""
" $ file software.reg\n"
" software.reg: Little-endian UTF-16 Unicode text, with very long lines,\n"
" with CRLF line terminators\n"
"\n"
msgstr ""
" $ file software.reg\n"
" software.reg: Little-endian UTF-16 Unicode text, with very long lines,\n"
" with CRLF line terminators\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:671
msgid "This file would need conversion before you could I<--merge> it."
msgstr "This file would need conversion before you could I<--merge> it."

#. type: =head1
#: ../tools/virt-win-reg:673
msgid "CurrentControlSet etc."
msgstr "CurrentControlSet etc."

#. type: textblock
#: ../tools/virt-win-reg:675
msgid ""
"Registry keys like C<CurrentControlSet> don’t really exist in the Windows "
"Registry at the level of the hive file, and therefore you cannot modify "
"these."
msgstr ""

#. type: textblock
#: ../tools/virt-win-reg:679
msgid ""
"C<CurrentControlSet> is usually an alias for C<ControlSet001>.  In some "
"circumstances it might refer to another control set.  The way to find out is "
"to look at the C<HKLM\\SYSTEM\\Select> key:"
msgstr ""
"C<CurrentControlSet> is usually an alias for C<ControlSet001>.  In some "
"circumstances it might refer to another control set.  The way to find out is "
"to look at the C<HKLM\\SYSTEM\\Select> key:"

#. type: verbatim
#: ../tools/virt-win-reg:683
#, no-wrap
msgid ""
" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n"
" [HKEY_LOCAL_MACHINE\\SYSTEM\\Select]\n"
" \"Current\"=dword:00000001\n"
" \"Default\"=dword:00000001\n"
" \"Failed\"=dword:00000000\n"
" \"LastKnownGood\"=dword:00000002\n"
"\n"
msgstr ""
" # virt-win-reg WindowsGuest 'HKLM\\SYSTEM\\Select'\n"
" [HKEY_LOCAL_MACHINE\\SYSTEM\\Select]\n"
" \"Current\"=dword:00000001\n"
" \"Default\"=dword:00000001\n"
" \"Failed\"=dword:00000000\n"
" \"LastKnownGood\"=dword:00000002\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:690
msgid "\"Current\" is the one which Windows will choose when it boots."
msgstr "\"Current\" is the one which Windows will choose when it boots."

#. type: textblock
#: ../tools/virt-win-reg:692
msgid ""
"Similarly, other C<Current...> keys in the path may need to be replaced."
msgstr ""
"Similarly, other C<Current...> keys in the path may need to be replaced."

#. type: =head1
#: ../tools/virt-win-reg:695
msgid "DELETING REGISTRY KEYS AND VALUES"
msgstr "DELETING REGISTRY KEYS AND VALUES"

#. type: textblock
#: ../tools/virt-win-reg:697
msgid "To delete a whole registry key, use the syntax:"
msgstr "To delete a whole registry key, use the syntax:"

#. type: verbatim
#: ../tools/virt-win-reg:699
#, no-wrap
msgid ""
" [-HKEY_LOCAL_MACHINE\\Foo]\n"
"\n"
msgstr ""
" [-HKEY_LOCAL_MACHINE\\Foo]\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:701
msgid "To delete a single value within a key, use the syntax:"
msgstr "To delete a single value within a key, use the syntax:"

#. type: verbatim
#: ../tools/virt-win-reg:703
#, no-wrap
msgid ""
" [HKEY_LOCAL_MACHINE\\Foo]\n"
" \"Value\"=-\n"
"\n"
msgstr ""
" [HKEY_LOCAL_MACHINE\\Foo]\n"
" \"Value\"=-\n"
"\n"

#. type: =head1
#: ../tools/virt-win-reg:706
msgid "WINDOWS TIPS"
msgstr "WINDOWS TIPS"

#. type: textblock
#: ../tools/virt-win-reg:708
msgid ""
"Note that some of these tips modify the guest disk image.  The guest I<must> "
"be shut off, else you will get disk corruption."
msgstr ""
"Note that some of these tips modify the guest disk image.  The guest I<must> "
"be shut off, else you will get disk corruption."

#. type: =head2
#: ../tools/virt-win-reg:711
msgid "RUNNING A BATCH SCRIPT WHEN A USER LOGS IN"
msgstr "RUNNING A BATCH SCRIPT WHEN A USER LOGS IN"

#. type: textblock
#: ../tools/virt-win-reg:713
msgid ""
"Prepare a DOS batch script, VBScript or executable.  Upload this using "
"L<guestfish(1)>.  For this example the script is called C<test.bat> and it "
"is uploaded into C<C:\\>:"
msgstr ""
"Prepare a DOS batch script, VBScript or executable.  Upload this using "
"L<guestfish(1)>.  For this example the script is called C<test.bat> and it "
"is uploaded into C<C:\\>:"

#. type: verbatim
#: ../tools/virt-win-reg:717
#, no-wrap
msgid ""
" guestfish -i -d WindowsGuest upload test.bat /test.bat\n"
"\n"
msgstr ""
" guestfish -i -d WindowsGuest upload test.bat /test.bat\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:719
msgid "Prepare a regedit file containing the registry change:"
msgstr "Prepare a regedit file containing the registry change:"

#. type: verbatim
#: ../tools/virt-win-reg:721
#, no-wrap
msgid ""
" cat > test.reg <<'EOF'\n"
" [HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce]\n"
" \"Test\"=\"c:\\\\test.bat\"\n"
" EOF\n"
"\n"
msgstr ""
" cat > test.reg <<'EOF'\n"
" [HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce]\n"
" \"Test\"=\"c:\\\\test.bat\"\n"
" EOF\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:726
msgid ""
"In this example we use the key C<RunOnce> which means that the script will "
"run precisely once when the first user logs in.  If you want it to run every "
"time a user logs in, replace C<RunOnce> with C<Run>."
msgstr ""
"In this example we use the key C<RunOnce> which means that the script will "
"run precisely once when the first user logs in.  If you want it to run every "
"time a user logs in, replace C<RunOnce> with C<Run>."

#. type: textblock
#: ../tools/virt-win-reg:730
msgid "Now update the registry:"
msgstr "Now update the registry:"

#. type: verbatim
#: ../tools/virt-win-reg:732
#, no-wrap
msgid ""
" virt-win-reg --merge WindowsGuest test.reg\n"
"\n"
msgstr ""
" virt-win-reg --merge WindowsGuest test.reg\n"
"\n"

#. type: =head2
#: ../tools/virt-win-reg:734
msgid "INSTALLING A SERVICE"
msgstr "INSTALLING A SERVICE"

#. type: textblock
#: ../tools/virt-win-reg:736
msgid ""
"This section assumes you are familiar with Windows services, and you either "
"have a program which handles the Windows Service Control Protocol directly "
"or you want to run any program using a service wrapper like SrvAny or the "
"free RHSrvAny."
msgstr ""
"This section assumes you are familiar with Windows services, and you either "
"have a program which handles the Windows Service Control Protocol directly "
"or you want to run any program using a service wrapper like SrvAny or the "
"free RHSrvAny."

#. type: textblock
#: ../tools/virt-win-reg:741
msgid ""
"First upload the program and optionally the service wrapper.  In this case "
"the test program is called C<test.exe> and we are using the RHSrvAny wrapper:"
msgstr ""
"First upload the program and optionally the service wrapper.  In this case "
"the test program is called C<test.exe> and we are using the RHSrvAny wrapper:"

#. type: verbatim
#: ../tools/virt-win-reg:745
#, no-wrap
msgid ""
" guestfish -i -d WindowsGuest <<EOF\n"
"   upload rhsrvany.exe /rhsrvany.exe\n"
"   upload test.exe /test.exe\n"
" EOF\n"
"\n"
msgstr ""
" guestfish -i -d WindowsGuest <<EOF\n"
"   upload rhsrvany.exe /rhsrvany.exe\n"
"   upload test.exe /test.exe\n"
" EOF\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:750
msgid ""
"Prepare a regedit file containing the registry changes.  In this example, "
"the first registry change is needed for the service itself or the service "
"wrapper (if used).  The second registry change is only needed because I am "
"using the RHSrvAny service wrapper."
msgstr ""
"Prepare a regedit file containing the registry changes.  In this example, "
"the first registry change is needed for the service itself or the service "
"wrapper (if used).  The second registry change is only needed because I am "
"using the RHSrvAny service wrapper."

#. type: verbatim
#: ../tools/virt-win-reg:755
#, no-wrap
msgid ""
" cat > service.reg <<'EOF'\n"
" [HKLM\\SYSTEM\\ControlSet001\\services\\RHSrvAny]\n"
" \"Type\"=dword:00000010\n"
" \"Start\"=dword:00000002\n"
" \"ErrorControl\"=dword:00000001\n"
" \"ImagePath\"=\"c:\\\\rhsrvany.exe\"\n"
" \"DisplayName\"=\"RHSrvAny\"\n"
" \"ObjectName\"=\"NetworkService\"\n"
" \n"
msgstr ""
" cat > service.reg <<'EOF'\n"
" [HKLM\\SYSTEM\\ControlSet001\\services\\RHSrvAny]\n"
" \"Type\"=dword:00000010\n"
" \"Start\"=dword:00000002\n"
" \"ErrorControl\"=dword:00000001\n"
" \"ImagePath\"=\"c:\\\\rhsrvany.exe\"\n"
" \"DisplayName\"=\"RHSrvAny\"\n"
" \"ObjectName\"=\"NetworkService\"\n"
" \n"

#. type: verbatim
#: ../tools/virt-win-reg:764
#, no-wrap
msgid ""
" [HKLM\\SYSTEM\\ControlSet001\\services\\RHSrvAny\\Parameters]\n"
" \"CommandLine\"=\"c:\\\\test.exe\"\n"
" \"PWD\"=\"c:\\\\Temp\"\n"
" EOF\n"
"\n"
msgstr ""
" [HKLM\\SYSTEM\\ControlSet001\\services\\RHSrvAny\\Parameters]\n"
" \"CommandLine\"=\"c:\\\\test.exe\"\n"
" \"PWD\"=\"c:\\\\Temp\"\n"
" EOF\n"
"\n"

#. type: textblock
#: ../tools/virt-win-reg:775
msgid ""
"For use of C<ControlSet001> see the section above in this manual page.  You "
"may need to adjust this according to the control set that is in use by the "
"guest."
msgstr ""
"For use of C<ControlSet001> see the section above in this manual page.  You "
"may need to adjust this according to the control set that is in use by the "
"guest."

#. type: textblock
#: ../tools/virt-win-reg:781
msgid ""
"C<\"ObjectName\"> controls the privileges that the service will have.  An "
"alternative is C<\"ObjectName\"=\"LocalSystem\"> which would be the most "
"privileged account."
msgstr ""
"C<\"ObjectName\"> controls the privileges that the service will have.  An "
"alternative is C<\"ObjectName\"=\"LocalSystem\"> which would be the most "
"privileged account."

#. type: textblock
#: ../tools/virt-win-reg:787
msgid ""
"For the meaning of the magic numbers, see this Microsoft KB article: "
"L<http://support.microsoft.com/kb/103000>."
msgstr ""
"For the meaning of the magic numbers, see this Microsoft KB article: "
"L<http://support.microsoft.com/kb/103000>."

#. type: textblock
#: ../tools/virt-win-reg:792
msgid "Update the registry:"
msgstr "Update the registry:"

#. type: verbatim
#: ../tools/virt-win-reg:794
#, no-wrap
msgid ""
" virt-win-reg --merge WindowsGuest service.reg\n"
"\n"
msgstr ""
" virt-win-reg --merge WindowsGuest service.reg\n"
"\n"

#. type: =head1
#: ../tools/virt-win-reg:796
msgid "SHELL QUOTING"
msgstr "SHELL QUOTING"

#. type: textblock
#: ../tools/virt-win-reg:798
msgid ""
"Be careful when passing parameters containing C<\\> (backslash) in the "
"shell.  Usually you will have to use 'single quotes' or double backslashes "
"(but not both) to protect them from the shell."
msgstr ""
"Be careful when passing parameters containing C<\\> (backslash) in the "
"shell.  Usually you will have to use 'single quotes' or double backslashes "
"(but not both) to protect them from the shell."

#. type: textblock
#: ../tools/virt-win-reg:802
msgid "Paths and value names are case-insensitive."
msgstr "Paths and value names are case-insensitive."

#. type: textblock
#: ../tools/virt-win-reg:806
msgid ""
"L<hivex(3)>, L<hivexsh(1)>, L<hivexregedit(1)>, L<guestfs(3)>, "
"L<guestfish(1)>, L<virt-cat(1)>, L<virt-tail(1)>, L<Sys::Guestfs(3)>, L<Win::"
"Hivex(3)>, L<Win::Hivex::Regedit(3)>, L<Sys::Virt(3)>, L<http://libguestfs."
"org/>."
msgstr ""

#. type: textblock
#: ../tools/virt-win-reg:825
msgid "Copyright (C) 2010 Red Hat Inc."
msgstr "Copyright (C) 2010 Red Hat Inc."

#~ msgid "RHEL 5"
#~ msgstr "RHEL 5"

#~ msgid ""
#~ "The version shipped in official RHEL 5 is very old and should not be used "
#~ "except in conjunction with virt-v2v.  Use the up-to-date libguestfs 1.20 "
#~ "package in EPEL 5: L<https://fedoraproject.org/wiki/EPEL>"
#~ msgstr ""
#~ "The version shipped in official RHEL 5 is very old and should not be used "
#~ "except in conjunction with virt-v2v.  Use the up-to-date libguestfs 1.20 "
#~ "package in EPEL 5: L<https://fedoraproject.org/wiki/EPEL>"

#~ msgid ""
#~ "<script> document.body.style.backgroundImage = \"url('draft.png')\"; "
#~ "document.body.style.backgroundRepeat = \"no-repeat\"; </script>"
#~ msgstr ""
#~ "<script> document.body.style.backgroundImage = \"url('draft.png')\"; "
#~ "document.body.style.backgroundRepeat = \"no-repeat\"; </script>"

#~ msgid ""
#~ "comment ################################################################"
#~ msgstr ""
#~ "comment ################################################################"

#~ msgid "Release notes for libguestfs 1.10.0"
#~ msgstr "Release notes for libguestfs 1.10.0"

#~ msgid "Release notes for libguestfs 1.8"
#~ msgstr "Release notes for libguestfs 1.8"

#~ msgid "__PREPOPTS__"
#~ msgstr "__PREPOPTS__"

#~ msgid "__FISH_COMMANDS__"
#~ msgstr "__FISH_COMMANDS__"
